Full Update implemented
This commit is contained in:
Generated
+24
@@ -18,5 +18,29 @@
|
||||
</value>
|
||||
</option>
|
||||
</JetCodeStyleSettings>
|
||||
<DBN-PSQL>
|
||||
<case-options enabled="true">
|
||||
<option name="KEYWORD_CASE" value="lower" />
|
||||
<option name="FUNCTION_CASE" value="lower" />
|
||||
<option name="PARAMETER_CASE" value="lower" />
|
||||
<option name="DATATYPE_CASE" value="lower" />
|
||||
<option name="OBJECT_CASE" value="preserve" />
|
||||
</case-options>
|
||||
<formatting-settings enabled="false" />
|
||||
</DBN-PSQL>
|
||||
<DBN-SQL>
|
||||
<case-options enabled="true">
|
||||
<option name="KEYWORD_CASE" value="lower" />
|
||||
<option name="FUNCTION_CASE" value="lower" />
|
||||
<option name="PARAMETER_CASE" value="lower" />
|
||||
<option name="DATATYPE_CASE" value="lower" />
|
||||
<option name="OBJECT_CASE" value="preserve" />
|
||||
</case-options>
|
||||
<formatting-settings enabled="false">
|
||||
<option name="STATEMENT_SPACING" value="one_line" />
|
||||
<option name="CLAUSE_CHOP_DOWN" value="chop_down_if_statement_long" />
|
||||
<option name="ITERATION_ELEMENTS_WRAPPING" value="chop_down_if_not_single" />
|
||||
</formatting-settings>
|
||||
</DBN-SQL>
|
||||
</code_scheme>
|
||||
</component>
|
||||
Generated
+3
@@ -9,5 +9,8 @@
|
||||
<module name="multimedia" />
|
||||
</profile>
|
||||
</annotationProcessing>
|
||||
<bytecodeTargetLevel>
|
||||
<module name="multimedia" target="8" />
|
||||
</bytecodeTargetLevel>
|
||||
</component>
|
||||
</project>
|
||||
Generated
-5
@@ -26,11 +26,6 @@
|
||||
<option name="name" value="JBoss Community repository" />
|
||||
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="bintray" />
|
||||
<option name="url" value="https://jcenter.bintray.com" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="mvnrepository" />
|
||||
<option name="name" value="mvnrepository" />
|
||||
|
||||
Generated
+5
-5
@@ -1,8 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="JavadocGenerationManager">
|
||||
<option name="OUTPUT_DIRECTORY" value="$PROJECT_DIR$/../../../../../../../Temp/test" />
|
||||
<option name="OUTPUT_DIRECTORY" value="$PROJECT_DIR$/../../../../../../../Temp/Javadoc" />
|
||||
<option name="OPTION_DOCUMENT_TAG_USE" value="true" />
|
||||
<option name="OPTION_DOCUMENT_TAG_AUTHOR" value="true" />
|
||||
<option name="OPTION_DOCUMENT_TAG_VERSION" value="true" />
|
||||
</component>
|
||||
<component name="MavenProjectsManager">
|
||||
<option name="originalFiles">
|
||||
@@ -11,7 +13,5 @@
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="11" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="11" project-jdk-type="JavaSDK" />
|
||||
</project>
|
||||
Generated
+8
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/multimedia.iml" filepath="$PROJECT_DIR$/multimedia.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" version="4">
|
||||
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
|
||||
<output url="file://$MODULE_DIR$/target/classes" />
|
||||
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/target" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="Maven: org.zkoss.zk:zkbind:9.5.0.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.javassist:javassist:3.18.2-GA" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.zkoss.zk:zul:9.5.0.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.zkoss.zk:zk:9.5.0.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.zkoss.common:zweb:9.5.0.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.zkoss.common:zcommon:9.5.0.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.zkoss.common:zel:9.5.0.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache-extras.beanshell:bsh:2.0b6" level="project" />
|
||||
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.14" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.zkoss.zk:zkwebfragment:9.5.0.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.zkoss.zk:zkplus:9.5.0.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.zkoss.zk:zhtml:9.5.0.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.zkoss:zsoup:1.8.2.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: commons-io:commons-io:2.6" level="project" />
|
||||
<orderEntry type="library" scope="PROVIDED" name="Maven: javax.servlet:javax.servlet-api:3.1.0" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: mysql:mysql-connector-java:8.0.17" level="project" />
|
||||
<orderEntry type="library" scope="RUNTIME" name="Maven: com.google.protobuf:protobuf-java:3.6.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.zkoss.theme:breeze:9.5.0.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.zkoss.theme:atlantic:9.5.0.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.zkoss.theme:sapphire:9.5.0.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.zkoss.theme:silvertail:9.5.0.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.omertron:themoviedbapi:4.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.7.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.7.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.7.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.16" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.yamj:api-common:2.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.4" level="project" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -497,6 +497,16 @@ class serieData
|
||||
m_model = model;
|
||||
}
|
||||
|
||||
public boolean isActive()
|
||||
{
|
||||
if(m_seriesStatus == "Ended")
|
||||
return false;
|
||||
if(m_seriesStatus == "Canceled")
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public void recalcState()
|
||||
{
|
||||
m_stateInit = 0;
|
||||
@@ -792,6 +802,8 @@ class serieData
|
||||
{
|
||||
if(strDate == null)
|
||||
return new Date(1900, 1, 1);
|
||||
else if(strDate.isEmpty())
|
||||
return new Date(1900, 1, 1);
|
||||
else
|
||||
return Date.valueOf(strDate);
|
||||
}
|
||||
@@ -881,6 +893,7 @@ class serieData
|
||||
eData.setEpisodeVoteAverage(episode.getVoteAverage());
|
||||
eData.setEpisodeVoteCount(episode.getVoteCount());
|
||||
eData.setEpisodeCrew(crewListToString(episode.getCrew()));
|
||||
eData.setEpisodeState(1);
|
||||
sData.setEpisode(eData.getEpisodeNumber(), eData);
|
||||
}
|
||||
}
|
||||
@@ -889,4 +902,36 @@ class serieData
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void copyFrom(serieData serie)
|
||||
{
|
||||
setSeriesDownload(serie.getSeriesDownload());
|
||||
setSeriesLocalPath(serie.getSeriesLocalPath());
|
||||
setSeriesResolution(serie.getSeriesResolution());
|
||||
setSeriesCliffhanger(serie.getSeriesCliffhanger());
|
||||
|
||||
for(int season : getSeasons().keySet())
|
||||
{
|
||||
seasonData sDataOriginal = serie.getSeasons().get(season);
|
||||
|
||||
if(sDataOriginal != null)
|
||||
{
|
||||
seasonData sData = getSeasons().get(season);
|
||||
|
||||
for(int episode : sData.getEpisodes().keySet())
|
||||
{
|
||||
episodeData eDataOriginal = sDataOriginal.getEpisodes().get(episode);
|
||||
|
||||
if(eDataOriginal != null)
|
||||
{
|
||||
episodeData eData = sData.getEpisodes().get(episode);
|
||||
|
||||
eData.setEpisodeState(eDataOriginal.getEpisodeState());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
recalcState();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,34 +67,8 @@ public class serieDetailsSelectorComposer extends SelectorComposer<Component>
|
||||
{
|
||||
serieNew = new serieData();
|
||||
serieNew.fromTMDB(serie.getSeriesID());
|
||||
serieNew.setSeriesDownload(serie.getSeriesDownload());
|
||||
serieNew.setSeriesLocalPath(serie.getSeriesLocalPath());
|
||||
serieNew.setSeriesResolution(serie.getSeriesResolution());
|
||||
serieNew.setSeriesCliffhanger(serie.getSeriesCliffhanger());
|
||||
serieNew.copyFrom(serie);
|
||||
|
||||
for(int season : serieNew.getSeasons().keySet())
|
||||
{
|
||||
seasonData sDataOriginal = serie.getSeasons().get(season);
|
||||
|
||||
if(sDataOriginal != null)
|
||||
{
|
||||
seasonData sData = serieNew.getSeasons().get(season);
|
||||
|
||||
for(int episode : sData.getEpisodes().keySet())
|
||||
{
|
||||
episodeData eDataOriginal = sDataOriginal.getEpisodes().get(episode);
|
||||
|
||||
if(eDataOriginal != null)
|
||||
{
|
||||
episodeData eData = sData.getEpisodes().get(episode);
|
||||
|
||||
eData.setEpisodeState(eDataOriginal.getEpisodeState());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
serieNew.recalcState();
|
||||
serieNew.save();
|
||||
|
||||
Listitem item = (Listitem) detailsSerie.getAttribute("item");
|
||||
|
||||
@@ -13,336 +13,13 @@ import java.util.*;
|
||||
public class serieListForwardComposer extends GenericForwardComposer
|
||||
{
|
||||
protected Listbox seriesList; // autowired
|
||||
private ListModelList seriesListModel; // the model of the listbox
|
||||
private serieRenderer renderer;
|
||||
|
||||
private Integer stateWidth = 4;
|
||||
private Integer stateHeight = 20;
|
||||
|
||||
private final serieDataSource ds = serieDataSource.INSTANCE;
|
||||
|
||||
@Override
|
||||
public void doAfterCompose(Component comp) throws Exception
|
||||
{
|
||||
super.doAfterCompose(comp);
|
||||
|
||||
List<serieData> serieList = new ArrayList<>();
|
||||
int minSeason = 0;
|
||||
int maxSeason = 0;
|
||||
SortedMap<Integer, Integer> maxEpisode = new TreeMap<>();
|
||||
SortedMap<Integer, Listheader> listHeader = new TreeMap<>();
|
||||
|
||||
try
|
||||
{
|
||||
Statement stmt = ds.getStatement();
|
||||
ResultSet rs = stmt.executeQuery(
|
||||
"SELECT MIN(seasonNumber) minSeason," +
|
||||
" MAX(seasonNumber) maxSeason" +
|
||||
" FROM season;"
|
||||
);
|
||||
|
||||
while(rs.next())
|
||||
{
|
||||
minSeason = rs.getInt("minSeason");
|
||||
maxSeason = rs.getInt("maxSeason");
|
||||
}
|
||||
}
|
||||
catch(SQLException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
seriesListModel = new ListModelList();
|
||||
seriesList.setModel(seriesListModel);
|
||||
seriesList.setAttribute("listModelList", seriesListModel);
|
||||
|
||||
Listhead head = seriesList.getListhead();
|
||||
Listheader seriesName = new Listheader("Series Name");
|
||||
Listheader firstAired = new Listheader("First Aired");
|
||||
Listheader resolution = new Listheader("Resolution");
|
||||
|
||||
seriesName.setHflex("min");
|
||||
firstAired.setHflex("min");
|
||||
resolution.setHflex("min");
|
||||
|
||||
head.appendChild(seriesName);
|
||||
head.appendChild(firstAired);
|
||||
head.appendChild(resolution);
|
||||
|
||||
if(minSeason < 1)
|
||||
minSeason = 1;
|
||||
|
||||
for(int i = minSeason; i <= maxSeason; i++)
|
||||
{
|
||||
Listheader seasonHeader = new Listheader("Season " + i);
|
||||
head.appendChild(seasonHeader);
|
||||
maxEpisode.put(i, 0);
|
||||
listHeader.put(i, seasonHeader);
|
||||
}
|
||||
|
||||
renderer = new serieRenderer();
|
||||
seriesList.setItemRenderer(renderer);
|
||||
|
||||
try
|
||||
{
|
||||
Statement stmt = ds.getStatement();
|
||||
ResultSet rs = stmt.executeQuery(
|
||||
"SELECT serie.seriesID seriesID," +
|
||||
" serie.seriesName seriesName," +
|
||||
" serie.originalName seriesOriginalName," +
|
||||
" serie.backdropPath seriesBackdrop," +
|
||||
" serie.createdBy seriesCreatedBy," +
|
||||
" serie.homepage seriesHomepage," +
|
||||
" serie.lastAired seriesLastAired," +
|
||||
" serie.languages seriesLanguages," +
|
||||
" serie.networks seriesNetworks," +
|
||||
" serie.nrEpisodes seriesNrEpisodes," +
|
||||
" serie.nrSeasons seriesNrSeasons," +
|
||||
" serie.originCountries seriesOriginCountries," +
|
||||
" serie.originalLanguage seriesOriginalLanguage," +
|
||||
" serie.popularity seriesPopularity," +
|
||||
" serie.posterPath seriesPoster," +
|
||||
" serie.productionCompanies seriesProductionCompanies," +
|
||||
" serie.type seriesType," +
|
||||
" serie.voteAverage seriesVoteAverage," +
|
||||
" serie.voteCount seriesVoteCount," +
|
||||
" serie.overview seriesOverview," +
|
||||
" serie.firstAired seriesFirstAired," +
|
||||
" serie.cast seriesCast," +
|
||||
" serie.crew seriesCrew," +
|
||||
" serie.genre seriesGenre," +
|
||||
" serie.imdbid seriesIMDBID," +
|
||||
" serie.freebasemid seriesFreebaseMID," +
|
||||
" serie.freebaseid seriesFreebaseID," +
|
||||
" serie.tvdbid seriesTVDBID," +
|
||||
" serie.tvrageid seriesTVRageID," +
|
||||
" serie.status seriesStatus," +
|
||||
" serie.download seriesDownload," +
|
||||
" serie.localPath seriesLocalPath," +
|
||||
" serie.resolution seriesResolution," +
|
||||
" serie.cliffhanger seriesCliffhanger," +
|
||||
" season._id season_ID," +
|
||||
" IF(IFNULL(season.airDate, '1900-01-01') = '','1900-01-01', IFNULL(season.airDate, '1900-01-01')) seasonAirDate," +
|
||||
" season.name seasonName," +
|
||||
" season.overview seasonOverview," +
|
||||
" season.id seasonID," +
|
||||
" season.posterPath seasonPosterPath," +
|
||||
" season.seasonNumber seasonNumber," +
|
||||
" episode.id episodeID," +
|
||||
" episode.name episodeName," +
|
||||
" episode.episodeNumber episodeNumber," +
|
||||
" IF(IFNULL(episode.airDate, '1900-01-01') = '','1900-01-01', IFNULL(episode.airDate, '1900-01-01')) episodeAirDate," +
|
||||
" episode.guestStars episodeGuestStars," +
|
||||
" episode.overview episodeOverview," +
|
||||
" episode.productioncode episodeProductionCode," +
|
||||
" episode.stillPath episodeStillPath," +
|
||||
" episode.voteAverage episodeVoteAverage," +
|
||||
" episode.voteCount episodeVoteCount," +
|
||||
" episode.crew episodeCrew," +
|
||||
" episode.state episodeState" +
|
||||
" 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;"
|
||||
);
|
||||
|
||||
// fetch all events from database
|
||||
serieData serie = new serieData();
|
||||
seasonData season = new seasonData();
|
||||
episodeData episode = new episodeData();
|
||||
int oldSerieID = -1;
|
||||
int oldSeasonID = -1;
|
||||
int oldEpisodeID = -1;
|
||||
|
||||
serie.setSeriesID(-1);
|
||||
|
||||
while(rs.next())
|
||||
{
|
||||
int serieID = rs.getInt("seriesID");
|
||||
int seasonID = rs.getInt("seasonID");
|
||||
int episodeID = rs.getInt("episodeID");
|
||||
|
||||
if(serieID != oldSerieID)
|
||||
{
|
||||
oldSerieID = serieID;
|
||||
serie = newSerie(rs);
|
||||
serieList.add(serie);
|
||||
|
||||
oldSeasonID = seasonID;
|
||||
season = newSeason(rs);
|
||||
|
||||
oldEpisodeID = episodeID;
|
||||
episode = newEpisode(rs);
|
||||
|
||||
switch(rs.getInt("episodeState"))
|
||||
{
|
||||
case 1:
|
||||
serie.addStateInit();
|
||||
break;
|
||||
case 2:
|
||||
serie.addStateProd();
|
||||
break;
|
||||
case 3:
|
||||
serie.addStateDone();
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if(seasonID != oldSeasonID)
|
||||
{
|
||||
oldSeasonID = seasonID;
|
||||
season = newSeason(rs);
|
||||
|
||||
oldEpisodeID = episodeID;
|
||||
episode = newEpisode(rs);
|
||||
|
||||
switch(rs.getInt("episodeState"))
|
||||
{
|
||||
case 1:
|
||||
serie.addStateInit();
|
||||
break;
|
||||
case 2:
|
||||
serie.addStateProd();
|
||||
break;
|
||||
case 3:
|
||||
serie.addStateDone();
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if(episodeID != oldEpisodeID)
|
||||
{
|
||||
oldEpisodeID = episodeID;
|
||||
episode = newEpisode(rs);
|
||||
|
||||
switch(rs.getInt("episodeState"))
|
||||
{
|
||||
case 1:
|
||||
serie.addStateInit();
|
||||
break;
|
||||
case 2:
|
||||
serie.addStateProd();
|
||||
break;
|
||||
case 3:
|
||||
serie.addStateDone();
|
||||
break;
|
||||
}
|
||||
|
||||
if(season.getSeasonNumber() != 0)
|
||||
{
|
||||
if(maxEpisode.get(season.getSeasonNumber()) < episode.getEpisodeNumber())
|
||||
maxEpisode.put(season.getSeasonNumber(), episode.getEpisodeNumber());
|
||||
}
|
||||
}
|
||||
|
||||
season.setSerie(serie);
|
||||
episode.setSerie(serie);
|
||||
episode.setSeason(season);
|
||||
|
||||
serie.setSeason(season.getSeasonNumber(), season);
|
||||
season.setEpisode(episode.getEpisodeNumber(), episode);
|
||||
}
|
||||
}
|
||||
catch(SQLException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
finally
|
||||
{
|
||||
ds.close();
|
||||
}
|
||||
|
||||
for(serieData serie : serieList)
|
||||
{
|
||||
seriesListModel.add(serie);
|
||||
serie.setModel(seriesListModel);
|
||||
}
|
||||
|
||||
for(int i = minSeason; i <= maxSeason; i++)
|
||||
{
|
||||
int size = maxEpisode.get(i) * stateWidth;
|
||||
Listheader header = listHeader.get(i);
|
||||
header.setWidth(size + 40 + "px");
|
||||
}
|
||||
}
|
||||
|
||||
protected episodeData newEpisode(ResultSet rs) throws SQLException
|
||||
{
|
||||
episodeData episode = new episodeData();
|
||||
|
||||
episode.setEpisodeID(rs.getInt("episodeID"));
|
||||
episode.setEpisodeName(rs.getString("episodeName"));
|
||||
episode.setEpisodeNumber(rs.getInt("episodeNumber"));
|
||||
episode.setEpisodeAirDate(rs.getDate("episodeAirDate"));
|
||||
episode.setEpisodeGuestStars(rs.getString("episodeGuestStars"));
|
||||
episode.setEpisodeOverview(rs.getString("episodeOverview"));
|
||||
episode.setEpisodeProductionCode(rs.getString("episodeProductionCode"));
|
||||
episode.setEpisodeStillPath(rs.getString("episodeStillPath"));
|
||||
episode.setEpisodeVoteAverage(rs.getDouble("episodeVoteAverage"));
|
||||
episode.setEpisodeVoteCount(rs.getInt("episodeVoteCount"));
|
||||
episode.setEpisodeCrew(rs.getString("episodeCrew"));
|
||||
episode.setEpisodeState(rs.getInt("episodeState"));
|
||||
|
||||
return episode;
|
||||
}
|
||||
|
||||
protected seasonData newSeason(ResultSet rs) throws SQLException
|
||||
{
|
||||
seasonData season = new seasonData();
|
||||
|
||||
season.setSeason_ID(rs.getString("season_ID"));
|
||||
season.setSeasonAirDate(rs.getDate("seasonAirDate"));
|
||||
season.setSeasonName(rs.getString("seasonName"));
|
||||
season.setSeasonOverview(rs.getString("seasonOverview"));
|
||||
season.setSeasonID(rs.getInt("seasonID"));
|
||||
season.setSeasonPosterPath(rs.getString("seasonPosterPath"));
|
||||
season.setSeasonNumber(rs.getInt("seasonNumber"));
|
||||
|
||||
return season;
|
||||
}
|
||||
|
||||
protected serieData newSerie(ResultSet rs) throws SQLException
|
||||
{
|
||||
serieData serie = new serieData();
|
||||
|
||||
serie.setSeriesID(rs.getInt("seriesID"));
|
||||
serie.setSeriesName(rs.getString("seriesName"));
|
||||
serie.setSeriesOriginalName(rs.getString("seriesOriginalName"));
|
||||
serie.setSeriesBackdrop(rs.getString("seriesBackdrop"));
|
||||
serie.setSeriesCreatedBy(rs.getString("seriesCreatedBy"));
|
||||
serie.setSeriesHomepage(rs.getString("seriesHomepage"));
|
||||
serie.setSeriesLastAired(rs.getDate("seriesLastAired"));
|
||||
serie.setSeriesLanguages(rs.getString("seriesLanguages"));
|
||||
serie.setSeriesNetworks(rs.getString("seriesNetworks"));
|
||||
serie.setSeriesNrEpisodes(rs.getInt("seriesNrEpisodes"));
|
||||
serie.setSeriesNrSeasons(rs.getInt("seriesNrSeasons"));
|
||||
serie.setSeriesOriginCountries(rs.getString("seriesOriginCountries"));
|
||||
serie.setSeriesOriginalLanguage(rs.getString("seriesOriginalLanguage"));
|
||||
serie.setSeriesPopularity(rs.getDouble("seriesPopularity"));
|
||||
serie.setSeriesPoster(rs.getString("seriesPoster"));
|
||||
serie.setSeriesProductionCompanies(rs.getString("seriesProductionCompanies"));
|
||||
serie.setSeriesType(rs.getString("seriesType"));
|
||||
serie.setSeriesVoteAverage(rs.getDouble("seriesVoteAverage"));
|
||||
serie.setSeriesVoteCount(rs.getInt("seriesVoteCount"));
|
||||
serie.setSeriesOverview(rs.getString("seriesOverview"));
|
||||
serie.setSeriesFirstAired(rs.getDate("seriesFirstAired"));
|
||||
serie.setSeriesCast(rs.getString("seriesCast"));
|
||||
serie.setSeriesCrew(rs.getString("seriesCrew"));
|
||||
serie.setSeriesGenre(rs.getString("seriesGenre"));
|
||||
serie.setSeriesIMDBID(rs.getString("seriesIMDBID"));
|
||||
serie.setSeriesFreebaseMID(rs.getString("seriesFreebaseMID"));
|
||||
serie.setSeriesFreebaseID(rs.getString("seriesFreebaseID"));
|
||||
serie.setSeriesTVDBID(rs.getString("seriesTVDBID"));
|
||||
serie.setSeriesTVRageID(rs.getString("seriesTVRageID"));
|
||||
serie.setSeriesStatus(rs.getString("seriesStatus"));
|
||||
serie.setSeriesDownload(rs.getString("seriesDownload"));
|
||||
serie.setSeriesLocalPath(rs.getString("seriesLocalPath"));
|
||||
serie.setSeriesResolution(rs.getString("seriesResolution"));
|
||||
serie.setSeriesCliffhanger(rs.getBoolean("seriesCliffhanger"));
|
||||
|
||||
return serie;
|
||||
serieDataSource ds = serieDataSource.INSTANCE;
|
||||
serieUtils.loadSeries(ds, seriesList);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ public class serieListSelectorComposer extends SelectorComposer<Component>
|
||||
private Listbox seriesList;
|
||||
|
||||
@Listen("onDoubleClick = #seriesList")
|
||||
public void onClick()
|
||||
public void onClickSeriesList()
|
||||
{
|
||||
Listitem item = seriesList.getSelectedItem();
|
||||
|
||||
@@ -36,4 +36,29 @@ public class serieListSelectorComposer extends SelectorComposer<Component>
|
||||
|
||||
window.doModal();
|
||||
}
|
||||
|
||||
@Listen("onClick = #updateAll")
|
||||
public void onClickUpdateAll()
|
||||
{
|
||||
update(true);
|
||||
}
|
||||
|
||||
@Listen("onClick = #updateOpen")
|
||||
public void onClickUpdateOpen()
|
||||
{
|
||||
update(false);
|
||||
}
|
||||
|
||||
private void update(boolean all)
|
||||
{
|
||||
Map<String, Object> arguments = new HashMap<String, Object>();
|
||||
|
||||
arguments.put("seriesList", seriesList);
|
||||
arguments.put("all", all);
|
||||
|
||||
String template = "/serie/updateSerie.zul";
|
||||
Window window = (Window) Executions.createComponents(template, null, arguments);
|
||||
|
||||
window.doModal();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,9 +61,10 @@ public class serieRenderer implements ListitemRenderer
|
||||
Color colBlue = new Color(0, 0, 192);
|
||||
Color colGreen = new Color(0, 192, 0);
|
||||
Color colBlack = new Color(0, 0, 0);
|
||||
Color colWhite = new Color(255, 255, 255);
|
||||
Color col = colBlack;
|
||||
|
||||
g2d.setColor(colBlack);
|
||||
g2d.setColor(colWhite);
|
||||
g2d.fillRect(0, 0, stateWidth * episodes.lastKey(), stateHeight);
|
||||
|
||||
for(Integer key : episodes.keySet())
|
||||
@@ -84,6 +85,8 @@ public class serieRenderer implements ListitemRenderer
|
||||
break;
|
||||
}
|
||||
|
||||
g2d.setColor(colBlack);
|
||||
g2d.fillRect((key - 1) * stateWidth, 0, stateWidth, stateHeight);
|
||||
g2d.setColor(col);
|
||||
g2d.fillRect((key - 1) * stateWidth, 0, stateWidth - 1, stateHeight);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package at.windesign.application.serie;
|
||||
|
||||
import org.zkoss.zk.ui.Component;
|
||||
import org.zkoss.zk.ui.select.annotation.Wire;
|
||||
import org.zkoss.zk.ui.util.GenericForwardComposer;
|
||||
import org.zkoss.zul.*;
|
||||
|
||||
public class serieUpdateForwardComposer extends GenericForwardComposer<Component>
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
private int opacity = 80;
|
||||
private Listbox m_seriesList;
|
||||
private boolean m_all;
|
||||
|
||||
@Wire
|
||||
private Window updateSerie;
|
||||
|
||||
@Wire
|
||||
protected Label serieLabel;
|
||||
|
||||
@Wire
|
||||
protected Progressmeter serieProgress;
|
||||
|
||||
@Wire
|
||||
protected Label serieProgressLabel;
|
||||
|
||||
@Override
|
||||
public void doAfterCompose(Component comp) throws Exception
|
||||
{
|
||||
super.doAfterCompose(comp);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,271 @@
|
||||
package at.windesign.application.serie;
|
||||
|
||||
import com.omertron.themoviedbapi.MovieDbException;
|
||||
import org.zkoss.zk.ui.Component;
|
||||
import org.zkoss.zk.ui.Execution;
|
||||
import org.zkoss.zk.ui.Executions;
|
||||
import org.zkoss.zk.ui.event.Event;
|
||||
import org.zkoss.zk.ui.event.EventQueue;
|
||||
import org.zkoss.zk.ui.event.EventQueues;
|
||||
import org.zkoss.zk.ui.event.Events;
|
||||
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.*;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
//a33271b9e54cdcb9a80680eaf5522f1b
|
||||
|
||||
public class serieUpdateSelectorComposer extends SelectorComposer<Component>
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
private int opacity = 80;
|
||||
private Listbox m_seriesList;
|
||||
private boolean m_all;
|
||||
|
||||
@Wire
|
||||
private Window updateSerie;
|
||||
|
||||
@Wire
|
||||
protected Label serieLabel;
|
||||
|
||||
@Wire
|
||||
protected Progressmeter serieProgress;
|
||||
|
||||
@Wire
|
||||
protected Label serieProgressLabel;
|
||||
|
||||
@Wire
|
||||
private Timer timer;
|
||||
|
||||
private static final String QUEUE = "queue";
|
||||
private static final String START = "start";
|
||||
private static final int ONE_HUNDRED = 100;
|
||||
|
||||
private boolean isFinish;
|
||||
|
||||
private int progress;
|
||||
private String serieName;
|
||||
|
||||
@Override
|
||||
public void doAfterCompose(Component comp) throws Exception
|
||||
{
|
||||
super.doAfterCompose(comp);
|
||||
|
||||
final Execution execution = Executions.getCurrent();
|
||||
|
||||
if(execution.getArg().containsKey("seriesList"))
|
||||
m_seriesList = (Listbox) execution.getArg().get("seriesList");
|
||||
else
|
||||
updateSerie.detach();
|
||||
|
||||
if(execution.getArg().containsKey("all"))
|
||||
m_all = (boolean) execution.getArg().get("all");
|
||||
else
|
||||
updateSerie.detach();
|
||||
|
||||
try
|
||||
{
|
||||
Events.echoEvent("onAddNameEvent", timer, null);
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Listen("onAddNameEvent = #timer")
|
||||
public void processingSeries()
|
||||
{
|
||||
try
|
||||
{
|
||||
timer.start();
|
||||
|
||||
if(itsNotProcessing())
|
||||
{
|
||||
EventQueue queue = lookupQueue();
|
||||
setUp(queue);
|
||||
start(queue);
|
||||
}
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private boolean itsNotProcessing()
|
||||
{
|
||||
return !EventQueues.exists(QUEUE);
|
||||
}
|
||||
|
||||
private EventQueue lookupQueue()
|
||||
{
|
||||
return EventQueues.lookup(QUEUE);
|
||||
}
|
||||
|
||||
private void setUp(final EventQueue queue)
|
||||
{
|
||||
progress = 0;
|
||||
|
||||
queue.subscribe((Event event) ->
|
||||
{
|
||||
doLongOperation();
|
||||
}
|
||||
,
|
||||
(Event event) ->
|
||||
{
|
||||
removeQueue();
|
||||
});
|
||||
}
|
||||
|
||||
private void removeQueue()
|
||||
{
|
||||
EventQueues.remove(QUEUE);
|
||||
}
|
||||
|
||||
private void start(EventQueue queue)
|
||||
{
|
||||
queue.publish(new Event(START));
|
||||
timer.start();
|
||||
}
|
||||
|
||||
private void doLongOperation() throws IOException
|
||||
{
|
||||
doProcess();
|
||||
}
|
||||
|
||||
public void doProcess() throws IOException, IllegalStateException
|
||||
{
|
||||
int total = 0;
|
||||
int current = 0;
|
||||
|
||||
ListModelList list = (ListModelList) m_seriesList.getModel();
|
||||
List<serieData> dataList = list.getInnerList();
|
||||
|
||||
for(serieData data : dataList)
|
||||
{
|
||||
if(m_all == true)
|
||||
total++;
|
||||
else
|
||||
{
|
||||
if(data.isActive())
|
||||
total++;
|
||||
}
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
for(serieData data : dataList)
|
||||
{
|
||||
if(m_all == true || data.isActive() == true)
|
||||
{
|
||||
progress = current * 100 / total;
|
||||
serieName = data.getSeriesName();
|
||||
|
||||
updateSerie(data);
|
||||
|
||||
current++;
|
||||
}
|
||||
}
|
||||
isFinish = true;
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
finally
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
@Listen("onTimer = #timer")
|
||||
public void fetchingSimulatorTimer() throws FileNotFoundException, IllegalStateException
|
||||
{
|
||||
try
|
||||
{
|
||||
updateProgressmeter();
|
||||
updateLabel();
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void updateProgressmeter()
|
||||
{
|
||||
try
|
||||
{
|
||||
serieProgress.setValue(progress);
|
||||
serieProgressLabel.setValue(progress + "%");
|
||||
serieLabel.setValue(serieName);
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
private void updateLabel() throws FileNotFoundException, IllegalStateException
|
||||
{
|
||||
try
|
||||
{
|
||||
if(isFinish)
|
||||
{
|
||||
serieProgressLabel.setValue("Finish!");
|
||||
updateSerie.detach();
|
||||
|
||||
Executions.sendRedirect("");
|
||||
}
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isTheProgressmeterFull()
|
||||
{
|
||||
return serieProgress.getValue() == ONE_HUNDRED;
|
||||
}
|
||||
|
||||
private void stop()
|
||||
{
|
||||
timer.stop();
|
||||
}
|
||||
|
||||
@Listen("onClick = #btnCancel")
|
||||
public void doCancel()
|
||||
{
|
||||
try
|
||||
{
|
||||
// isBreak = true;
|
||||
removeQueue();
|
||||
timer.stop();
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
private void updateSerie(serieData serie)
|
||||
{
|
||||
serieData serieNew;
|
||||
|
||||
try
|
||||
{
|
||||
serieNew = new serieData();
|
||||
serieNew.fromTMDB(serie.getSeriesID());
|
||||
serieNew.copyFrom(serie);
|
||||
|
||||
serieNew.save();
|
||||
}
|
||||
catch(MovieDbException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,343 @@
|
||||
package at.windesign.application.serie;
|
||||
|
||||
import org.zkoss.zul.*;
|
||||
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.SortedMap;
|
||||
import java.util.TreeMap;
|
||||
|
||||
public class serieUtils
|
||||
{
|
||||
static private Integer stateWidth = 4;
|
||||
static private Integer stateHeight = 20;
|
||||
|
||||
static public void loadSeries(serieDataSource ds, Listbox seriesList)
|
||||
{
|
||||
List<serieData> serieList = new ArrayList<>();
|
||||
int minSeason = 0;
|
||||
int maxSeason = 0;
|
||||
SortedMap<Integer, Integer> maxEpisode = new TreeMap<>();
|
||||
SortedMap<Integer, Listheader> listHeader = new TreeMap<>();
|
||||
|
||||
try
|
||||
{
|
||||
Statement stmt = ds.getStatement();
|
||||
ResultSet rs = stmt.executeQuery(
|
||||
"SELECT MIN(seasonNumber) minSeason," +
|
||||
" MAX(seasonNumber) maxSeason" +
|
||||
" FROM season;"
|
||||
);
|
||||
|
||||
while(rs.next())
|
||||
{
|
||||
minSeason = rs.getInt("minSeason");
|
||||
maxSeason = rs.getInt("maxSeason");
|
||||
}
|
||||
}
|
||||
catch(SQLException e)
|
||||
{
|
||||
Messagebox.show(e.getMessage());
|
||||
Messagebox.show(e.getSQLState());
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
ListModelList seriesListModel = new ListModelList();
|
||||
seriesList.setModel(seriesListModel);
|
||||
seriesList.setAttribute("listModelList", seriesListModel);
|
||||
|
||||
seriesList.getListhead().getChildren().clear();
|
||||
Listhead head = seriesList.getListhead();
|
||||
Listheader seriesName = new Listheader("Series Name");
|
||||
Listheader firstAired = new Listheader("First Aired");
|
||||
Listheader resolution = new Listheader("Resolution");
|
||||
|
||||
seriesName.setHflex("min");
|
||||
firstAired.setHflex("min");
|
||||
resolution.setHflex("min");
|
||||
|
||||
head.appendChild(seriesName);
|
||||
head.appendChild(firstAired);
|
||||
head.appendChild(resolution);
|
||||
|
||||
if(minSeason < 1)
|
||||
minSeason = 1;
|
||||
|
||||
for(int i = minSeason; i <= maxSeason; i++)
|
||||
{
|
||||
Listheader seasonHeader = new Listheader("Season " + i);
|
||||
head.appendChild(seasonHeader);
|
||||
maxEpisode.put(i, 0);
|
||||
listHeader.put(i, seasonHeader);
|
||||
}
|
||||
|
||||
serieRenderer renderer = new serieRenderer();
|
||||
seriesList.setItemRenderer(renderer);
|
||||
|
||||
try
|
||||
{
|
||||
Statement stmt = ds.getStatement();
|
||||
ResultSet rs = stmt.executeQuery(
|
||||
"SELECT serie.seriesID seriesID," +
|
||||
" serie.seriesName seriesName," +
|
||||
" serie.originalName seriesOriginalName," +
|
||||
" serie.backdropPath seriesBackdrop," +
|
||||
" serie.createdBy seriesCreatedBy," +
|
||||
" serie.homepage seriesHomepage," +
|
||||
" serie.lastAired seriesLastAired," +
|
||||
" serie.languages seriesLanguages," +
|
||||
" serie.networks seriesNetworks," +
|
||||
" serie.nrEpisodes seriesNrEpisodes," +
|
||||
" serie.nrSeasons seriesNrSeasons," +
|
||||
" serie.originCountries seriesOriginCountries," +
|
||||
" serie.originalLanguage seriesOriginalLanguage," +
|
||||
" serie.popularity seriesPopularity," +
|
||||
" serie.posterPath seriesPoster," +
|
||||
" serie.productionCompanies seriesProductionCompanies," +
|
||||
" serie.type seriesType," +
|
||||
" serie.voteAverage seriesVoteAverage," +
|
||||
" serie.voteCount seriesVoteCount," +
|
||||
" serie.overview seriesOverview," +
|
||||
" serie.firstAired seriesFirstAired," +
|
||||
" serie.cast seriesCast," +
|
||||
" serie.crew seriesCrew," +
|
||||
" serie.genre seriesGenre," +
|
||||
" serie.imdbid seriesIMDBID," +
|
||||
" serie.freebasemid seriesFreebaseMID," +
|
||||
" serie.freebaseid seriesFreebaseID," +
|
||||
" serie.tvdbid seriesTVDBID," +
|
||||
" serie.tvrageid seriesTVRageID," +
|
||||
" serie.status seriesStatus," +
|
||||
" serie.download seriesDownload," +
|
||||
" serie.localPath seriesLocalPath," +
|
||||
" serie.resolution seriesResolution," +
|
||||
" serie.cliffhanger seriesCliffhanger," +
|
||||
" season._id season_ID," +
|
||||
" IF(IFNULL(season.airDate, '1900-01-01') = '','1900-01-01', IFNULL(season.airDate, '1900-01-01')) seasonAirDate," +
|
||||
" season.name seasonName," +
|
||||
" season.overview seasonOverview," +
|
||||
" season.id seasonID," +
|
||||
" season.posterPath seasonPosterPath," +
|
||||
" season.seasonNumber seasonNumber," +
|
||||
" episode.id episodeID," +
|
||||
" episode.name episodeName," +
|
||||
" episode.episodeNumber episodeNumber," +
|
||||
" IF(IFNULL(episode.airDate, '1900-01-01') = '','1900-01-01', IFNULL(episode.airDate, '1900-01-01')) episodeAirDate," +
|
||||
" episode.guestStars episodeGuestStars," +
|
||||
" episode.overview episodeOverview," +
|
||||
" episode.productioncode episodeProductionCode," +
|
||||
" episode.stillPath episodeStillPath," +
|
||||
" episode.voteAverage episodeVoteAverage," +
|
||||
" episode.voteCount episodeVoteCount," +
|
||||
" episode.crew episodeCrew," +
|
||||
" episode.state episodeState" +
|
||||
" 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 AND episode.episodeNumber IS NOT NULL) OR" +
|
||||
" serie.seriesID >= 1000000" +
|
||||
" ORDER BY serie.seriesName," +
|
||||
" serie.firstAired," +
|
||||
" season.seasonNumber," +
|
||||
" episode.episodeNumber;"
|
||||
);
|
||||
|
||||
// fetch all events from database
|
||||
serieData serie = new serieData();
|
||||
seasonData season = new seasonData();
|
||||
episodeData episode = new episodeData();
|
||||
int oldSerieID = -1;
|
||||
int oldSeasonID = -1;
|
||||
int oldEpisodeID = -1;
|
||||
|
||||
serie.setSeriesID(-1);
|
||||
|
||||
while(rs.next())
|
||||
{
|
||||
int serieID = rs.getInt("seriesID");
|
||||
int seasonID = rs.getInt("seasonID");
|
||||
int episodeID = rs.getInt("episodeID");
|
||||
|
||||
if(serieID != oldSerieID)
|
||||
{
|
||||
oldSerieID = serieID;
|
||||
serie = newSerie(rs);
|
||||
serieList.add(serie);
|
||||
|
||||
oldSeasonID = seasonID;
|
||||
season = newSeason(rs);
|
||||
|
||||
oldEpisodeID = episodeID;
|
||||
episode = newEpisode(rs);
|
||||
|
||||
switch(rs.getInt("episodeState"))
|
||||
{
|
||||
case 1:
|
||||
serie.addStateInit();
|
||||
break;
|
||||
case 2:
|
||||
serie.addStateProd();
|
||||
break;
|
||||
case 3:
|
||||
serie.addStateDone();
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if(seasonID != oldSeasonID)
|
||||
{
|
||||
oldSeasonID = seasonID;
|
||||
season = newSeason(rs);
|
||||
|
||||
oldEpisodeID = episodeID;
|
||||
episode = newEpisode(rs);
|
||||
|
||||
switch(rs.getInt("episodeState"))
|
||||
{
|
||||
case 1:
|
||||
serie.addStateInit();
|
||||
break;
|
||||
case 2:
|
||||
serie.addStateProd();
|
||||
break;
|
||||
case 3:
|
||||
serie.addStateDone();
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if(episodeID != oldEpisodeID)
|
||||
{
|
||||
oldEpisodeID = episodeID;
|
||||
episode = newEpisode(rs);
|
||||
|
||||
switch(rs.getInt("episodeState"))
|
||||
{
|
||||
case 1:
|
||||
serie.addStateInit();
|
||||
break;
|
||||
case 2:
|
||||
serie.addStateProd();
|
||||
break;
|
||||
case 3:
|
||||
serie.addStateDone();
|
||||
break;
|
||||
}
|
||||
|
||||
if(season.getSeasonNumber() != 0)
|
||||
{
|
||||
if(maxEpisode.get(season.getSeasonNumber()) < episode.getEpisodeNumber())
|
||||
maxEpisode.put(season.getSeasonNumber(), episode.getEpisodeNumber());
|
||||
}
|
||||
}
|
||||
|
||||
season.setSerie(serie);
|
||||
episode.setSerie(serie);
|
||||
episode.setSeason(season);
|
||||
|
||||
serie.setSeason(season.getSeasonNumber(), season);
|
||||
season.setEpisode(episode.getEpisodeNumber(), episode);
|
||||
}
|
||||
}
|
||||
catch(SQLException e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
finally
|
||||
{
|
||||
ds.close();
|
||||
}
|
||||
|
||||
for(serieData serie : serieList)
|
||||
{
|
||||
seriesListModel.add(serie);
|
||||
serie.setModel(seriesListModel);
|
||||
}
|
||||
|
||||
for(int i = minSeason; i <= maxSeason; i++)
|
||||
{
|
||||
int size = maxEpisode.get(i) * stateWidth;
|
||||
Listheader header = listHeader.get(i);
|
||||
header.setWidth(size + 40 + "px");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static protected episodeData newEpisode(ResultSet rs) throws SQLException
|
||||
{
|
||||
episodeData episode = new episodeData();
|
||||
|
||||
episode.setEpisodeID(rs.getInt("episodeID"));
|
||||
episode.setEpisodeName(rs.getString("episodeName"));
|
||||
episode.setEpisodeNumber(rs.getInt("episodeNumber"));
|
||||
episode.setEpisodeAirDate(rs.getDate("episodeAirDate"));
|
||||
episode.setEpisodeGuestStars(rs.getString("episodeGuestStars"));
|
||||
episode.setEpisodeOverview(rs.getString("episodeOverview"));
|
||||
episode.setEpisodeProductionCode(rs.getString("episodeProductionCode"));
|
||||
episode.setEpisodeStillPath(rs.getString("episodeStillPath"));
|
||||
episode.setEpisodeVoteAverage(rs.getDouble("episodeVoteAverage"));
|
||||
episode.setEpisodeVoteCount(rs.getInt("episodeVoteCount"));
|
||||
episode.setEpisodeCrew(rs.getString("episodeCrew"));
|
||||
episode.setEpisodeState(rs.getInt("episodeState"));
|
||||
|
||||
return episode;
|
||||
}
|
||||
|
||||
static protected seasonData newSeason(ResultSet rs) throws SQLException
|
||||
{
|
||||
seasonData season = new seasonData();
|
||||
|
||||
season.setSeason_ID(rs.getString("season_ID"));
|
||||
season.setSeasonAirDate(rs.getDate("seasonAirDate"));
|
||||
season.setSeasonName(rs.getString("seasonName"));
|
||||
season.setSeasonOverview(rs.getString("seasonOverview"));
|
||||
season.setSeasonID(rs.getInt("seasonID"));
|
||||
season.setSeasonPosterPath(rs.getString("seasonPosterPath"));
|
||||
season.setSeasonNumber(rs.getInt("seasonNumber"));
|
||||
|
||||
return season;
|
||||
}
|
||||
|
||||
static protected serieData newSerie(ResultSet rs) throws SQLException
|
||||
{
|
||||
serieData serie = new serieData();
|
||||
|
||||
serie.setSeriesID(rs.getInt("seriesID"));
|
||||
serie.setSeriesName(rs.getString("seriesName"));
|
||||
serie.setSeriesOriginalName(rs.getString("seriesOriginalName"));
|
||||
serie.setSeriesBackdrop(rs.getString("seriesBackdrop"));
|
||||
serie.setSeriesCreatedBy(rs.getString("seriesCreatedBy"));
|
||||
serie.setSeriesHomepage(rs.getString("seriesHomepage"));
|
||||
serie.setSeriesLastAired(rs.getDate("seriesLastAired"));
|
||||
serie.setSeriesLanguages(rs.getString("seriesLanguages"));
|
||||
serie.setSeriesNetworks(rs.getString("seriesNetworks"));
|
||||
serie.setSeriesNrEpisodes(rs.getInt("seriesNrEpisodes"));
|
||||
serie.setSeriesNrSeasons(rs.getInt("seriesNrSeasons"));
|
||||
serie.setSeriesOriginCountries(rs.getString("seriesOriginCountries"));
|
||||
serie.setSeriesOriginalLanguage(rs.getString("seriesOriginalLanguage"));
|
||||
serie.setSeriesPopularity(rs.getDouble("seriesPopularity"));
|
||||
serie.setSeriesPoster(rs.getString("seriesPoster"));
|
||||
serie.setSeriesProductionCompanies(rs.getString("seriesProductionCompanies"));
|
||||
serie.setSeriesType(rs.getString("seriesType"));
|
||||
serie.setSeriesVoteAverage(rs.getDouble("seriesVoteAverage"));
|
||||
serie.setSeriesVoteCount(rs.getInt("seriesVoteCount"));
|
||||
serie.setSeriesOverview(rs.getString("seriesOverview"));
|
||||
serie.setSeriesFirstAired(rs.getDate("seriesFirstAired"));
|
||||
serie.setSeriesCast(rs.getString("seriesCast"));
|
||||
serie.setSeriesCrew(rs.getString("seriesCrew"));
|
||||
serie.setSeriesGenre(rs.getString("seriesGenre"));
|
||||
serie.setSeriesIMDBID(rs.getString("seriesIMDBID"));
|
||||
serie.setSeriesFreebaseMID(rs.getString("seriesFreebaseMID"));
|
||||
serie.setSeriesFreebaseID(rs.getString("seriesFreebaseID"));
|
||||
serie.setSeriesTVDBID(rs.getString("seriesTVDBID"));
|
||||
serie.setSeriesTVRageID(rs.getString("seriesTVRageID"));
|
||||
serie.setSeriesStatus(rs.getString("seriesStatus"));
|
||||
serie.setSeriesDownload(rs.getString("seriesDownload"));
|
||||
serie.setSeriesLocalPath(rs.getString("seriesLocalPath"));
|
||||
serie.setSeriesResolution(rs.getString("seriesResolution"));
|
||||
serie.setSeriesCliffhanger(rs.getBoolean("seriesCliffhanger"));
|
||||
|
||||
return serie;
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,18 @@
|
||||
vflex="true"
|
||||
apply="at.windesign.application.serie.serieListForwardComposer, at.windesign.application.serie.serieListSelectorComposer"
|
||||
>
|
||||
<hbox width="100%" widths="50%,50%" pack="stretch">
|
||||
<button width="100%"
|
||||
id="updateAll"
|
||||
label="update all"
|
||||
>
|
||||
</button>
|
||||
<button width="100%"
|
||||
id="updateOpen"
|
||||
label="update open"
|
||||
>
|
||||
</button>
|
||||
</hbox>
|
||||
<listbox id="seriesList"
|
||||
multiple="true"
|
||||
autopaging="true"
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
<window id="updateSerie"
|
||||
title="update TV Shows"
|
||||
contentStyle="overflow:auto"
|
||||
border="normal"
|
||||
apply="at.windesign.application.serie.serieUpdateSelectorComposer"
|
||||
width="500px"
|
||||
height="150px">
|
||||
<div class="panel"
|
||||
align="center">
|
||||
<timer id="timer"
|
||||
repeats="true"
|
||||
delay="1000"
|
||||
onCreate="self.stop()"/>
|
||||
<hbox align="center">
|
||||
<progressmeter id="serieProgress"
|
||||
value="0"
|
||||
width="400px"/>
|
||||
<label id="serieProgressLabel"
|
||||
value="0%">
|
||||
</label>
|
||||
</hbox>
|
||||
<label id="serieLabel"
|
||||
value="please wait...">
|
||||
</label>
|
||||
</div>
|
||||
</window>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
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,5 +1,5 @@
|
||||
#Generated by Maven
|
||||
#Wed Nov 25 09:49:24 CET 2020
|
||||
#Sat Feb 20 21:57:16 CET 2021
|
||||
groupId=at.windesign.application
|
||||
artifactId=multimedia
|
||||
version=1.0-SNAPSHOT
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
at\windesign\application\serie\serieDataSource.class
|
||||
at\windesign\application\serie\serieListForwardComposer.class
|
||||
at\windesign\application\testing\testForwardComposer.class
|
||||
at\windesign\application\serie\seasonData.class
|
||||
at\windesign\application\serie\serieRenderer.class
|
||||
at\windesign\application\serie\serieData.class
|
||||
at\windesign\application\serie\serieUtils.class
|
||||
at\windesign\application\serie\serieDetailsForwardComposer$1.class
|
||||
at\windesign\application\serie\serieDetailsForwardComposer.class
|
||||
at\windesign\application\serie\serieListSelectorComposer.class
|
||||
at\windesign\application\serie\serieDetailsSelectorComposer$1.class
|
||||
at\windesign\application\serie\serieDataSource.class
|
||||
at\windesign\application\serie\serieListForwardComposer.class
|
||||
at\windesign\application\serie\serieDetailsSelectorComposer.class
|
||||
at\windesign\application\testing\testForwardComposer.class
|
||||
at\windesign\application\serie\episodeData.class
|
||||
at\windesign\application\main\indexForwardComposer.class
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
C:\Users\birkeh\ownCloud\dev\IntelliJ\zk\multimedia\src\main\java\at\windesign\application\serie\serieDataSource.java
|
||||
C:\Users\birkeh\ownCloud\dev\IntelliJ\zk\multimedia\src\main\java\at\windesign\application\serie\serieData.java
|
||||
C:\Users\birkeh\ownCloud\dev\IntelliJ\zk\multimedia\src\main\java\at\windesign\application\testing\testForwardComposer.java
|
||||
C:\Users\birkeh\ownCloud\dev\IntelliJ\zk\multimedia\src\main\java\at\windesign\application\serie\serieDetailsSelectorComposer.java
|
||||
C:\Users\birkeh\ownCloud\dev\IntelliJ\zk\multimedia\src\main\java\at\windesign\application\serie\serieUpdateSelectorComposer.java
|
||||
C:\Users\birkeh\ownCloud\dev\IntelliJ\zk\multimedia\src\main\java\at\windesign\application\serie\serieUpdateForwardComposer.java
|
||||
C:\Users\birkeh\ownCloud\dev\IntelliJ\zk\multimedia\src\main\java\at\windesign\application\serie\episodeData.java
|
||||
C:\Users\birkeh\ownCloud\dev\IntelliJ\zk\multimedia\src\main\java\at\windesign\application\serie\serieRenderer.java
|
||||
C:\Users\birkeh\ownCloud\dev\IntelliJ\zk\multimedia\src\main\java\at\windesign\application\serie\serieDataSource.java
|
||||
C:\Users\birkeh\ownCloud\dev\IntelliJ\zk\multimedia\src\main\java\at\windesign\application\testing\testForwardComposer.java
|
||||
C:\Users\birkeh\ownCloud\dev\IntelliJ\zk\multimedia\src\main\java\at\windesign\application\serie\serieListSelectorComposer.java
|
||||
C:\Users\birkeh\ownCloud\dev\IntelliJ\zk\multimedia\src\main\java\at\windesign\application\serie\serieListForwardComposer.java
|
||||
C:\Users\birkeh\ownCloud\dev\IntelliJ\zk\multimedia\src\main\java\at\windesign\application\serie\serieDetailsForwardComposer.java
|
||||
C:\Users\birkeh\ownCloud\dev\IntelliJ\zk\multimedia\src\main\java\at\windesign\application\serie\seasonData.java
|
||||
C:\Users\birkeh\ownCloud\dev\IntelliJ\zk\multimedia\src\main\java\at\windesign\application\serie\episodeData.java
|
||||
C:\Users\birkeh\ownCloud\dev\IntelliJ\zk\multimedia\src\main\java\at\windesign\application\serie\serieUtils.java
|
||||
C:\Users\birkeh\ownCloud\dev\IntelliJ\zk\multimedia\src\main\java\at\windesign\application\main\indexForwardComposer.java
|
||||
C:\Users\birkeh\ownCloud\dev\IntelliJ\zk\multimedia\src\main\java\at\windesign\application\serie\serieRenderer.java
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -2,6 +2,18 @@
|
||||
vflex="true"
|
||||
apply="at.windesign.application.serie.serieListForwardComposer, at.windesign.application.serie.serieListSelectorComposer"
|
||||
>
|
||||
<hbox width="100%" widths="50%,50%" pack="stretch">
|
||||
<button width="100%"
|
||||
id="updateAll"
|
||||
label="update all"
|
||||
>
|
||||
</button>
|
||||
<button width="100%"
|
||||
id="updateOpen"
|
||||
label="update open"
|
||||
>
|
||||
</button>
|
||||
</hbox>
|
||||
<listbox id="seriesList"
|
||||
multiple="true"
|
||||
autopaging="true"
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
pack="center">
|
||||
<button id="saveButton" label="Save"/>
|
||||
<button id="cancelButton" label="Cancel"/>
|
||||
<button id="updateButton" label="Update"/>
|
||||
<button id="updateButton" label="Update from TMDB"/>
|
||||
<button id="deleteButton" label="Delete"/>
|
||||
</hbox>
|
||||
</window>
|
||||
@@ -0,0 +1,14 @@
|
||||
<window id="detailsSerie"
|
||||
title=""
|
||||
contentStyle="overflow:auto"
|
||||
border="normal"
|
||||
apply="at.windesign.application.serie.serieUpdateForwardComposer, at.windesign.application.serie.serieUpdateSelectorComposer"
|
||||
width="500px"
|
||||
height="500px"
|
||||
>
|
||||
|
||||
|
||||
<label id="serieLabel"
|
||||
value=""/>
|
||||
|
||||
</window>
|
||||
Reference in New Issue
Block a user