initial commit

master
Herwig Birke 6 years ago
parent 9d52bae43e
commit f0b072ead1

@ -11,9 +11,6 @@ public class episodeData
private String m_episodeGuestStars;
private String m_episodeOverview;
private String m_episodeProductionCode;
private int m_seasonNumber;
private int m_seasonID;
private int m_seriesID;
private String m_episodeStillPath;
private double m_episodeVoteAverage;
private int m_episodeVoteCount;
@ -22,6 +19,8 @@ public class episodeData
private serieData m_serie;
private seasonData m_season;
private final serieDataSource ds = serieDataSource.INSTANCE;
public int getEpisodeID()
{
return m_episodeID;
@ -92,36 +91,6 @@ public class episodeData
m_episodeProductionCode = episodeProductionCode;
}
public int getSeasonNumber()
{
return m_seasonNumber;
}
public void setSeasonNumber(int seasonNumber)
{
m_seasonNumber = seasonNumber;
}
public int getSeasonID()
{
return m_seasonID;
}
public void setSeasonID(int seasonID)
{
m_seasonID = seasonID;
}
public int getSeriesID()
{
return m_seriesID;
}
public void setSeriesID(int seriesID)
{
m_seriesID = seriesID;
}
public String getEpisodeStillPath()
{
return m_episodeStillPath;
@ -194,11 +163,14 @@ public class episodeData
public boolean save()
{
/*
try
{
Statement stmt = ds.getStatement();
stmt.execute("DELETE FROM serie WHERE seriesID=" + m_seriesID + ";");
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
stmt.execute("DELETE FROM episode WHERE id=" + m_episodeID + ";");
PreparedStatement ps = prepareStatement(conn);
save(ps);
}
catch(SQLException e)
{
@ -210,87 +182,30 @@ public class episodeData
ds.close();
}
return true;
}
public boolean save(PreparedStatement ps)
{
try
{
Connection conn = ds.getConnection();
PreparedStatement ps = conn.prepareStatement("INSERT INTO serie (" +
"seriesID, " +
"seriesName, " +
"originalName, " +
"backdropPath, " +
"createdBy, " +
"homepage, " +
"lastAired, " +
"languages, " +
"networks, " +
"nrEpisodes, " +
"nrSeasons, " +
"originCountries, " +
"originalLanguage, " +
"popularity, " +
"posterPath, " +
"productionCompanies, " +
"type, " +
"voteAverage, " +
"voteCount, " +
"overview, " +
"firstAired, " +
"cast, " +
"crew, " +
"genre, " +
"imdbid, " +
"freebasemid, " +
"freebaseid, " +
"tvdbid, " +
"tvrageid, " +
"status, " +
"download, " +
"localPath, " +
"resolution, " +
"cliffhanger" +
") VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"
);
ps.setInt(1, m_seriesID);
ps.setString(2, m_seriesName);
ps.setString(3, m_seriesOriginalName);
ps.setString(4, m_seriesBackdrop);
ps.setString(5, m_seriesCreatedBy);
ps.setString(6, m_seriesHomepage);
ps.setDate(7, m_seriesLastAired);
ps.setString(8, m_seriesLanguages);
ps.setString(9, m_seriesNetworks);
ps.setInt(10, m_seriesNrEpisodes);
ps.setInt(11, m_seriesNrSeasons);
ps.setString(12, m_seriesOriginCountries);
ps.setString(13, m_seriesOriginalLanguage);
ps.setDouble(14, m_seriesPopularity);
ps.setString(15, m_seriesPoster);
ps.setString(16, m_seriesProductionCompanies);
ps.setString(17, m_seriesType);
ps.setDouble(18, m_seriesVoteAverage);
ps.setInt(19, m_seriesVoteCount);
ps.setString(20, m_seriesOverview);
ps.setDate(21, m_seriesFirstAired);
ps.setString(22, m_seriesCast);
ps.setString(23, m_seriesCrew);
ps.setString(24, m_seriesGenre);
ps.setString(25, m_seriesIMDBID);
ps.setString(26, m_seriesFreebaseMID);
ps.setString(27, m_seriesFreebaseID);
ps.setString(28, m_seriesTVDBID);
ps.setString(29, m_seriesTVRageID);
ps.setString(30, m_seriesStatus);
ps.setString(31, m_seriesDownload);
ps.setString(32, m_seriesLocalPath);
ps.setString(33, m_seriesResolution);
ps.setBoolean(34, m_seriesCliffhanger);
ps.setInt(1, m_episodeID);
ps.setString(2, m_episodeName);
ps.setInt(3, m_episodeNumber);
ps.setDate(4, m_episodeAirDate);
ps.setString(5, m_episodeGuestStars);
ps.setString(6, m_episodeOverview);
ps.setString(7, m_episodeProductionCode);
ps.setInt(8, m_season.getSeasonNumber());
ps.setInt(9, m_season.getSeasonID());
ps.setInt(10, m_serie.getSeriesID());
ps.setString(11, m_episodeStillPath);
ps.setDouble(12, m_episodeVoteAverage);
ps.setInt(13, m_episodeVoteCount);
ps.setString(14, m_episodeCrew);
ps.setInt(15, m_episodeState);
boolean ret = ps.execute();
for(int season : getSeasons().keySet())
{
getSeasons().get(season).save();
}
}
catch(SQLException e)
{
@ -299,9 +214,32 @@ public class episodeData
}
finally
{
ds.close();
}
*/
return true;
}
public PreparedStatement prepareStatement(Connection conn) throws SQLException
{
PreparedStatement ps = conn.prepareStatement("INSERT INTO episode (" +
"id, " +
"name, " +
"episodeNumber, " +
"airDate, " +
"guestStars, " +
"overview, " +
"productioncode, " +
"seasonNumber, " +
"seasonID, " +
"seriesID, " +
"stillPath, " +
"voteAverage, " +
"voteCount, " +
"crew, " +
"state " +
") VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"
);
return ps;
}
}

