initial commit
This commit is contained in:
@@ -1,76 +1,182 @@
|
||||
package at.windesign.application.serie;
|
||||
|
||||
import java.sql.Date;
|
||||
import java.sql.*;
|
||||
|
||||
public class episodeData
|
||||
{
|
||||
private int m_episodeID;
|
||||
private int m_episodeNumber;
|
||||
private String m_episodeName;
|
||||
private Date m_episodeAirDate;
|
||||
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;
|
||||
private String m_episodeCrew;
|
||||
private int m_episodeState;
|
||||
private serieData m_serie;
|
||||
private int m_episodeID;
|
||||
private int m_episodeNumber;
|
||||
private String m_episodeName;
|
||||
private Date m_episodeAirDate;
|
||||
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;
|
||||
private String m_episodeCrew;
|
||||
private int m_episodeState;
|
||||
private serieData m_serie;
|
||||
private seasonData m_season;
|
||||
|
||||
public int getEpisodeID() { return m_episodeID; }
|
||||
public void setEpisodeID(int episodeID) { m_episodeID = episodeID; }
|
||||
public int getEpisodeID()
|
||||
{
|
||||
return m_episodeID;
|
||||
}
|
||||
|
||||
public int getEpisodeNumber() { return m_episodeNumber; }
|
||||
public void setEpisodeNumber(int episodeNumber) { m_episodeNumber = episodeNumber; }
|
||||
public void setEpisodeID(int episodeID)
|
||||
{
|
||||
m_episodeID = episodeID;
|
||||
}
|
||||
|
||||
public String getEpisodeName() { return m_episodeName; }
|
||||
public void setEpisodeName(String episodeName) { m_episodeName = episodeName; }
|
||||
public int getEpisodeNumber()
|
||||
{
|
||||
return m_episodeNumber;
|
||||
}
|
||||
|
||||
public Date getEpisodeAirDate() { return m_episodeAirDate; }
|
||||
public void setEpisodeAirDate(Date episodeAirDate) { m_episodeAirDate = episodeAirDate; }
|
||||
public void setEpisodeNumber(int episodeNumber)
|
||||
{
|
||||
m_episodeNumber = episodeNumber;
|
||||
}
|
||||
|
||||
public String getEpisodeGuestStars() { return m_episodeGuestStars; }
|
||||
public void setEpisodeGuestStars(String episodeGuestStars) { m_episodeGuestStars = episodeGuestStars; }
|
||||
public String getEpisodeName()
|
||||
{
|
||||
return m_episodeName;
|
||||
}
|
||||
|
||||
public String getEpisodeOverview() { return m_episodeOverview; }
|
||||
public void setEpisodeOverview(String episodeOverview) { m_episodeOverview = episodeOverview; }
|
||||
public void setEpisodeName(String episodeName)
|
||||
{
|
||||
m_episodeName = episodeName;
|
||||
}
|
||||
|
||||
public String getEpisodeProductionCode() { return m_episodeProductionCode; }
|
||||
public void setEpisodeProductionCode(String episodeProductionCode) { m_episodeProductionCode = episodeProductionCode; }
|
||||
public Date getEpisodeAirDate()
|
||||
{
|
||||
return m_episodeAirDate;
|
||||
}
|
||||
|
||||
public int getSeasonNumber() { return m_seasonNumber; }
|
||||
public void setSeasonNumber(int seasonNumber) { m_seasonNumber = seasonNumber; }
|
||||
public void setEpisodeAirDate(Date episodeAirDate)
|
||||
{
|
||||
m_episodeAirDate = episodeAirDate;
|
||||
}
|
||||
|
||||
public int getSeasonID() { return m_seasonID; }
|
||||
public void setSeasonID(int seasonID) { m_seasonID = seasonID; }
|
||||
public String getEpisodeGuestStars()
|
||||
{
|
||||
return m_episodeGuestStars;
|
||||
}
|
||||
|
||||
public int getSeriesID() { return m_seriesID; }
|
||||
public void setSeriesID(int seriesID) { m_seriesID = seriesID; }
|
||||
public void setEpisodeGuestStars(String episodeGuestStars)
|
||||
{
|
||||
m_episodeGuestStars = episodeGuestStars;
|
||||
}
|
||||
|
||||
public String getEpisodeStillPath() { return m_episodeStillPath; }
|
||||
public void setEpisodeStillPath(String episodeStillPath) { m_episodeStillPath = episodeStillPath; }
|
||||
public String getEpisodeOverview()
|
||||
{
|
||||
return m_episodeOverview;
|
||||
}
|
||||
|
||||
public double getEpisodeVoteAverage() { return m_episodeVoteAverage; }
|
||||
public void setEpisodeVoteAverage(double episodeVoteAverage) { m_episodeVoteAverage = episodeVoteAverage; }
|
||||
public void setEpisodeOverview(String episodeOverview)
|
||||
{
|
||||
m_episodeOverview = episodeOverview;
|
||||
}
|
||||
|
||||
public int getEpisodeVoteCount() { return m_episodeVoteCount; }
|
||||
public void setEpisodeVoteCount(int episodeVoteCount) { m_episodeVoteCount = episodeVoteCount; }
|
||||
public String getEpisodeProductionCode()
|
||||
{
|
||||
return m_episodeProductionCode;
|
||||
}
|
||||
|
||||
public String getEpisodeCrew() { return m_episodeCrew; }
|
||||
public void setEpisodeCrew(String episodeCrew) { m_episodeCrew = episodeCrew; }
|
||||
public void setEpisodeProductionCode(String episodeProductionCode)
|
||||
{
|
||||
m_episodeProductionCode = episodeProductionCode;
|
||||
}
|
||||
|
||||
public int getEpisodeState() { return m_episodeState; }
|
||||
public void setEpisodeState(int episodeState) { m_episodeState = episodeState; }
|
||||
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;
|
||||
}
|
||||
|
||||
public void setEpisodeStillPath(String episodeStillPath)
|
||||
{
|
||||
m_episodeStillPath = episodeStillPath;
|
||||
}
|
||||
|
||||
public double getEpisodeVoteAverage()
|
||||
{
|
||||
return m_episodeVoteAverage;
|
||||
}
|
||||
|
||||
public void setEpisodeVoteAverage(double episodeVoteAverage)
|
||||
{
|
||||
m_episodeVoteAverage = episodeVoteAverage;
|
||||
}
|
||||
|
||||
public int getEpisodeVoteCount()
|
||||
{
|
||||
return m_episodeVoteCount;
|
||||
}
|
||||
|
||||
public void setEpisodeVoteCount(int episodeVoteCount)
|
||||
{
|
||||
m_episodeVoteCount = episodeVoteCount;
|
||||
}
|
||||
|
||||
public String getEpisodeCrew()
|
||||
{
|
||||
return m_episodeCrew;
|
||||
}
|
||||
|
||||
public void setEpisodeCrew(String episodeCrew)
|
||||
{
|
||||
m_episodeCrew = episodeCrew;
|
||||
}
|
||||
|
||||
public int getEpisodeState()
|
||||
{
|
||||
return m_episodeState;
|
||||
}
|
||||
|
||||
public void setEpisodeState(int episodeState)
|
||||
{
|
||||
m_episodeState = episodeState;
|
||||
}
|
||||
|
||||
public serieData getSerie()
|
||||
{
|
||||
return m_serie;
|
||||
}
|
||||
|
||||
public void setSerie(serieData serie)
|
||||
{
|
||||
m_serie = serie;
|
||||
@@ -80,8 +186,122 @@ public class episodeData
|
||||
{
|
||||
return m_season;
|
||||
}
|
||||
|
||||
public void setSeason(seasonData season)
|
||||
{
|
||||
m_season = season;
|
||||
}
|
||||
|
||||
public boolean save()
|
||||
{
|
||||
/*
|
||||
try
|
||||
{
|
||||
Statement stmt = ds.getStatement();
|
||||
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, " +
|
||||
"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);
|
||||
|
||||
boolean ret = ps.execute();
|
||||
|
||||
for(int season : getSeasons().keySet())
|
||||
{
|
||||
getSeasons().get(season).save();
|
||||
}
|
||||
}
|
||||
catch(SQLException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
finally
|
||||
{
|
||||
ds.close();
|
||||
}
|
||||
*/
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package at.windesign.application.serie;
|
||||
|
||||
import java.sql.Date;
|
||||
import java.sql.*;
|
||||
import java.util.SortedMap;
|
||||
import java.util.TreeMap;
|
||||
|
||||
@@ -114,4 +114,133 @@ public class seasonData
|
||||
{
|
||||
m_episodes.put(episode, data);
|
||||
}
|
||||
|
||||
public void setEpisodeState(int episode, int state)
|
||||
{
|
||||
episodeData eData = m_episodes.get(episode);
|
||||
|
||||
if(eData == null)
|
||||
return;
|
||||
|
||||
eData.setEpisodeState(state);
|
||||
}
|
||||
|
||||
public boolean save()
|
||||
{
|
||||
/*
|
||||
try
|
||||
{
|
||||
Statement stmt = ds.getStatement();
|
||||
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, " +
|
||||
"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);
|
||||
|
||||
boolean ret = ps.execute();
|
||||
|
||||
for(int season : getSeasons().keySet())
|
||||
{
|
||||
getSeasons().get(season).save();
|
||||
}
|
||||
}
|
||||
catch(SQLException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
finally
|
||||
{
|
||||
ds.close();
|
||||
}
|
||||
*/
|
||||
|
||||
for(int episode : getEpisodes().keySet())
|
||||
{
|
||||
getEpisodes().get(episode).save();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -466,6 +466,16 @@ class serieData
|
||||
m_stateDone++;
|
||||
}
|
||||
|
||||
public void setEpisodeState(int season, int episode, int state)
|
||||
{
|
||||
seasonData sData = m_seasons.get(season);
|
||||
|
||||
if(sData == null)
|
||||
return;
|
||||
|
||||
sData.setEpisodeState(episode, state);
|
||||
}
|
||||
|
||||
public String getSeriesStyle()
|
||||
{
|
||||
String style = "";
|
||||
@@ -583,44 +593,11 @@ class serieData
|
||||
ps.setBoolean(34, m_seriesCliffhanger);
|
||||
|
||||
boolean ret = ps.execute();
|
||||
/*
|
||||
int cnt = stmt.executeUpdate(
|
||||
"UPDATE serie" +
|
||||
" SET seriesName='" + m_seriesName + "'," +
|
||||
" originalName='" + m_seriesOriginalName + "'," +
|
||||
" backdropPath='" + m_seriesBackdrop + "'," +
|
||||
" backdropPath='" + m_seriesCreatedBy + "'," +
|
||||
" backdropPath='" + m_seriesHomepage + "'," +
|
||||
" backdropPath='" + m_seriesLastAired + "'," +
|
||||
" backdropPath='" + m_seriesLanguages + "'," +
|
||||
" backdropPath='" + m_seriesNetworks + "'," +
|
||||
" backdropPath=" + m_seriesNrEpisodes + "," +
|
||||
" backdropPath=" + m_seriesNrSeasons + "," +
|
||||
" backdropPath='" + m_seriesOriginCountries + "'," +
|
||||
" backdropPath='" + m_seriesOriginalLanguage + "'," +
|
||||
" backdropPath=" + m_seriesPopularity + "," +
|
||||
" posterPath='" + m_seriesPoster + "'," +
|
||||
" posterPath='" + m_seriesProductionCompanies + "'," +
|
||||
" posterPath='" + m_seriesType + "'," +
|
||||
" posterPath=" + m_seriesVoteAverage + "," +
|
||||
" posterPath=" + m_seriesVoteCount + "," +
|
||||
" overview='" + m_seriesOverview + "'," +
|
||||
" firstAired='" + m_seriesFirstAired + "'," +
|
||||
" resolution='" + m_seriesCast + "'," +
|
||||
" resolution='" + m_seriesCrew + "'," +
|
||||
" resolution='" + m_seriesGenre + "'," +
|
||||
" resolution='" + m_seriesIMDBID + "'," +
|
||||
" resolution='" + m_seriesFreebaseMID + "'," +
|
||||
" resolution='" + m_seriesFreebaseID + "'," +
|
||||
" resolution='" + m_seriesTVDBID + "'," +
|
||||
" resolution='" + m_seriesTVRageID + "'," +
|
||||
" status='" + m_seriesStatus + "'," +
|
||||
" download='" + m_seriesDownload + "'," +
|
||||
" localPath='" + m_seriesLocalPath + "'," +
|
||||
" resolution='" + m_seriesResolution + "'," +
|
||||
" cliffhanger=" + m_seriesCliffhanger +
|
||||
" WHERE seriesID=" + m_seriesID + ";");
|
||||
*/
|
||||
|
||||
for(int season : getSeasons().keySet())
|
||||
{
|
||||
getSeasons().get(season).save();
|
||||
}
|
||||
}
|
||||
catch(SQLException e)
|
||||
{
|
||||
@@ -631,34 +608,6 @@ class serieData
|
||||
{
|
||||
ds.close();
|
||||
}
|
||||
/*
|
||||
"SELECT serie.seriesID seriesID," +
|
||||
" serie.seriesName seriesName," +
|
||||
" YEAR(serie.firstAired) seriesFirstAired," +
|
||||
" serie.resolution seriesResolution," +
|
||||
" serie.cliffhanger seriesCliffhanger," +
|
||||
" serie.status seriesStatus," +
|
||||
" serie.download seriesDownload," +
|
||||
" serie.localPath seriesLocalPath," +
|
||||
" serie.posterPath seriesPoster," +
|
||||
" serie.backdropPath seriesBackdrop," +
|
||||
" serie.overview seriesOverview," +
|
||||
" season.seasonNumber seasonNumber," +
|
||||
" episode.episodeNumber episodeNumber," +
|
||||
" episode.state episodeState," +
|
||||
" ( SELECT MIN(s.seasonNumber) FROM season s WHERE s.seriesID = serie.seriesID ) minSeason," +
|
||||
" ( SELECT MAX(s.seasonNumber) FROM season s WHERE s.seriesID = serie.seriesID ) maxSeason" +
|
||||
" FROM serie" +
|
||||
" LEFT JOIN season ON serie.seriesID = season.seriesID" +
|
||||
" LEFT JOIN episode ON serie.seriesID = episode.seriesID AND season.seasonNumber = episode.seasonNumber" +
|
||||
" WHERE season.seasonNumber != 0 OR" +
|
||||
" serie.seriesID >= 1000000" +
|
||||
" ORDER BY serie.seriesName," +
|
||||
" serie.firstAired," +
|
||||
" season.seasonNumber," +
|
||||
" episode.episodeNumber;"
|
||||
);
|
||||
*/
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,20 @@
|
||||
package at.windesign.application.serie;
|
||||
|
||||
import org.zkoss.image.AImage;
|
||||
import org.zkoss.image.Images;
|
||||
import org.zkoss.zk.ui.Component;
|
||||
import org.zkoss.zk.ui.event.Event;
|
||||
import org.zkoss.zk.ui.event.EventListener;
|
||||
import org.zkoss.zk.ui.select.annotation.Wire;
|
||||
import org.zkoss.zk.ui.util.GenericForwardComposer;
|
||||
import org.zkoss.zul.*;
|
||||
import org.zkoss.zul.Button;
|
||||
import org.zkoss.zul.Checkbox;
|
||||
import org.zkoss.zul.Label;
|
||||
import org.zkoss.zul.Window;
|
||||
|
||||
import java.awt.*;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.net.URL;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
@@ -60,6 +69,8 @@ public class serieDetailsForwardComposer extends GenericForwardComposer<Componen
|
||||
|
||||
private serieData m_serie;
|
||||
|
||||
protected TreeMap<String, Radiogroup> radioGroups = new TreeMap<>();
|
||||
|
||||
@Override
|
||||
public void doAfterCompose(Component comp) throws Exception
|
||||
{
|
||||
@@ -109,9 +120,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())
|
||||
{
|
||||
@@ -125,46 +136,50 @@ public class serieDetailsForwardComposer extends GenericForwardComposer<Componen
|
||||
resolution.setValue(m_serie.getSeriesResolution());
|
||||
cliffhanger.setChecked(m_serie.getSeriesCliffhanger());
|
||||
|
||||
for(int i = m_serie.getMinSeason(); i <= m_serie.getMaxSeason(); i++)
|
||||
for(int s = m_serie.getMinSeason(); s <= m_serie.getMaxSeason(); s++)
|
||||
{
|
||||
if(i < 1)
|
||||
if(s < 1)
|
||||
continue;
|
||||
|
||||
//addSeasonPanel(i, m_serie.getEpisodeState());
|
||||
addSeasonPanel(m_serie.getSeasons().get(s));
|
||||
}
|
||||
}
|
||||
|
||||
protected void addSeasonPanel(int season, SortedMap<Integer, Integer> state)
|
||||
protected void addSeasonPanel(seasonData season)
|
||||
{
|
||||
SortedMap<Integer, episodeData> episodes = season.getEpisodes();
|
||||
int seasonNumber = season.getSeasonNumber();
|
||||
|
||||
if(episodes.size() == 0)
|
||||
return;
|
||||
|
||||
int maxEpisode = 0;
|
||||
|
||||
Groupbox groupbox = new Groupbox();
|
||||
groupbox.setId("groupboxSeason" + season);
|
||||
groupbox.setId("groupboxSeason" + season.getSeasonNumber());
|
||||
groupbox.setStyle("opacity: " + opacity + "%;");
|
||||
groupbox.setContentStyle(" overflow: auto;");
|
||||
|
||||
Caption caption = new Caption();
|
||||
caption.setLabel("Season " + season);
|
||||
caption.setLabel("Season " + season.getSeasonNumber());
|
||||
groupbox.insertBefore(caption, null);
|
||||
|
||||
for(int key : state.keySet())
|
||||
for(int key : episodes.keySet())
|
||||
{
|
||||
int _season = key >> 8;
|
||||
int _episode = key & 0xFF;
|
||||
int _episode = key;
|
||||
|
||||
if(_season == season)
|
||||
{
|
||||
Radiogroup radiogroup = new Radiogroup();
|
||||
radiogroup.setName("radiogroupSeason" + _season + "_" + _episode);
|
||||
radiogroup.setId("radiogroupSeason" + _season + "_" + _episode);
|
||||
groupbox.insertBefore(radiogroup, null);
|
||||
Radiogroup radiogroup = new Radiogroup();
|
||||
radiogroup.setName("radiogroupSeason" + seasonNumber + "_" + _episode);
|
||||
radiogroup.setId("radiogroupSeason" + seasonNumber + "_" + _episode);
|
||||
|
||||
maxEpisode = _episode;
|
||||
}
|
||||
else if(_season > season)
|
||||
break;
|
||||
radioGroups.put("radiogroupSeason" + seasonNumber + "_" + _episode, radiogroup);
|
||||
|
||||
groupbox.insertBefore(radiogroup, null);
|
||||
|
||||
maxEpisode = _episode;
|
||||
}
|
||||
|
||||
|
||||
NoDOM nodom = new NoDOM();
|
||||
groupbox.insertBefore(nodom, null);
|
||||
|
||||
@@ -174,74 +189,44 @@ public class serieDetailsForwardComposer extends GenericForwardComposer<Componen
|
||||
Label dummy = new Label();
|
||||
div.insertBefore(dummy, null);
|
||||
|
||||
for(int key : state.keySet())
|
||||
for(int key : episodes.keySet())
|
||||
{
|
||||
int _season = key >> 8;
|
||||
int _episode = key & 0xFF;
|
||||
int _episode = key;
|
||||
|
||||
if(_season == season)
|
||||
{
|
||||
Label episodeLabel = new Label();
|
||||
episodeLabel.setValue("" + _episode);
|
||||
div.insertBefore(episodeLabel, null);
|
||||
}
|
||||
else if(_season > season)
|
||||
break;
|
||||
Label episodeLabel = new Label();
|
||||
episodeLabel.setValue("" + _episode);
|
||||
div.insertBefore(episodeLabel, null);
|
||||
}
|
||||
|
||||
Button buttonInit = new Button();
|
||||
buttonInit.setLabel("init");
|
||||
buttonInit.setId("buttonInit" + season);
|
||||
div.insertBefore(buttonInit, null);
|
||||
|
||||
for(int key : state.keySet())
|
||||
addButton("init", "buttonInit", seasonNumber, episodes.firstKey(), episodes.lastKey(), 0, div);
|
||||
for(int key : episodes.keySet())
|
||||
{
|
||||
int _season = key >> 8;
|
||||
int _episode = key & 0xFF;
|
||||
int _state = state.get(key);
|
||||
int _state = episodes.get(key).getEpisodeState();
|
||||
|
||||
if(_season == season)
|
||||
addRadio("init" + _season + "_" + _episode, "radiogroupSeason" + _season + "_" + _episode, _state == 1, div);
|
||||
else if(_season > season)
|
||||
break;
|
||||
addRadio("init" + seasonNumber + "_" + _episode, "radiogroupSeason" + seasonNumber + "_" + _episode, _state == 1, div);
|
||||
}
|
||||
|
||||
Button buttonProg = new Button();
|
||||
buttonProg.setLabel("prog");
|
||||
buttonProg.setId("buttonProg" + season);
|
||||
div.insertBefore(buttonProg, null);
|
||||
|
||||
for(int key : state.keySet())
|
||||
addButton("prog", "buttonProg", seasonNumber, episodes.firstKey(), episodes.lastKey(), 1, div);
|
||||
for(int key : episodes.keySet())
|
||||
{
|
||||
int _season = key >> 8;
|
||||
int _episode = key & 0xFF;
|
||||
int _state = state.get(key);
|
||||
int _state = episodes.get(key).getEpisodeState();
|
||||
|
||||
if(_season == season)
|
||||
addRadio("prog" + _season + "_" + _episode, "radiogroupSeason" + _season + "_" + _episode, _state == 2, div);
|
||||
else if(_season > season)
|
||||
break;
|
||||
addRadio("prog" + seasonNumber + "_" + _episode, "radiogroupSeason" + seasonNumber + "_" + _episode, _state == 2, div);
|
||||
}
|
||||
|
||||
Button buttonDone = new Button();
|
||||
buttonDone.setLabel("done");
|
||||
buttonDone.setId("buttonDone" + season);
|
||||
div.insertBefore(buttonDone, null);
|
||||
|
||||
for(int key : state.keySet())
|
||||
addButton("done", "buttonDone", seasonNumber, episodes.firstKey(), episodes.lastKey(), 2, div);
|
||||
for(int key : episodes.keySet())
|
||||
{
|
||||
int _season = key >> 8;
|
||||
int _episode = key & 0xFF;
|
||||
int _state = state.get(key);
|
||||
int _state = episodes.get(key).getEpisodeState();
|
||||
|
||||
if(_season == season)
|
||||
addRadio("done" + _season + "_" + _episode, "radiogroupSeason" + _season + "_" + _episode, _state == 3, div);
|
||||
else if(_season > season)
|
||||
break;
|
||||
addRadio("done" + seasonNumber + "_" + _episode, "radiogroupSeason" + seasonNumber + "_" + _episode, _state == 3, div);
|
||||
}
|
||||
|
||||
String styleString = "display: grid; " +
|
||||
"grid-template-areas: \"a ";
|
||||
"grid-template-areas: \"a ";
|
||||
|
||||
for(int i = 0; i < maxEpisode; i++)
|
||||
styleString += "a ";
|
||||
@@ -251,12 +236,32 @@ public class serieDetailsForwardComposer extends GenericForwardComposer<Componen
|
||||
detailsSerie.insertBefore(groupbox, buttons);
|
||||
}
|
||||
|
||||
protected void addButton(String name, String idPrefix, int seasonNumber, int firstEpisode, int lastEpisode, int id, Div div)
|
||||
{
|
||||
Button button = new Button();
|
||||
button.setLabel(name);
|
||||
button.setId(idPrefix + seasonNumber);
|
||||
div.insertBefore(button, null);
|
||||
|
||||
button.addEventListener("onClick", new EventListener<Event>()
|
||||
{
|
||||
@Override
|
||||
public void onEvent(Event event) throws Exception
|
||||
{
|
||||
for(int i = firstEpisode; i <= lastEpisode; i++)
|
||||
{
|
||||
Radiogroup group = radioGroups.get("radiogroupSeason" + seasonNumber + "_" + i);
|
||||
group.setSelectedIndex(id);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param id id of the radio button
|
||||
* @param group name of the radio button group
|
||||
* @param id id of the radio button
|
||||
* @param group name of the radio button group
|
||||
* @param checked set the radio button to selected / not selected
|
||||
* @param div parent DIV the radio button is created in
|
||||
* @param div parent DIV the radio button is created in
|
||||
*/
|
||||
protected void addRadio(String id, String group, boolean checked, Div div)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,7 @@ public class serieDetailsSelectorComposer extends SelectorComposer<Component>
|
||||
public void save()
|
||||
{
|
||||
serieData serie = getCurrentValues();
|
||||
serie.save();
|
||||
// serie.save();
|
||||
|
||||
alert("Data Saved!");
|
||||
detailsSerie.onClose();
|
||||
@@ -107,7 +107,7 @@ public class serieDetailsSelectorComposer extends SelectorComposer<Component>
|
||||
int episode = Integer.parseInt(id.substring(id.indexOf("_") + 1));
|
||||
int state = group.getSelectedIndex()+1;
|
||||
|
||||
//serie.setEpisodeState(season, episode, state);
|
||||
serie.setEpisodeState(season, episode, state);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,6 +1,6 @@
|
||||
at\windesign\application\serie\serieDetailsSelectorComposer.class
|
||||
at\windesign\application\serie\seasonData.class
|
||||
at\windesign\application\serie\serieDetailsForwardComposer.class
|
||||
at\windesign\application\serie\episodeData.class
|
||||
at\windesign\application\serie\serieDetailsSelectorComposer$1.class
|
||||
at\windesign\application\serie\serieDetailsSelectorComposer.class
|
||||
at\windesign\application\serie\episodeData.class
|
||||
at\windesign\application\main\indexForwardComposer.class
|
||||
|
||||
Reference in New Issue
Block a user