diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..f7f7329 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/dbnavigator.xml b/.idea/dbnavigator.xml new file mode 100644 index 0000000..17f7bea --- /dev/null +++ b/.idea/dbnavigator.xml @@ -0,0 +1,461 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..8e7ceb1 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_10_0.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_10_0.xml new file mode 100644 index 0000000..c708510 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_10_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_10_0.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_10_0.xml new file mode 100644 index 0000000..ba1879a --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_10_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_10_0.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_10_0.xml new file mode 100644 index 0000000..1296654 --- /dev/null +++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_10_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_protobuf_protobuf_java_3_6_1.xml b/.idea/libraries/Maven__com_google_protobuf_protobuf_java_3_6_1.xml new file mode 100644 index 0000000..233670d --- /dev/null +++ b/.idea/libraries/Maven__com_google_protobuf_protobuf_java_3_6_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_omertron_themoviedbapi_4_4.xml b/.idea/libraries/Maven__com_omertron_themoviedbapi_4_4.xml new file mode 100644 index 0000000..c7771fe --- /dev/null +++ b/.idea/libraries/Maven__com_omertron_themoviedbapi_4_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_codec_commons_codec_1_14.xml b/.idea/libraries/Maven__commons_codec_commons_codec_1_14.xml new file mode 100644 index 0000000..50b8f2b --- /dev/null +++ b/.idea/libraries/Maven__commons_codec_commons_codec_1_14.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_4.xml b/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_4.xml new file mode 100644 index 0000000..3b9dcc0 --- /dev/null +++ b/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_io_commons_io_2_6.xml b/.idea/libraries/Maven__commons_io_commons_io_2_6.xml new file mode 100644 index 0000000..d722698 --- /dev/null +++ b/.idea/libraries/Maven__commons_io_commons_io_2_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml b/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml new file mode 100644 index 0000000..eab40b3 --- /dev/null +++ b/.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml b/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml new file mode 100644 index 0000000..c24f7e3 --- /dev/null +++ b/.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_17.xml b/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_17.xml new file mode 100644 index 0000000..a84c3cf --- /dev/null +++ b/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_17.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_7.xml b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_7.xml new file mode 100644 index 0000000..28edf49 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_extras_beanshell_bsh_2_0b6.xml b/.idea/libraries/Maven__org_apache_extras_beanshell_bsh_2_0b6.xml new file mode 100644 index 0000000..3b84834 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_extras_beanshell_bsh_2_0b6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_3.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_3.xml new file mode 100644 index 0000000..c82bb7c --- /dev/null +++ b/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_6.xml b/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_6.xml new file mode 100644 index 0000000..a9f6e19 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_ini4j_ini4j_0_5_4.xml b/.idea/libraries/Maven__org_ini4j_ini4j_0_5_4.xml new file mode 100644 index 0000000..9e114a8 --- /dev/null +++ b/.idea/libraries/Maven__org_ini4j_ini4j_0_5_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_javassist_javassist_3_18_2_GA.xml b/.idea/libraries/Maven__org_javassist_javassist_3_18_2_GA.xml new file mode 100644 index 0000000..f1307ae --- /dev/null +++ b/.idea/libraries/Maven__org_javassist_javassist_3_18_2_GA.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_25.xml b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_25.xml new file mode 100644 index 0000000..20e8163 --- /dev/null +++ b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_25.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_yamj_api_common_2_1.xml b/.idea/libraries/Maven__org_yamj_api_common_2_1.xml new file mode 100644 index 0000000..71c3f20 --- /dev/null +++ b/.idea/libraries/Maven__org_yamj_api_common_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_zkoss_common_zcommon_9_5_0_1.xml b/.idea/libraries/Maven__org_zkoss_common_zcommon_9_5_0_1.xml new file mode 100644 index 0000000..6117b37 --- /dev/null +++ b/.idea/libraries/Maven__org_zkoss_common_zcommon_9_5_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_zkoss_common_zel_9_5_0_1.xml b/.idea/libraries/Maven__org_zkoss_common_zel_9_5_0_1.xml new file mode 100644 index 0000000..235c435 --- /dev/null +++ b/.idea/libraries/Maven__org_zkoss_common_zel_9_5_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_zkoss_common_zweb_9_5_0_1.xml b/.idea/libraries/Maven__org_zkoss_common_zweb_9_5_0_1.xml new file mode 100644 index 0000000..ad78d0a --- /dev/null +++ b/.idea/libraries/Maven__org_zkoss_common_zweb_9_5_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_zkoss_theme_atlantic_9_5_0_1.xml b/.idea/libraries/Maven__org_zkoss_theme_atlantic_9_5_0_1.xml new file mode 100644 index 0000000..44761b9 --- /dev/null +++ b/.idea/libraries/Maven__org_zkoss_theme_atlantic_9_5_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_zkoss_theme_breeze_9_5_0_1.xml b/.idea/libraries/Maven__org_zkoss_theme_breeze_9_5_0_1.xml new file mode 100644 index 0000000..b8a3a2e --- /dev/null +++ b/.idea/libraries/Maven__org_zkoss_theme_breeze_9_5_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_zkoss_theme_sapphire_9_5_0_1.xml b/.idea/libraries/Maven__org_zkoss_theme_sapphire_9_5_0_1.xml new file mode 100644 index 0000000..994bf2f --- /dev/null +++ b/.idea/libraries/Maven__org_zkoss_theme_sapphire_9_5_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_zkoss_theme_silvertail_9_5_0_1.xml b/.idea/libraries/Maven__org_zkoss_theme_silvertail_9_5_0_1.xml new file mode 100644 index 0000000..92ec7bd --- /dev/null +++ b/.idea/libraries/Maven__org_zkoss_theme_silvertail_9_5_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_zkoss_zk_zhtml_9_5_0_1.xml b/.idea/libraries/Maven__org_zkoss_zk_zhtml_9_5_0_1.xml new file mode 100644 index 0000000..8f0ee9b --- /dev/null +++ b/.idea/libraries/Maven__org_zkoss_zk_zhtml_9_5_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_zkoss_zk_zk_9_5_0_1.xml b/.idea/libraries/Maven__org_zkoss_zk_zk_9_5_0_1.xml new file mode 100644 index 0000000..d9a87c1 --- /dev/null +++ b/.idea/libraries/Maven__org_zkoss_zk_zk_9_5_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_zkoss_zk_zkbind_9_5_0_1.xml b/.idea/libraries/Maven__org_zkoss_zk_zkbind_9_5_0_1.xml new file mode 100644 index 0000000..ea4dbe4 --- /dev/null +++ b/.idea/libraries/Maven__org_zkoss_zk_zkbind_9_5_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_zkoss_zk_zkplus_9_5_0_1.xml b/.idea/libraries/Maven__org_zkoss_zk_zkplus_9_5_0_1.xml new file mode 100644 index 0000000..1905385 --- /dev/null +++ b/.idea/libraries/Maven__org_zkoss_zk_zkplus_9_5_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_zkoss_zk_zkwebfragment_9_5_0_1.xml b/.idea/libraries/Maven__org_zkoss_zk_zkwebfragment_9_5_0_1.xml new file mode 100644 index 0000000..363b70f --- /dev/null +++ b/.idea/libraries/Maven__org_zkoss_zk_zkwebfragment_9_5_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_zkoss_zk_zul_9_5_0_1.xml b/.idea/libraries/Maven__org_zkoss_zk_zul_9_5_0_1.xml new file mode 100644 index 0000000..fa74058 --- /dev/null +++ b/.idea/libraries/Maven__org_zkoss_zk_zul_9_5_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_zkoss_zsoup_1_8_2_5.xml b/.idea/libraries/Maven__org_zkoss_zsoup_1_8_2_5.xml new file mode 100644 index 0000000..846eccc --- /dev/null +++ b/.idea/libraries/Maven__org_zkoss_zsoup_1_8_2_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..972ec8d --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..1f5129b --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/multimedia.iml b/multimedia.iml index 1e07365..2a74695 100644 --- a/multimedia.iml +++ b/multimedia.iml @@ -41,5 +41,6 @@ + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 39ee75f..c7391df 100644 --- a/pom.xml +++ b/pom.xml @@ -144,6 +144,13 @@ silvertail ${zk.version} + + + org.ini4j + ini4j + 0.5.4 + ${project.artifactId} diff --git a/src/main/java/at/windesign/application/main/indexForwardComposer.java b/src/main/java/at/windesign/application/main/indexForwardComposer.java index c2cb786..c90023d 100644 --- a/src/main/java/at/windesign/application/main/indexForwardComposer.java +++ b/src/main/java/at/windesign/application/main/indexForwardComposer.java @@ -1,18 +1,21 @@ package at.windesign.application.main; +import jdk.internal.event.Event; import org.zkoss.lang.Library; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Executions; +import org.zkoss.zk.ui.event.ForwardEvent; import org.zkoss.zk.ui.select.annotation.Wire; import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zul.*; +import org.ini4j.Ini; import java.io.*; import java.net.URL; public class indexForwardComposer extends GenericForwardComposer { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; @Wire private Window mainWindow; @@ -31,23 +34,34 @@ public class indexForwardComposer extends GenericForwardComposer { super.doAfterCompose(comp); - String redir = ""; + int tabIndex = 0; - try + File iniFile = new File(System.getProperty("java.io.tmpdir") + "/multimedia.ini"); + if(iniFile.exists()) { - File file = new File(System.getProperty("java.io.tmpdir") + "/redir"); - BufferedReader reader = new BufferedReader(new FileReader(file)); - redir = reader.readLine(); - reader.close(); - file.delete(); + Ini ini = new Ini(iniFile); + tabIndex = Integer.parseInt(ini.get("main", "currentTab")); } - catch (Exception e) + + tabbox.setSelectedIndex(tabIndex); + } + + public void onSelect$tabbox(ForwardEvent fe) + { + int index = tabbox.getSelectedIndex(); + Ini ini = null; + try { + File iniFile = new File(System.getProperty("java.io.tmpdir") + "/multimedia.ini"); + if(!iniFile.exists()) + iniFile.createNewFile(); + ini = new Ini(iniFile); + ini.put("main", "currentTab", index); + ini.store(); } - - if(redir.compareToIgnoreCase("movie") == 0) + catch(IOException e) { - tabbox.setSelectedIndex(1); + e.printStackTrace(); } } } diff --git a/src/main/java/at/windesign/application/movie/movieDataSource.java b/src/main/java/at/windesign/application/movie/movieDataSource.java index 1ead30b..06194b3 100644 --- a/src/main/java/at/windesign/application/movie/movieDataSource.java +++ b/src/main/java/at/windesign/application/movie/movieDataSource.java @@ -1,5 +1,7 @@ package at.windesign.application.movie; +import org.zkoss.zul.Messagebox; + import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; @@ -24,12 +26,12 @@ public enum movieDataSource catch(ClassNotFoundException e) { e.printStackTrace(); + Messagebox.show(e.getMessage()); } } private movieDataSource() { - // drop the table if it exists try { Statement stmt = this.getStatement(); @@ -38,6 +40,7 @@ public enum movieDataSource catch(SQLException e) { e.printStackTrace(); + Messagebox.show(e.getMessage()); } finally { @@ -74,6 +77,7 @@ public enum movieDataSource catch(SQLException e) { e.printStackTrace(); + Messagebox.show(e.getMessage()); } } } diff --git a/src/main/java/at/windesign/application/movie/movieDetailsForwardComposer.java b/src/main/java/at/windesign/application/movie/movieDetailsForwardComposer.java index 6f794fc..b1f7c9f 100644 --- a/src/main/java/at/windesign/application/movie/movieDetailsForwardComposer.java +++ b/src/main/java/at/windesign/application/movie/movieDetailsForwardComposer.java @@ -17,7 +17,7 @@ public class movieDetailsForwardComposer extends GenericForwardComposer } @Listen("onClick = #saveButton") - public void save() throws FileNotFoundException + public void save() { ListModelList resultListModel = (ListModelList) resultList.getModel(); List dataList = resultListModel.getInnerList(); @@ -119,11 +117,6 @@ public class movieDiscoverSelectorComposer extends SelectorComposer } } } - OutputStream tempFile = new FileOutputStream(System.getProperty("java.io.tmpdir") + "/redir"); - PrintStream printStream = new PrintStream(tempFile); - printStream.print("movie"); - printStream.close(); - Executions.sendRedirect(""); } discoverMovie.onClose(); diff --git a/src/main/java/at/windesign/application/movie/movieListForwardComposer.java b/src/main/java/at/windesign/application/movie/movieListForwardComposer.java index bab7db5..a70e717 100644 --- a/src/main/java/at/windesign/application/movie/movieListForwardComposer.java +++ b/src/main/java/at/windesign/application/movie/movieListForwardComposer.java @@ -2,18 +2,33 @@ package at.windesign.application.movie; import at.windesign.application.serie.serieDataSource; import at.windesign.application.serie.serieUtils; +import org.ini4j.Ini; 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.Listbox; -import org.zkoss.zul.Tab; -import org.zkoss.zul.Tabbox; -import org.zkoss.zul.Window; +import org.zkoss.zul.*; + +import java.io.File; public class movieListForwardComposer extends GenericForwardComposer { protected Listbox movieList; // autowired + @Wire + protected Checkbox useFilterMovie; + + @Wire + protected Checkbox filterInitializedMovie; + + @Wire + protected Checkbox filterInProgressMovie; + + @Wire + protected Checkbox filterDoneMovie; + + @Wire + protected Checkbox applyFilterMovie; + @Wire private Tab tabMovies; @@ -22,8 +37,33 @@ public class movieListForwardComposer extends GenericForwardComposer { super.doAfterCompose(comp); + boolean bUseFilter = false; + boolean bFilterInitialize = false; + boolean bFilterInProgress = false; + boolean bFilterDone = false; + + File iniFile = new File(System.getProperty("java.io.tmpdir") + "/multimedia.ini"); + if(iniFile.exists()) + { + Ini ini = new Ini(iniFile); + + bUseFilter = Boolean.parseBoolean(ini.get("filter", "useFilterMovie")); + bFilterInitialize = Boolean.parseBoolean(ini.get("filter", "filterInitializedMovie")); + bFilterInProgress = Boolean.parseBoolean(ini.get("filter", "filterInProgressMovie")); + bFilterDone = Boolean.parseBoolean(ini.get("filter", "filterDoneMovie")); + + useFilterMovie.setChecked(bUseFilter); + filterInitializedMovie.setChecked(bFilterInitialize); + filterInProgressMovie.setChecked(bFilterInProgress); + filterDoneMovie.setChecked(bFilterDone); + + filterInitializedMovie.setDisabled(!bUseFilter); + filterInProgressMovie.setDisabled(!bUseFilter); + filterDoneMovie.setDisabled(!bUseFilter); + } + movieDataSource ds = movieDataSource.INSTANCE; - movieUtils.loadMovies(ds, movieList); + movieUtils.loadMovies(ds, movieList, bUseFilter, bFilterInitialize, bFilterInProgress, bFilterDone); ds = movieDataSource.INSTANCE; movieUtils.movieMetrics(tabMovies, ds); diff --git a/src/main/java/at/windesign/application/movie/movieListSelectorComposer.java b/src/main/java/at/windesign/application/movie/movieListSelectorComposer.java index 7fd9bf3..eabdd47 100644 --- a/src/main/java/at/windesign/application/movie/movieListSelectorComposer.java +++ b/src/main/java/at/windesign/application/movie/movieListSelectorComposer.java @@ -1,5 +1,6 @@ package at.windesign.application.movie; +import org.ini4j.Ini; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.Path; @@ -12,6 +13,8 @@ import org.zkoss.zk.ui.util.Clients; import org.zkoss.zul.*; import org.zkoss.zul.impl.LabelElement; +import java.io.File; +import java.io.IOException; import java.util.HashMap; import java.util.Map; @@ -20,6 +23,18 @@ public class movieListSelectorComposer extends SelectorComposer @Wire private Listbox movieList; + @Wire + private Checkbox useFilterMovie; + + @Wire + private Checkbox filterInitializedMovie; + + @Wire + private Checkbox filterInProgressMovie; + + @Wire + private Checkbox filterDoneMovie; + @Listen("onDoubleClick = #movieList") public void onClickMovieList() { @@ -176,4 +191,47 @@ public class movieListSelectorComposer extends SelectorComposer } ); } + + @Listen("onClick = #useFilterMovie") + public void onUseFilter() + { + if(useFilterMovie.isChecked()) + { + filterInitializedMovie.setDisabled(false); + filterInProgressMovie.setDisabled(false); + filterDoneMovie.setDisabled(false); + } + else + { + filterInitializedMovie.setDisabled(true); + filterInProgressMovie.setDisabled(true); + filterDoneMovie.setDisabled(true); + } + } + + @Listen("onClick = #applyFilterMovie") + public void onApplyFilter() + { + Ini ini = null; + try + { + File iniFile = new File(System.getProperty("java.io.tmpdir") + "/multimedia.ini"); + if(!iniFile.exists()) + iniFile.createNewFile(); + ini = new Ini(iniFile); + ini.put("main", "currentTab", 1); + ini.put("filter", "useFilterMovie", useFilterMovie.isChecked()); + ini.put("filter", "filterInitializedMovie", filterInitializedMovie.isChecked()); + ini.put("filter", "filterInProgressMovie", filterInProgressMovie.isChecked()); + ini.put("filter", "filterDoneMovie", filterDoneMovie.isChecked()); + + ini.store(); + + Executions.sendRedirect(""); + } + catch(IOException e) + { + e.printStackTrace(); + } + } } diff --git a/src/main/java/at/windesign/application/movie/movieSearchSelectorComposer.java b/src/main/java/at/windesign/application/movie/movieSearchSelectorComposer.java index 573a041..9c900f7 100644 --- a/src/main/java/at/windesign/application/movie/movieSearchSelectorComposer.java +++ b/src/main/java/at/windesign/application/movie/movieSearchSelectorComposer.java @@ -7,6 +7,7 @@ import com.omertron.themoviedbapi.model.movie.MovieInfo; import com.omertron.themoviedbapi.results.ResultList; import com.omertron.themoviedbapi.tools.HttpTools; import org.apache.http.client.HttpClient; +import org.ini4j.Ini; import org.yamj.api.common.http.SimpleHttpClientBuilder; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Execution; @@ -18,10 +19,7 @@ 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.FileOutputStream; -import java.io.OutputStream; -import java.io.PrintStream; +import java.io.*; import java.sql.Date; import java.sql.ResultSet; import java.sql.SQLException; @@ -72,7 +70,7 @@ public class movieSearchSelectorComposer extends SelectorComposer } @Listen("onClick = #saveButton") - public void save() throws FileNotFoundException + public void save() { ListModelList resultListModel = (ListModelList) resultList.getModel(); List dataList = resultListModel.getInnerList(); @@ -108,10 +106,21 @@ public class movieSearchSelectorComposer extends SelectorComposer } } } - OutputStream tempFile = new FileOutputStream(System.getProperty("java.io.tmpdir") + "/redir"); - PrintStream printStream = new PrintStream(tempFile); - printStream.print("movie"); - printStream.close(); + + Ini ini = null; + try + { + File iniFile = new File(System.getProperty("java.io.tmpdir") + "/multimedia.ini"); + if(!iniFile.exists()) + iniFile.createNewFile(); + ini = new Ini(iniFile); + ini.put("main", "currentTab", "1"); + ini.store(); + } + catch(IOException e) + { + e.printStackTrace(); + } Executions.sendRedirect(""); } diff --git a/src/main/java/at/windesign/application/movie/movieUpdateSelectorComposer.java b/src/main/java/at/windesign/application/movie/movieUpdateSelectorComposer.java index 5cddea6..1e299b1 100644 --- a/src/main/java/at/windesign/application/movie/movieUpdateSelectorComposer.java +++ b/src/main/java/at/windesign/application/movie/movieUpdateSelectorComposer.java @@ -1,6 +1,7 @@ package at.windesign.application.movie; import com.omertron.themoviedbapi.MovieDbException; +import org.ini4j.Ini; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Execution; import org.zkoss.zk.ui.Executions; @@ -195,12 +196,6 @@ public class movieUpdateSelectorComposer extends SelectorComposer { movieProgressLabel.setValue("Finish!"); updateMovie.detach(); - - OutputStream tempFile = new FileOutputStream(System.getProperty("java.io.tmpdir") + "/redir"); - PrintStream printStream = new PrintStream(tempFile); - printStream.print("movie"); - printStream.close(); - Executions.sendRedirect(""); } } diff --git a/src/main/java/at/windesign/application/movie/movieUtils.java b/src/main/java/at/windesign/application/movie/movieUtils.java index 40cfc73..8a1800d 100644 --- a/src/main/java/at/windesign/application/movie/movieUtils.java +++ b/src/main/java/at/windesign/application/movie/movieUtils.java @@ -12,7 +12,7 @@ import java.util.TreeMap; public class movieUtils { - static public void loadMovies(movieDataSource ds, Listbox moviesList) + static public void loadMovies(movieDataSource ds, Listbox moviesList, boolean useFilter, boolean filterInitialize, boolean filterInProgress, boolean filterDone) { List movieList = new ArrayList<>(); SortedMap listHeader = new TreeMap<>(); @@ -134,8 +134,34 @@ public class movieUtils for(movieData movie : movieList) { - movieListModel.add(movie); - movie.setModel(movieListModel); + boolean insert = false; + + if(useFilter) + { + if(filterInitialize) + { + if(movie.getState() == 1) + insert = true; + } + if(filterInProgress) + { + if(movie.getState() == 2) + insert = true; + } + if(filterDone) + { + if(movie.getState() == 3) + insert = true; + } + } + else + insert = true; + + if(insert) + { + movieListModel.add(movie); + movie.setModel(movieListModel); + } } } diff --git a/src/main/java/at/windesign/application/serie/serieDataSource.java b/src/main/java/at/windesign/application/serie/serieDataSource.java index a7848a4..55e1438 100644 --- a/src/main/java/at/windesign/application/serie/serieDataSource.java +++ b/src/main/java/at/windesign/application/serie/serieDataSource.java @@ -1,5 +1,7 @@ package at.windesign.application.serie; +import org.zkoss.zul.Messagebox; + import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; @@ -24,12 +26,12 @@ public enum serieDataSource catch(ClassNotFoundException e) { e.printStackTrace(); + Messagebox.show(e.getMessage()); } } private serieDataSource() { - // drop the table if it exists try { Statement stmt = this.getStatement(); @@ -38,6 +40,7 @@ public enum serieDataSource catch(SQLException e) { e.printStackTrace(); + Messagebox.show(e.getMessage()); } finally { @@ -74,6 +77,7 @@ public enum serieDataSource catch(SQLException e) { e.printStackTrace(); + Messagebox.show(e.getMessage()); } } } diff --git a/src/main/java/at/windesign/application/serie/serieDetailsForwardComposer.java b/src/main/java/at/windesign/application/serie/serieDetailsForwardComposer.java index 6cbc93c..28e23df 100644 --- a/src/main/java/at/windesign/application/serie/serieDetailsForwardComposer.java +++ b/src/main/java/at/windesign/application/serie/serieDetailsForwardComposer.java @@ -283,7 +283,7 @@ public class serieDetailsForwardComposer extends GenericForwardComposer } } } - OutputStream tempFile = new FileOutputStream(System.getProperty("java.io.tmpdir") + "/redir"); - PrintStream printStream = new PrintStream(tempFile); - printStream.print("serie"); - printStream.close(); - Executions.sendRedirect(""); } discoverSerie.onClose(); diff --git a/src/main/java/at/windesign/application/serie/serieListForwardComposer.java b/src/main/java/at/windesign/application/serie/serieListForwardComposer.java index f3dc49e..2f1d23b 100644 --- a/src/main/java/at/windesign/application/serie/serieListForwardComposer.java +++ b/src/main/java/at/windesign/application/serie/serieListForwardComposer.java @@ -3,11 +3,14 @@ package at.windesign.application.serie; import at.windesign.application.movie.movieDataSource; import at.windesign.application.movie.movieUtils; +import org.ini4j.Ini; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Path; +import org.zkoss.zk.ui.select.annotation.Wire; import org.zkoss.zk.ui.util.GenericForwardComposer; import org.zkoss.zul.*; +import java.io.File; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; @@ -15,19 +18,59 @@ import java.util.*; public class serieListForwardComposer extends GenericForwardComposer { - protected Listbox seriesList; // autowired + protected Listbox seriesList; // autowired + + @Wire + protected Checkbox useFilter; + + @Wire + protected Checkbox filterInitialized; + + @Wire + protected Checkbox filterInProgress; + + @Wire + protected Checkbox filterDone; + + @Wire + protected Checkbox applyFilter; @Override public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); + boolean bUseFilter = false; + boolean bFilterInitialize = false; + boolean bFilterInProgress = false; + boolean bFilterDone = false; + + File iniFile = new File(System.getProperty("java.io.tmpdir") + "/multimedia.ini"); + if(iniFile.exists()) + { + Ini ini = new Ini(iniFile); + + bUseFilter = Boolean.parseBoolean(ini.get("filter", "useFilter")); + bFilterInitialize = Boolean.parseBoolean(ini.get("filter", "filterInitialized")); + bFilterInProgress = Boolean.parseBoolean(ini.get("filter", "filterInProgress")); + bFilterDone = Boolean.parseBoolean(ini.get("filter", "filterDone")); + + useFilter.setChecked(bUseFilter); + filterInitialized.setChecked(bFilterInitialize); + filterInProgress.setChecked(bFilterInProgress); + filterDone.setChecked(bFilterDone); + + filterInitialized.setDisabled(!bUseFilter); + filterInProgress.setDisabled(!bUseFilter); + filterDone.setDisabled(!bUseFilter); + } + serieDataSource ds = serieDataSource.INSTANCE; - serieUtils.loadSeries(ds, seriesList); + serieUtils.loadSeries(ds, seriesList, bUseFilter, bFilterInitialize, bFilterInProgress, bFilterDone); - Window mainWindow = (Window) Path.getComponent("/mainWindow"); - Tab tabSeries = (Tab)mainWindow.getFellow("tabSeries"); - ds = serieDataSource.INSTANCE; + Window mainWindow = (Window) Path.getComponent("/mainWindow"); + Tab tabSeries = (Tab) mainWindow.getFellow("tabSeries"); + ds = serieDataSource.INSTANCE; serieUtils.serieMetrics(tabSeries, ds); } } diff --git a/src/main/java/at/windesign/application/serie/serieListSelectorComposer.java b/src/main/java/at/windesign/application/serie/serieListSelectorComposer.java index 98f7955..f0a3d82 100644 --- a/src/main/java/at/windesign/application/serie/serieListSelectorComposer.java +++ b/src/main/java/at/windesign/application/serie/serieListSelectorComposer.java @@ -1,5 +1,6 @@ package at.windesign.application.serie; +import org.ini4j.Ini; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.Path; @@ -11,6 +12,8 @@ import org.zkoss.zk.ui.select.annotation.Wire; import org.zkoss.zul.*; import org.zkoss.zul.impl.LabelElement; +import java.io.File; +import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.SortedMap; @@ -20,6 +23,18 @@ public class serieListSelectorComposer extends SelectorComposer @Wire private Listbox seriesList; + @Wire + private Checkbox useFilter; + + @Wire + private Checkbox filterInitialized; + + @Wire + private Checkbox filterInProgress; + + @Wire + private Checkbox filterDone; + @Listen("onDoubleClick = #seriesList") public void onClickSeriesList() { @@ -103,6 +118,8 @@ public class serieListSelectorComposer extends SelectorComposer updateSerie(); else if(label.compareToIgnoreCase("delete") == 0) deleteSerie(); + else if(label.compareToIgnoreCase("open download link...") == 0) + openDownloadLinkSerie(); } public void setAllProgressToDone() @@ -135,6 +152,25 @@ public class serieListSelectorComposer extends SelectorComposer model.add(index, s); } + public void openDownloadLinkSerie() + { + Listitem item = seriesList.getSelectedItem(); + + if(item == null) + return; + + serieData s = (serieData) item.getValue(); + String downloadLink = s.getSeriesDownload(); + + if(downloadLink == null) + downloadLink = ""; + +// if(downloadLink.length() == 0) +// return; + + Executions.getCurrent().sendRedirect(downloadLink,"_blank"); + } + public void updateSerie() { Listitem item = seriesList.getSelectedItem(); @@ -157,8 +193,7 @@ public class serieListSelectorComposer extends SelectorComposer mNew.setModel(model); model.remove(index); model.add(index, mNew); - } - catch(Exception e) + } catch(Exception e) { } } @@ -173,28 +208,68 @@ public class serieListSelectorComposer extends SelectorComposer serieData s = (serieData) item.getValue(); Messagebox.show("Are you sure to delete \"" + s.getSeriesName() + "\"?", - "Question", Messagebox.OK | Messagebox.CANCEL, - Messagebox.QUESTION, - new org.zkoss.zk.ui.event.EventListener() + "Question", Messagebox.OK | Messagebox.CANCEL, + Messagebox.QUESTION, + new org.zkoss.zk.ui.event.EventListener() + { + public void onEvent(Event e) + { + if("onOK".equals(e.getName())) { - public void onEvent(Event e) - { - if("onOK".equals(e.getName())) - { - s.delete(); - seriesList.removeItemAt(item.getIndex()); - - Window mainWindow = (Window) Path.getComponent("/mainWindow"); - Tab tabSeries = (Tab) mainWindow.getFellow("tabSeries"); - serieDataSource ds = serieDataSource.INSTANCE; - serieUtils.serieMetrics(tabSeries, ds); - } - else if("onCancel".equals(e.getName())) - { - return; - } - } + s.delete(); + seriesList.removeItemAt(item.getIndex()); + + Window mainWindow = (Window) Path.getComponent("/mainWindow"); + Tab tabSeries = (Tab) mainWindow.getFellow("tabSeries"); + serieDataSource ds = serieDataSource.INSTANCE; + serieUtils.serieMetrics(tabSeries, ds); + } else if("onCancel".equals(e.getName())) + { + return; } - ); + } + } + ); + } + + @Listen("onClick = #useFilter") + public void onUseFilter() + { + if(useFilter.isChecked()) + { + filterInitialized.setDisabled(false); + filterInProgress.setDisabled(false); + filterDone.setDisabled(false); + } else + { + filterInitialized.setDisabled(true); + filterInProgress.setDisabled(true); + filterDone.setDisabled(true); + } + } + + @Listen("onClick = #applyFilter") + public void onApplyFilter() + { + Ini ini = null; + try + { + File iniFile = new File(System.getProperty("java.io.tmpdir") + "/multimedia.ini"); + if(!iniFile.exists()) + iniFile.createNewFile(); + ini = new Ini(iniFile); + ini.put("main", "currentTab", 0); + ini.put("filter", "useFilter", useFilter.isChecked()); + ini.put("filter", "filterInitialized", filterInitialized.isChecked()); + ini.put("filter", "filterInProgress", filterInProgress.isChecked()); + ini.put("filter", "filterDone", filterDone.isChecked()); + + ini.store(); + + Executions.sendRedirect(""); + } catch(IOException e) + { + e.printStackTrace(); + } } } diff --git a/src/main/java/at/windesign/application/serie/serieSearchSelectorComposer.java b/src/main/java/at/windesign/application/serie/serieSearchSelectorComposer.java index 2eb053f..a8c21fa 100644 --- a/src/main/java/at/windesign/application/serie/serieSearchSelectorComposer.java +++ b/src/main/java/at/windesign/application/serie/serieSearchSelectorComposer.java @@ -8,6 +8,7 @@ import com.omertron.themoviedbapi.model.movie.MovieInfo; import com.omertron.themoviedbapi.model.tv.TVBasic; import com.omertron.themoviedbapi.results.ResultList; import org.apache.http.client.HttpClient; +import org.ini4j.Ini; import org.yamj.api.common.http.SimpleHttpClientBuilder; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Execution; @@ -17,10 +18,7 @@ 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.FileOutputStream; -import java.io.OutputStream; -import java.io.PrintStream; +import java.io.*; import java.sql.Date; import java.util.List; @@ -101,11 +99,6 @@ public class serieSearchSelectorComposer extends SelectorComposer } } } - OutputStream tempFile = new FileOutputStream(System.getProperty("java.io.tmpdir") + "/redir"); - PrintStream printStream = new PrintStream(tempFile); - printStream.print("serie"); - printStream.close(); - Executions.sendRedirect(""); } searchSerie.onClose(); diff --git a/src/main/java/at/windesign/application/serie/serieUpdateSelectorComposer.java b/src/main/java/at/windesign/application/serie/serieUpdateSelectorComposer.java index a08f97a..18db348 100644 --- a/src/main/java/at/windesign/application/serie/serieUpdateSelectorComposer.java +++ b/src/main/java/at/windesign/application/serie/serieUpdateSelectorComposer.java @@ -1,6 +1,7 @@ package at.windesign.application.serie; import com.omertron.themoviedbapi.MovieDbException; +import org.ini4j.Ini; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Execution; import org.zkoss.zk.ui.Executions; @@ -217,12 +218,6 @@ public class serieUpdateSelectorComposer extends SelectorComposer { serieProgressLabel.setValue("Finish!"); updateSerie.detach(); - - OutputStream tempFile = new FileOutputStream(System.getProperty("java.io.tmpdir") + "/redir"); - PrintStream printStream = new PrintStream(tempFile); - printStream.print("serie"); - printStream.close(); - Executions.sendRedirect(""); } } diff --git a/src/main/java/at/windesign/application/serie/serieUtils.java b/src/main/java/at/windesign/application/serie/serieUtils.java index 73454aa..d7c9b3d 100644 --- a/src/main/java/at/windesign/application/serie/serieUtils.java +++ b/src/main/java/at/windesign/application/serie/serieUtils.java @@ -1,6 +1,7 @@ package at.windesign.application.serie; import at.windesign.application.movie.movieDataSource; +import org.ini4j.Ini; import org.zkoss.zul.*; import java.io.PrintWriter; @@ -17,7 +18,7 @@ public class serieUtils static private Integer stateWidth = 4; static private Integer stateHeight = 20; - static public void loadSeries(serieDataSource ds, Listbox seriesList) + static public void loadSeries(serieDataSource ds, Listbox seriesList, boolean useFilter, boolean filterInitialize, boolean filterInProgress, boolean filterDone) { List serieList = new ArrayList<>(); int minSeason = 0; @@ -30,9 +31,9 @@ public class serieUtils Statement stmt = ds.getStatement(); ResultSet rs = stmt.executeQuery( "SELECT MIN(seasonNumber) minSeason," + - " MAX(seasonNumber) maxSeason" + - " FROM season;" - ); + " MAX(seasonNumber) maxSeason" + + " FROM season;" + ); while(rs.next()) { @@ -83,68 +84,121 @@ public class serieUtils 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;" - ); + " serie.seriesName seriesName," + +//OPTIMIZE " serie.originalName seriesOriginalName," + + " serie.backdropPath seriesBackdrop," + +//OPTIMIZE " serie.createdBy seriesCreatedBy," + +//OPTIMIZE " serie.homepage seriesHomepage," + +//OPTIMIZE " serie.lastAired seriesLastAired," + +//OPTIMIZE " serie.languages seriesLanguages," + +//OPTIMIZE " serie.networks seriesNetworks," + + " serie.nrEpisodes seriesNrEpisodes," + + " serie.nrSeasons seriesNrSeasons," + + " serie.originCountries seriesOriginCountries," + +//OPTIMIZE " serie.originalLanguage seriesOriginalLanguage," + +//OPTIMIZE " serie.popularity seriesPopularity," + +//OPTIMIZE " serie.posterPath seriesPoster," + + " serie.productionCompanies seriesProductionCompanies," + +//OPTIMIZE " serie.type seriesType," + +//OPTIMIZE " serie.voteAverage seriesVoteAverage," + +//OPTIMIZE " serie.voteCount seriesVoteCount," + + " serie.overview seriesOverview," + + " serie.firstAired seriesFirstAired," + + " serie.cast seriesCast," + + " serie.crew seriesCrew," + + " serie.genre seriesGenre," + +//OPTIMIZE " serie.imdbid seriesIMDBID," + +//OPTIMIZE " serie.freebasemid seriesFreebaseMID," + +//OPTIMIZE " serie.freebaseid seriesFreebaseID," + +//OPTIMIZE " serie.tvdbid seriesTVDBID," + +//OPTIMIZE " serie.tvrageid seriesTVRageID," + + " serie.status seriesStatus," + + " serie.download seriesDownload," + + " serie.localPath seriesLocalPath," + + " serie.resolution seriesResolution," + + " serie.cliffhanger seriesCliffhanger," + +//OPTIMIZE " season._id season_ID," + +//OPTIMIZE " IF(IFNULL(season.airDate, '1900-01-01') = '','1900-01-01', IFNULL(season.airDate, '1900-01-01')) seasonAirDate," + +//OPTIMIZE " season.name seasonName," + +//OPTIMIZE " season.overview seasonOverview," + + " season.id seasonID," + +//OPTIMIZE " season.posterPath seasonPosterPath," + + " season.seasonNumber seasonNumber," + + " episode.id episodeID," + +//OPTIMIZE " episode.name episodeName," + + " episode.episodeNumber episodeNumber," + +//OPTIMIZE " IF(IFNULL(episode.airDate, '1900-01-01') = '','1900-01-01', IFNULL(episode.airDate, '1900-01-01')) episodeAirDate," + +//OPTIMIZE " episode.guestStars episodeGuestStars," + +//OPTIMIZE " episode.overview episodeOverview," + +//OPTIMIZE " episode.productioncode episodeProductionCode," + +//OPTIMIZE " episode.stillPath episodeStillPath," + +//OPTIMIZE " episode.voteAverage episodeVoteAverage," + +//OPTIMIZE " episode.voteCount episodeVoteCount," + +//OPTIMIZE " episode.crew episodeCrew," + + " episode.state episodeState" + + " FROM serie" + + " JOIN season ON (season.seasonNumber != 0 AND serie.seriesID = season.seriesID)" + + " JOIN episode ON (episode.episodeNumber IS NOT NULL AND episode.state IS NOT NULL AND serie.seriesID = episode.seriesID AND season.seasonNumber = episode.seasonNumber)" + + " WHERE serie.seriesID < 1000000" + + " UNION" + + " SELECT serie.seriesID seriesID," + + " serie.seriesName seriesName," + +//OPTIMIZE " serie.originalName seriesOriginalName," + + " serie.backdropPath seriesBackdrop," + +//OPTIMIZE " serie.createdBy seriesCreatedBy," + +//OPTIMIZE " serie.homepage seriesHomepage," + +//OPTIMIZE " serie.lastAired seriesLastAired," + +//OPTIMIZE " serie.languages seriesLanguages," + +//OPTIMIZE " serie.networks seriesNetworks," + + " serie.nrEpisodes seriesNrEpisodes," + + " serie.nrSeasons seriesNrSeasons," + + " serie.originCountries seriesOriginCountries," + +//OPTIMIZE " serie.originalLanguage seriesOriginalLanguage," + +//OPTIMIZE " serie.popularity seriesPopularity," + +//OPTIMIZE " serie.posterPath seriesPoster," + + " serie.productionCompanies seriesProductionCompanies," + +//OPTIMIZE " serie.type seriesType," + +//OPTIMIZE " serie.voteAverage seriesVoteAverage," + +//OPTIMIZE " serie.voteCount seriesVoteCount," + + " serie.overview seriesOverview," + + " serie.firstAired seriesFirstAired," + + " serie.cast seriesCast," + + " serie.crew seriesCrew," + + " serie.genre seriesGenre," + +//OPTIMIZE " serie.imdbid seriesIMDBID," + +//OPTIMIZE " serie.freebasemid seriesFreebaseMID," + +//OPTIMIZE " serie.freebaseid seriesFreebaseID," + +//OPTIMIZE " serie.tvdbid seriesTVDBID," + +//OPTIMIZE " serie.tvrageid seriesTVRageID," + + " serie.status seriesStatus," + + " serie.download seriesDownload," + + " serie.localPath seriesLocalPath," + + " serie.resolution seriesResolution," + + " serie.cliffhanger seriesCliffhanger," + +//OPTIMIZE " season._id season_ID," + +//OPTIMIZE " IF(IFNULL(season.airDate, '1900-01-01') = '','1900-01-01', IFNULL(season.airDate, '1900-01-01')) seasonAirDate," + +//OPTIMIZE " season.name seasonName," + +//OPTIMIZE " season.overview seasonOverview," + + " 0 seasonID," + +//OPTIMIZE " season.posterPath seasonPosterPath," + + " 0 seasonNumber," + + " 0 episodeID," + +//OPTIMIZE " episode.name episodeName," + + " 0 episodeNumber," + +//OPTIMIZE " IF(IFNULL(episode.airDate, '1900-01-01') = '','1900-01-01', IFNULL(episode.airDate, '1900-01-01')) episodeAirDate," + +//OPTIMIZE " episode.guestStars episodeGuestStars," + +//OPTIMIZE " episode.overview episodeOverview," + +//OPTIMIZE " episode.productioncode episodeProductionCode," + +//OPTIMIZE " episode.stillPath episodeStillPath," + +//OPTIMIZE " episode.voteAverage episodeVoteAverage," + +//OPTIMIZE " episode.voteCount episodeVoteCount," + +//OPTIMIZE " episode.crew episodeCrew," + + " 0 episodeState" + + " FROM serie" + + " WHERE serie.seriesID >= 1000000" + + " ORDER BY seriesName," + + " seriesFirstAired;" + ); // fetch all events from database serieData serie = new serieData(); @@ -165,14 +219,14 @@ public class serieUtils if(serieID != oldSerieID) { oldSerieID = serieID; - serie = newSerie(rs); + serie = newSerie(rs); serieList.add(serie); oldSeasonID = seasonID; - season = newSeason(rs); + season = newSeason(rs); oldEpisodeID = episodeID; - episode = newEpisode(rs); + episode = newEpisode(rs); switch(rs.getInt("episodeState")) { @@ -190,10 +244,10 @@ public class serieUtils else if(seasonID != oldSeasonID) { oldSeasonID = seasonID; - season = newSeason(rs); + season = newSeason(rs); oldEpisodeID = episodeID; - episode = newEpisode(rs); + episode = newEpisode(rs); switch(rs.getInt("episodeState")) { @@ -211,7 +265,7 @@ public class serieUtils else if(episodeID != oldEpisodeID) { oldEpisodeID = episodeID; - episode = newEpisode(rs); + episode = newEpisode(rs); switch(rs.getInt("episodeState")) { @@ -252,8 +306,34 @@ public class serieUtils for(serieData serie : serieList) { - seriesListModel.add(serie); - serie.setModel(seriesListModel); + boolean insert = false; + + if(useFilter) + { + if(filterInitialize) + { + if(serie.getStateInit() > 0) + insert = true; + } + if(filterInProgress) + { + if(serie.getStateProg() > 0) + insert = true; + } + if(filterDone) + { + if(serie.getStateDone() > 0 && serie.getStateInit() == 0 && serie.getStateProg() == 0) + insert = true; + } + } + else + insert = true; + + if(insert) + { + seriesListModel.add(serie); + serie.setModel(seriesListModel); + } } for(int i = minSeason; i <= maxSeason; i++) @@ -269,16 +349,16 @@ public class serieUtils episodeData episode = new episodeData(); episode.setEpisodeID(rs.getInt("episodeID")); - episode.setEpisodeName(rs.getString("episodeName")); +//OPTIMIZE 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")); +//OPTIMIZE episode.setEpisodeAirDate(rs.getDate("episodeAirDate")); +//OPTIMIZE episode.setEpisodeGuestStars(rs.getString("episodeGuestStars")); +//OPTIMIZE episode.setEpisodeOverview(rs.getString("episodeOverview")); +//OPTIMIZE episode.setEpisodeProductionCode(rs.getString("episodeProductionCode")); +//OPTIMIZE episode.setEpisodeStillPath(rs.getString("episodeStillPath")); +//OPTIMIZE episode.setEpisodeVoteAverage(rs.getDouble("episodeVoteAverage")); +//OPTIMIZE episode.setEpisodeVoteCount(rs.getInt("episodeVoteCount")); +//OPTIMIZE episode.setEpisodeCrew(rs.getString("episodeCrew")); episode.setEpisodeState(rs.getInt("episodeState")); return episode; @@ -288,12 +368,12 @@ public class serieUtils { 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")); +//OPTIMIZE season.setSeason_ID(rs.getString("season_ID")); +//OPTIMIZE season.setSeasonAirDate(rs.getDate("seasonAirDate")); +//OPTIMIZE season.setSeasonName(rs.getString("seasonName")); +//OPTIMIZE season.setSeasonOverview(rs.getString("seasonOverview")); season.setSeasonID(rs.getInt("seasonID")); - season.setSeasonPosterPath(rs.getString("seasonPosterPath")); +//OPTIMIZE season.setSeasonPosterPath(rs.getString("seasonPosterPath")); season.setSeasonNumber(rs.getInt("seasonNumber")); return season; @@ -305,33 +385,33 @@ public class serieUtils serie.setSeriesID(rs.getInt("seriesID")); serie.setSeriesName(rs.getString("seriesName")); - serie.setSeriesOriginalName(rs.getString("seriesOriginalName")); +//OPTIMIZE 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")); +//OPTIMIZE serie.setSeriesCreatedBy(rs.getString("seriesCreatedBy")); +//OPTIMIZE serie.setSeriesHomepage(rs.getString("seriesHomepage")); +//OPTIMIZE serie.setSeriesLastAired(rs.getDate("seriesLastAired")); +//OPTIMIZE serie.setSeriesLanguages(rs.getString("seriesLanguages")); +//OPTIMIZE 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")); +//OPTIMIZE serie.setSeriesOriginalLanguage(rs.getString("seriesOriginalLanguage")); +//OPTIMIZE serie.setSeriesPopularity(rs.getDouble("seriesPopularity")); +//OPTIMIZE 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")); +//OPTIMIZE serie.setSeriesType(rs.getString("seriesType")); +//OPTIMIZE serie.setSeriesVoteAverage(rs.getDouble("seriesVoteAverage")); +//OPTIMIZE 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")); +//OPTIMIZE serie.setSeriesIMDBID(rs.getString("seriesIMDBID")); +//OPTIMIZE serie.setSeriesFreebaseMID(rs.getString("seriesFreebaseMID")); +//OPTIMIZE serie.setSeriesFreebaseID(rs.getString("seriesFreebaseID")); +//OPTIMIZE serie.setSeriesTVDBID(rs.getString("seriesTVDBID")); +//OPTIMIZE serie.setSeriesTVRageID(rs.getString("seriesTVRageID")); serie.setSeriesStatus(rs.getString("seriesStatus")); serie.setSeriesDownload(rs.getString("seriesDownload")); serie.setSeriesLocalPath(rs.getString("seriesLocalPath")); diff --git a/src/main/webapp/WEB-INF/zk.xml b/src/main/webapp/WEB-INF/zk.xml index cf3aaa6..6696157 100644 --- a/src/main/webapp/WEB-INF/zk.xml +++ b/src/main/webapp/WEB-INF/zk.xml @@ -12,6 +12,10 @@ org.zkoss.theme.preferred - breeze_c + + + atlantic + + diff --git a/src/main/webapp/index.zul b/src/main/webapp/index.zul index 9859fce..f315863 100644 --- a/src/main/webapp/index.zul +++ b/src/main/webapp/index.zul @@ -14,8 +14,8 @@ - - + + diff --git a/src/main/webapp/movie/centerMovie.zul b/src/main/webapp/movie/centerMovie.zul index 87adec6..4b157c0 100644 --- a/src/main/webapp/movie/centerMovie.zul +++ b/src/main/webapp/movie/centerMovie.zul @@ -2,23 +2,46 @@ vflex="true" apply="at.windesign.application.movie.movieListForwardComposer, at.windesign.application.movie.movieListSelectorComposer" > - - - - - + + + + + + + + + + + + +