@ -16,6 +16,8 @@ public class seasonData
private serieData m_serie;
private SortedMap<Integer, episodeData> m_episodes = new TreeMap<>();
private final serieDataSource ds = serieDataSource.INSTANCE;
public seasonData()
{
}
@ -127,11 +129,15 @@ public class seasonData
public boolean save()
{
/*
try
{
Statement stmt = ds.getStatement();
stmt.execute("DELETE FROM serie WHERE seriesID=" + m_seriesID + ";");
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
stmt.execute("DELETE FROM season WHERE id=" + m_seasonID + ";");
PreparedStatement ps = prepareStatement(conn);
save(ps);
}
catch(SQLException e)
{
@ -143,86 +149,32 @@ public class seasonData
ds.close();
}
return true;
}
public boolean save(PreparedStatement ps)
{
try
{
Connection conn = ds.getConnection();
PreparedStatement ps = conn.prepareStatement("INSERT INTO serie (" +
"seriesID, " +
"seriesName, " +
"originalName, " +
"backdropPath, " +
"createdBy, " +
"homepage, " +
"lastAired, " +
"languages, " +
"networks, " +
"nrEpisodes, " +
"nrSeasons, " +
"originCountries, " +
"originalLanguage, " +
"popularity, " +
"posterPath, " +
"productionCompanies, " +
"type, " +
"voteAverage, " +
"voteCount, " +
"overview, " +
"firstAired, " +
"cast, " +
"crew, " +
"genre, " +
"imdbid, " +
"freebasemid, " +
"freebaseid, " +
"tvdbid, " +
"tvrageid, " +
"status, " +
"download, " +
"localPath, " +
"resolution, " +
"cliffhanger" +
") VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);"
);
ps.setInt(1, m_seriesID);
ps.setString(2, m_seriesName);
ps.setString(3, m_seriesOriginalName);
ps.setString(4, m_seriesBackdrop);
ps.setString(5, m_seriesCreatedBy);
ps.setString(6, m_seriesHomepage);
ps.setDate(7, m_seriesLastAired);
ps.setString(8, m_seriesLanguages);
ps.setString(9, m_seriesNetworks);
ps.setInt(10, m_seriesNrEpisodes);
ps.setInt(11, m_seriesNrSeasons);
ps.setString(12, m_seriesOriginCountries);
ps.setString(13, m_seriesOriginalLanguage);
ps.setDouble(14, m_seriesPopularity);
ps.setString(15, m_seriesPoster);
ps.setString(16, m_seriesProductionCompanies);
ps.setString(17, m_seriesType);
ps.setDouble(18, m_seriesVoteAverage);
ps.setInt(19, m_seriesVoteCount);
ps.setString(20, m_seriesOverview);
ps.setDate(21, m_seriesFirstAired);
ps.setString(22, m_seriesCast);
ps.setString(23, m_seriesCrew);
ps.setString(24, m_seriesGenre);
ps.setString(25, m_seriesIMDBID);
ps.setString(26, m_seriesFreebaseMID);
ps.setString(27, m_seriesFreebaseID);
ps.setString(28, m_seriesTVDBID);
ps.setString(29, m_seriesTVRageID);
ps.setString(30, m_seriesStatus);
ps.setString(31, m_seriesDownload);
ps.setString(32, m_seriesLocalPath);
ps.setString(33, m_seriesResolution);
ps.setBoolean(34, m_seriesCliffhanger);
ps.setString(1, m_season_ID);
ps.setDate(2, m_seasonAirDate);
ps.setString(3, m_seasonName);
ps.setString(4, m_seasonOverview);
ps.setInt(5, m_seasonID);
ps.setString(6, m_seasonPosterPath);
ps.setInt(7, m_seasonNumber);
ps.setInt(8, m_serie.getSeriesID());
boolean ret = ps.execute();
for(int season : getSeasons().keySet())
if(m_episodes.size() > 0)
{
getSeasons().get(season).save();
PreparedStatement psEpisode = getEpisodes().get(getEpisodes().firstKey()).prepareStatement(ps.getConnection());
for(int episode : getEpisodes().keySet())
{
getEpisodes().get(episode).save(psEpisode);
}
}
}
catch(SQLException e)
@ -232,15 +184,26 @@ public class seasonData
}
finally
{
ds.close();
}
*/
for(int episode : getEpisodes().keySet())
{
getEpisodes().get(episode).save();
}
return true;
}
public PreparedStatement prepareStatement(Connection conn) throws SQLException
{
PreparedStatement ps = conn.prepareStatement("INSERT INTO season (" +
"_id, " +
"airDate, " +
"name, " +
"overview, " +
"id, " +
"posterPath, " +
"seasonNumber, " +
"seriesID " +
") VALUES (?,?,?,?,?,?,?,?);"
);
return ps;
}
}

@ -1,5 +1,7 @@
package at.windesign.application.serie;
import org.zkoss.zul.ListModelList;
import java.sql.*;
import java.util.Objects;
import java.util.SortedMap;
@ -42,6 +44,7 @@ class serieData
private String m_seriesResolution;
private boolean m_seriesCliffhanger;
private SortedMap<Integer, seasonData> m_seasons = new TreeMap<>();
private ListModelList m_model;
private int m_stateInit;
private int m_stateProg;
@ -466,6 +469,46 @@ class serieData
m_stateDone++;
}
public ListModelList getModel()
{
return m_model;
}
public void setModel(ListModelList model)
{
m_model = model;
}
public void recalcState()
{
m_stateInit = 0;
m_stateProg = 0;
m_stateDone = 0;
for(int season : m_seasons.keySet())
{
seasonData sData = m_seasons.get(season);
for(int episode : sData.getEpisodes().keySet())
{
episodeData eData = sData.getEpisodes().get(episode);
switch(eData.getEpisodeState())
{
case 1:
m_stateInit++;
break;
case 2:
m_stateProg++;
break;
case 3:
m_stateDone++;
break;
}
}
}
}
public void setEpisodeState(int season, int episode, int state)
{
seasonData sData = m_seasons.get(season);
@ -504,22 +547,10 @@ class serieData
{
try
{
Statement stmt = ds.getStatement();
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
stmt.execute("DELETE FROM serie WHERE seriesID=" + m_seriesID + ";");
}
catch(SQLException e)
{
e.printStackTrace();
return false;
}
finally
{
ds.close();
}
try
{
Connection conn = ds.getConnection();
PreparedStatement ps = conn.prepareStatement("INSERT INTO serie (" +
"seriesID, " +
"seriesName, " +
@ -594,9 +625,17 @@ class serieData
boolean ret = ps.execute();
for(int season : getSeasons().keySet())
stmt.execute("DELETE FROM season WHERE seriesID=" + m_seriesID + ";");
stmt.execute("DELETE FROM episode WHERE seriesID=" + m_seriesID + ";");
if(m_seasons.size() > 0)
{
getSeasons().get(season).save();
ps = getSeasons().get(getSeasons().firstKey()).prepareStatement(conn);
for(int season : getSeasons().keySet())
{
getSeasons().get(season).save(ps);
}
}
}
catch(SQLException e)
@ -608,6 +647,7 @@ class serieData
{
ds.close();
}
return true;
}
}

@ -68,6 +68,8 @@ public class serieDetailsForwardComposer extends GenericForwardComposer<Componen
protected Button deleteButton;
private serieData m_serie;
private Listitem m_item;
private Listitem m_list;
protected TreeMap<String, Radiogroup> radioGroups = new TreeMap<>();
@ -90,7 +92,13 @@ public class serieDetailsForwardComposer extends GenericForwardComposer<Componen
else
detailsSerie.detach();
if(arg.containsKey("item"))
m_item = (Listitem) arg.get("item");
else
detailsSerie.detach();
detailsSerie.setAttribute("serie", m_serie);
detailsSerie.setAttribute("item", m_item);
if(m_serie.getSeriesBackdrop() != null)
{
@ -120,9 +128,9 @@ public class serieDetailsForwardComposer extends GenericForwardComposer<Componen
Statement stmt = ds.getStatement();
ResultSet rs = stmt.executeQuery(
"SELECT resolution" +
" FROM resolution" +
" ORDER BY sort;"
);
" FROM resolution" +
" ORDER BY sort;"
);
while(rs.next())
{
@ -226,7 +234,7 @@ public class serieDetailsForwardComposer extends GenericForwardComposer<Componen
}
String styleString = "display: grid; " +
"grid-template-areas: \"a ";
"grid-template-areas: \"a ";
for(int i = 0; i < maxEpisode; i++)
styleString += "a ";

@ -33,9 +33,18 @@ public class serieDetailsSelectorComposer extends SelectorComposer<Component>
public void save()
{
serieData serie = getCurrentValues();
// serie.save();
serie.recalcState();
serie.save();
Listitem item = (Listitem) detailsSerie.getAttribute("item");
serieData serie1 = (serieData) detailsSerie.getAttribute("serie");
ListModelList model = serie1.getModel();
int index = item.getIndex();
serie.setModel(model);
model.remove(index);
model.add(index, serie);
alert("Data Saved!");
detailsSerie.onClose();
}
@ -104,8 +113,8 @@ public class serieDetailsSelectorComposer extends SelectorComposer<Component>
{
Radiogroup group = (Radiogroup) comp;
int episode = Integer.parseInt(id.substring(id.indexOf("_") + 1));
int state = group.getSelectedIndex()+1;
int episode = Integer.parseInt(id.substring(id.indexOf("_") + 1));
int state = group.getSelectedIndex() + 1;
serie.setEpisodeState(season, episode, state);
}

@ -54,6 +54,7 @@ public class serieListForwardComposer extends GenericForwardComposer
seriesListModel = new ListModelList();
seriesList.setModel(seriesListModel);
seriesList.setAttribute("listModelList", seriesListModel);
Listhead head = seriesList.getListhead();
Listheader seriesName = new Listheader("Series Name");
@ -255,7 +256,10 @@ public class serieListForwardComposer extends GenericForwardComposer
}
for(serieData serie : serieList)
{
seriesListModel.add(serie);
serie.setModel(seriesListModel);
}
for(int i = minSeason; i <= maxSeason; i++)
{

@ -1,13 +1,12 @@
package at.windesign.application.serie;
import org.zkoss.zhtml.Li;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.select.SelectorComposer;
import org.zkoss.zk.ui.select.annotation.Listen;
import org.zkoss.zk.ui.select.annotation.Wire;
import org.zkoss.zul.Listbox;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.Window;
import org.zkoss.zul.*;
import java.util.HashMap;
import java.util.Map;
@ -30,6 +29,7 @@ public class serieListSelectorComposer extends SelectorComposer<Component>
Map<String, Object> arguments = new HashMap<String, Object>();
arguments.put("serie", s);
arguments.put("item", item);
String template = "/serie/detailsSerie.zul";
Window window = (Window) Executions.createComponents(template, null, arguments);

Loading…
Cancel
Save