git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Wed, 14 Aug 2019 11:24:12 +0000 (11:24 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Wed, 14 Aug 2019 11:24:12 +0000 (11:24 +0000)
14 files changed:
server/user.jobengine.osgi.commons/src/user/commons/StoreUri.java
server/user.jobengine.osgi.commons/src/user/mediacube/metadata/interfaces/IMetadataProvider.java
server/user.jobengine.osgi.commons/src/user/mediacube/metadata/interfaces/IMetadataProviderFactory.java [new file with mode: 0644]
server/user.jobengine.osgi.commons/src/user/mediacube/metadata/interfaces/MetadataType.java [moved from server/user.mediacube.metadata/src/user/mediabube/metadata/planair/MetadataType.java with 51% similarity]
server/user.jobengine.osgi.commons/src/user/mediacube/metadata/interfaces/PlanAirMetadataListOptions.java [moved from server/user.mediacube.metadata/src/user/mediabube/metadata/planair/PlanAirMetadataListOptions.java with 78% similarity]
server/user.jobengine.osgi.server/pages/maestro.zul
server/user.jobengine.osgi.server/pages/menu.zul
server/user.jobengine.osgi.server/pages/planair.zul [new file with mode: 0644]
server/user.jobengine.osgi.server/pages/planner.zul [deleted file]
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/IndexModel.java
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MenuModel.java
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/PlannerListModel.java
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/TypeFilter.java
server/user.mediacube.metadata/src/user/mediabube/metadata/planair/IPlanAirMaterialMapper.java

index 3ef4803791846d7dad7f06ab23a137f83d6a34eb..c6a725ce396449b490b6991a1df54ded29fecacb 100644 (file)
@@ -2,7 +2,6 @@ package user.commons;
 
 import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;
-import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.Serializable;
@@ -137,11 +136,16 @@ public class StoreUri extends EntityBase implements Serializable {
                        out.flush();
                } finally {
                        try {
-                               out.close();
-                               in.close();
-                               inputLister.cleanUp();
-                               outputLister.cleanUp();
-                       } catch (IOException e) {
+                               if (out != null)
+                                       out.close();
+                               if (in != null)
+                                       in.close();
+                               if (inputLister != null)
+                                       inputLister.cleanUp();
+                               if (outputLister != null)
+                                       outputLister.cleanUp();
+                       } catch (Exception e) {
+                               logger.error("Additional error!", e);
                        }
                }
                result.setSize(uploadedBytes);
index 00dee5e9032ea670ce4a998e328fe78a8971dbfe..cd20c8cec91cf888153b54eb3ede16fdc279c02f 100644 (file)
@@ -4,5 +4,7 @@ import java.util.List;
 \r
 public interface IMetadataProvider {\r
 \r
+       List<String> getColumnNames(MetadataType type);\r
+\r
        List<IMetadata> list(IMetadataListOptions options) throws Exception;\r
 }\r
diff --git a/server/user.jobengine.osgi.commons/src/user/mediacube/metadata/interfaces/IMetadataProviderFactory.java b/server/user.jobengine.osgi.commons/src/user/mediacube/metadata/interfaces/IMetadataProviderFactory.java
new file mode 100644 (file)
index 0000000..058716c
--- /dev/null
@@ -0,0 +1,7 @@
+package user.mediacube.metadata.interfaces;\r
+\r
+public interface IMetadataProviderFactory {\r
+\r
+       IMetadataProvider getProvider(MetadataProviderType type);\r
+\r
+}
\ No newline at end of file
similarity index 78%
rename from server/user.mediacube.metadata/src/user/mediabube/metadata/planair/PlanAirMetadataListOptions.java
rename to server/user.jobengine.osgi.commons/src/user/mediacube/metadata/interfaces/PlanAirMetadataListOptions.java
index 6198a40f738b6a2c55cf976a701bac540f744c5b..8ff5149955bf91e17a4557b357aa5d95357d9182 100644 (file)
@@ -1,10 +1,7 @@
-package user.mediabube.metadata.planair;\r
+package user.mediacube.metadata.interfaces;\r
 \r
 import java.util.Date;\r
 \r
-import user.mediacube.metadata.interfaces.IMetadataListOptions;\r
-import user.mediacube.metadata.interfaces.MetadataType;\r
-\r
 public class PlanAirMetadataListOptions implements IMetadataListOptions {\r
        private Date broadcastDay;\r
        private boolean problematic;\r
index ccb9d801336c5ab349557e83b63797c871f8a5eb..b51431200b699ef87b0d0730be51e453d5155daa 100644 (file)
@@ -14,7 +14,7 @@
                        <center border="true">\r
                                <panel width="100%" border="normal" title="Traffic" vflex="true">\r
                        <panelchildren style="padding:5px;">\r
-                                       <include src="/pages/planner.zul" />\r
+                                       <include src="/pages/planair.zul" />\r
                                </panelchildren>\r
                </panel>\r
                        </center>\r
index e568dacad1c85b6e6a97876f6ed2eb73e68dcf76..0a15efd1910a6fbc5f990963f9e96d162351f6b0 100644 (file)
@@ -55,7 +55,7 @@
                        <menu sclass="whitemenu" label="Archívum" >\r
                                <menupopup>\r
                                        <menuitem sclass="rozsda" label="Keresés" onClick="@command('navigate', action='/')" disabled="false" />\r
-                                       <menuitem sclass="rozsda" label="Maestro" onClick="@command('navigate', action='maestro')" disabled="false" />\r
+                                       <menuitem sclass="rozsda" label="Maestro" onClick="@command('navigate', action='maestro')" visible="${lm.maestroAvailable}" />\r
                                        <menuitem sclass="rozsda" label="Folyamatok" onClick="@command('navigate', action='jobs')" disabled="${not sessionScope.userPrincipal.admin or sessionScope.userPrincipal.anonymous}" />\r
                                        <menuitem sclass="rozsda" label="Hiányzó anyagok" onClick="@command('navigate', action='missingmaterials')" disabled="${not sessionScope.userPrincipal.submitter or sessionScope.userPrincipal.anonymous}" />\r
                                </menupopup>\r
diff --git a/server/user.jobengine.osgi.server/pages/planair.zul b/server/user.jobengine.osgi.server/pages/planair.zul
new file mode 100644 (file)
index 0000000..77922a4
--- /dev/null
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<zk xmlns:w="http://www.zkoss.org/2005/zk/client">\r
+       <window id="zkwindow" border="true" width="100%" height="100%" contentStyle="padding:0;" apply="org.zkoss.bind.BindComposer"\r
+               viewModel="@id('vm') @init('user.jobengine.zk.model.PlannerListModel')">\r
+               <custom-attributes org.zkoss.zul.image.preload="true" />\r
+\r
+               <vbox>\r
+                       <checkbox label="Csak a hiányosak" checked="@bind(vm.problematic)" />\r
+\r
+                       <hbox>\r
+                               <checkbox onCheck="searchDate.disabled=!self.checked" checked="@bind(vm.searchDateEnabled)" />\r
+                               <datebox id="searchDate" format="short" value="@bind(vm.searchDate)" onOK="@command('refresh')" />\r
+                               <textbox id="searchText" value="@bind(vm.searchText)" onOK="@command('refresh')" />\r
+                               <button image="/img/baseline_close_black_18dp.png" onClick="searchText.text = null" />\r
+                               <button id="refresh" image="/img/baseline_refresh_black_18dp.png" onClick="@command('refresh')" />\r
+                       </hbox>\r
+               </vbox>\r
+\r
+               <tabbox vflex="true" selectedIndex="@bind(vm.selectedTabIndex)">\r
+                       <tabs id="tabs">\r
+                               <tab label="Műsor" />\r
+                               <tab label="Promo" />\r
+                               <tab label="Reklám" />\r
+                       </tabs>\r
+                       <tabpanels>\r
+                               <tabpanel>\r
+                                       <listbox vflex="true" sizedByContent="true" checkmark="true" model="@load(vm.materialList)"\r
+                                               emptyMessage="Nincs találat! Kattintson a frissítés gombra.">\r
+                                               <custom-attributes org.zkoss.zul.listbox.selectOnHighlight.disabled="true" />\r
+                                               <listhead sizable="true">\r
+                                                       <listheader label="Azonosító" hflex="min" align="left" />\r
+                                                       <listheader label="OK" hflex="min" align="left" />\r
+                                                       <listheader label="Szegmens" hflex="min" align="left" />\r
+                                                       <listheader label="Cím" hflex="min" align="left" />\r
+                                                       <listheader label="Epizódszám" hflex="min" align="left" />\r
+                                                       <listheader label="Epizód azonosító" hflex="min" align="left" />\r
+                                                       <listheader label="Első adás" hflex="min" align="left" />\r
+                                                       <listheader label="Következő adás" hflex="min" align="left" />\r
+                                                       <listheader label="Epizódcím" hflex="min" align="left" />\r
+                                               </listhead>\r
+                                               <template name="model">\r
+                                                       <listitem>\r
+                                                               <listcell>\r
+                                                                       <label value="@load(each.mediaID)" />\r
+                                                               </listcell>\r
+                                                               <listcell>\r
+                                                                       <checkbox checked="@load(each.okForAir)" disabled="true" />\r
+                                                               </listcell>\r
+                                                               <listcell>\r
+                                                                       <label value="@load(each.segment)" />\r
+                                                               </listcell>\r
+                                                               <listcell>\r
+                                                                       <label value="@load(each.progTitle)" />\r
+                                                               </listcell>\r
+                                                               <listcell>\r
+                                                                       <label value="@load(each.episode)" />\r
+                                                               </listcell>\r
+                                                               <listcell>\r
+                                                                       <label value="@load(each.episodeID)" />\r
+                                                               </listcell>\r
+                                                               <listcell>\r
+                                                                       <label value="@load(each.firstBroadcastDate)" />\r
+                                                               </listcell>\r
+                                                               <listcell>\r
+                                                                       <label value="@load(each.nextBroadcastDate)" />\r
+                                                               </listcell>\r
+                                                               <listcell>\r
+                                                                       <label value="@load(each.epTitle)" />\r
+                                                               </listcell>\r
+                                                       </listitem>\r
+                                               </template>\r
+                                               <listfoot>\r
+                                                       <listfooter>                                    \r
+                                                               <label value="@load(vm.materialList eq null ? 0 : vm.materialList.size())" /><label value=" találat" />\r
+                                                       </listfooter>\r
+                                               </listfoot>\r
+                                       </listbox>\r
+                               </tabpanel>\r
+                               <tabpanel>\r
+                                       <listbox vflex="true" sizedByContent="true" checkmark="true" model="@load(vm.promoList)"\r
+                                               emptyMessage="Nincs találat! Kattintson a frissítés gombra.">\r
+                                               <custom-attributes org.zkoss.zul.listbox.selectOnHighlight.disabled="true" />\r
+                                               <listhead sizable="true">\r
+                                                       <listheader label="Azonosító" hflex="min" align="left" />\r
+                                                       <listheader label="OK" hflex="min" align="left" />\r
+                                                       <listheader label="Cím" hflex="max" align="left" />\r
+                                                       <listheader label="Epizódcím" hflex="min" align="left" />\r
+                                               </listhead>\r
+                                               <template name="model">\r
+                                                       <listitem>\r
+                                                               <listcell>\r
+                                                                       <label value="@load(each.mediaID)" />\r
+                                                               </listcell>\r
+                                                               <listcell>\r
+                                                                       <checkbox checked="@load(each.okForAir)" disabled="true" />\r
+                                                               </listcell>\r
+                                                               <listcell>\r
+                                                                       <label value="@load(each.title)" />\r
+                                                               </listcell>\r
+                                                               <listcell>\r
+                                                                       <label value="@load(each.progTitle)" />\r
+                                                               </listcell>\r
+                                                       </listitem>\r
+                                               </template>\r
+                                               <listfoot>\r
+                                                       <listfooter>                                    \r
+                                                               <label value="@load(vm.promoList eq null ? 0 : vm.promoList.size())" /><label value=" találat" />\r
+                                                       </listfooter>\r
+                                               </listfoot>\r
+                                       </listbox>\r
+                               </tabpanel>\r
+                               <tabpanel>\r
+\r
+                                       <listbox vflex="true" sizedByContent="true" checkmark="true" model="@load(vm.adList)"\r
+                                               emptyMessage="Nincs találat! Kattintson a frissítés gombra.">\r
+                                               <custom-attributes org.zkoss.zul.listbox.selectOnHighlight.disabled="true" />\r
+                                               <listhead sizable="true">\r
+                                                       <listheader label="Azonosító" hflex="min" align="left" />\r
+                                                       <listheader label="OK" hflex="min" align="left" />\r
+                                                       <listheader label="Cím" hflex="max" align="left" />\r
+                                               </listhead>\r
+                                               <template name="model">\r
+                                                       <listitem>\r
+                                                               <listcell>\r
+                                                                       <label value="@load(each.mediaID)" />\r
+                                                               </listcell>\r
+                                                               <listcell>\r
+                                                                       <checkbox checked="@load(each.okForAir)" disabled="true" />\r
+                                                               </listcell>\r
+                                                               <listcell>\r
+                                                                       <label value="@load(each.title)" />\r
+                                                               </listcell>\r
+                                                       </listitem>\r
+                                               </template>\r
+                                               <listfoot>\r
+                                                       <listfooter>                                    \r
+                                                               <label value="@load(vm.adList eq null ? 0 : vm.adList.size())" /><label value=" találat" />\r
+                                                       </listfooter>\r
+                                               </listfoot>\r
+                                       </listbox>\r
+                               </tabpanel>\r
+                       </tabpanels>\r
+               </tabbox>\r
+\r
+       </window>\r
+</zk>\r
diff --git a/server/user.jobengine.osgi.server/pages/planner.zul b/server/user.jobengine.osgi.server/pages/planner.zul
deleted file mode 100644 (file)
index cfdd4ff..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<zk xmlns:w="http://www.zkoss.org/2005/zk/client">\r
-<window id="zkwindow" border="true" width="100%" height="100%" contentStyle="padding:0;" \r
-       apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('user.jobengine.zk.model.PlannerListModel')">\r
-               <custom-attributes org.zkoss.zul.image.preload="true" />\r
-                                   <!-- Keresés menü -->\r
-                                   <hbox>\r
-                                               <button id="back" image="/img/baseline_arrow_back_black_18dp.png">\r
-                                                       <attribute w:name="onClick"><![CDATA[\r
-                                                               var ts = zk.Widget.$(jq('$search')),\r
-                                                               val = "";\r
-                                                               ts.setValue(val);\r
-                                                               ts.smartUpdate('value', val);\r
-                                                       ]]></attribute>\r
-                                               </button>\r
-                                               <textbox id="search" />\r
-                                               <button id="resetSearch" image="/img/baseline_close_black_18dp.png">\r
-                                                       <attribute w:name="onClick"><![CDATA[\r
-                                                               var ts = zk.Widget.$(jq('$search')),\r
-                                                               val = "";\r
-                                                               ts.setValue(val);\r
-                                                               ts.smartUpdate('value', val);\r
-                                                       ]]></attribute>\r
-                                               </button>\r
-                                               <button id="refresh" image="/img/baseline_refresh_black_18dp.png">\r
-                                               </button>\r
-                                       </hbox>\r
-                                       <!-- Gombok -->\r
-                                       <hbox pack="left" align="top" id="searchFiltersMenu">\r
-                                               <vlayout>\r
-                                                       <toolbar class="toolbar">\r
-                                                               <forEach items="@load(vm.topTypeFilterNames)">\r
-                                                                       <toolbarbutton label="@load(each)" mode="toggle" \r
-                                                                                                       checked="@bind(vm.typeFilters[each].checked) @validator(vm.allFilterCheckedValidator)" />\r
-                                                               </forEach>\r
-                                                       </toolbar>\r
-                                               </vlayout>\r
-                                       </hbox>\r
-                                       <!-- Cél file lista -->\r
-                                       <listbox id="lbox" vflex="true"  \r
-                                                   oddRowSclass="listbox-odd-style" sclass="listbox-normal-style" style="border: none; background: #e3e3e3 !important;"\r
-                                                    onAfterRender="lbox.focus()">\r
-                                               <listhead>\r
-                                                       <listheader label="Tételek" />\r
-                                               </listhead>\r
-\r
-                                               <template name="model" hflex="max">\r
-                                                       <listitem >\r
-                                                               <listcell> label="Tételek" /></listcell>\r
-                                                       </listitem>\r
-                                               </template>\r
-                                       </listbox> \r
-\r
-</window>\r
-</zk>\r
index a6b52dd66d3b16e29baca91489ee1ceaddba7918..61e0583b142d59f922ea6f2fc5e4e9894ec35b39 100644 (file)
@@ -25,7 +25,7 @@ public class IndexModel extends BaseModel {
        private static final Logger logger = LogManager.getLogger();\r
        private String page;\r
        private Map<String, Object> pathMap = ListUtils.asMap("/", "searchitems", "jobs", "joblist", "missingmaterials", "missingmaterials", "newshistory",\r
-                       "newshistory", "statistics", "statistics");\r
+                       "newshistory", "statistics", "statistics", "maestro", "maestro");\r
 \r
        @AfterCompose\r
        public void afterCompose(@ContextParam(ContextType.VIEW) Component view) {\r
index 6804b3c0d8b986c28d4d0a445616e52386457a33..5f3f2457709bc676c86125af7c14a019875f1602 100644 (file)
@@ -22,14 +22,15 @@ import org.zkoss.zul.Menuitem;
 import org.zkoss.zul.Window;\r
 \r
 import user.jobengine.db.ArchivedMedia;\r
+import user.jobengine.osgi.server.ComponentBinder;\r
 import user.jobengine.zk.util.SessionUtil;\r
+import user.mediacube.metadata.interfaces.MetadataProviderType;\r
 \r
 public class MenuModel extends BaseModel {\r
        private static final Logger logger = LogManager.getLogger();\r
        private static final String PAGES_RETRIEVEBATCHSELECTOR_ZUL = "/pages/retrievebatchselector.zul";\r
        private String basketMenuLabel = "(0)";\r
        private List<ArchivedMedia> basketItems = new ArrayList<>();\r
-\r
        @Wire\r
        Menuitem basketIMenuItem;\r
 \r
@@ -63,6 +64,12 @@ public class MenuModel extends BaseModel {
                return basketMenuLabel;\r
        }\r
 \r
+       public boolean isMaestroAvailable() {\r
+               return ComponentBinder.getMetadataProviderFactory() != null\r
+                               && ComponentBinder.getMetadataProviderFactory().getProvider(MetadataProviderType.PLANAIR) != null;\r
+\r
+       }\r
+\r
        @Command\r
        public void navigate(@BindingParam("action") String action) {\r
                IndexModel indexModel = (IndexModel) SessionUtil.getAttribute(IndexModel.class.getCanonicalName());\r
@@ -81,7 +88,7 @@ public class MenuModel extends BaseModel {
                        logger.warn("Item to select is null");\r
                        return;\r
                }\r
-                       \r
+\r
                if (select) {\r
                        if (!basketItems.contains(item)) {\r
                                basketItems.add(item);\r
index 50dfabb0bdfaab0590cd5de1ec51d00221d8c5f5..358a396738601881c10d1abe2afa01ce55bff8aa 100644 (file)
 package user.jobengine.zk.model;\r
 \r
-import java.util.LinkedHashMap;\r
-import java.util.Map;\r
+import java.util.Date;\r
+import java.util.List;\r
 \r
 import org.apache.logging.log4j.LogManager;\r
 import org.apache.logging.log4j.Logger;\r
+import org.zkoss.bind.BindUtils;\r
+import org.zkoss.bind.Validator;\r
+import org.zkoss.bind.annotation.Command;\r
 import org.zkoss.bind.annotation.Init;\r
+import org.zkoss.zul.Column;\r
+import org.zkoss.zul.ListModelList;\r
 \r
 import user.commons.config.JSONConfig;\r
+import user.jobengine.osgi.server.ComponentBinder;\r
+import user.mediacube.metadata.interfaces.IMetadata;\r
+import user.mediacube.metadata.interfaces.IMetadataProvider;\r
+import user.mediacube.metadata.interfaces.IMetadataProviderFactory;\r
+import user.mediacube.metadata.interfaces.MetadataProviderType;\r
+import user.mediacube.metadata.interfaces.MetadataType;\r
+import user.mediacube.metadata.interfaces.PlanAirMetadataListOptions;\r
 \r
 public class PlannerListModel {\r
-       private MaestroConfig config = null;\r
        private static final Logger logger = LogManager.getLogger();\r
-       private static final String PROGRAM = "Műsor";\r
-       private static final String PROMO = "Promó";\r
-       private static final String AD = "Reklám";\r
-       private String[] topTypeFilterNames;\r
-       private Map<String, TypeFilter> typeFilters;\r
-       \r
+       private MaestroConfig config = null;\r
+       private Validator filterCheckedValidator;\r
+       private List<Column> columns;\r
+       private ListModelList<IMetadata> materialList;\r
+       private ListModelList<IMetadata> promoList;\r
+       private ListModelList<IMetadata> adList;\r
+       private int selectedTabIndex;\r
+       private IMetadataProvider provider;\r
+       private boolean searchDateEnabled = true;\r
+       private boolean problematic;\r
+       private String searchText;\r
+       private Date searchDate = new Date();\r
+\r
+       public ListModelList<IMetadata> getAdList() {\r
+               return adList;\r
+       }\r
+\r
+       public List<Column> getColumns() {\r
+               return columns;\r
+       }\r
+\r
+       public Validator getFilterCheckedValidator() {\r
+               return filterCheckedValidator;\r
+       }\r
+\r
+       public ListModelList<IMetadata> getMaterialList() {\r
+               return materialList;\r
+       }\r
+\r
+       public ListModelList<IMetadata> getPromoList() {\r
+               return promoList;\r
+       }\r
+\r
+       public Date getSearchDate() {\r
+               return searchDate;\r
+       }\r
+\r
+       public String getSearchText() {\r
+               return searchText;\r
+       }\r
+\r
+       public int getSelectedTabIndex() {\r
+               return selectedTabIndex;\r
+       }\r
+\r
        @Init\r
        public void init() {\r
-               typeFilters = new LinkedHashMap<>();\r
-               addTypeFilter(TypeFilter.as(PROGRAM, "RED200", "ic_language_black_18dp.png"));\r
-               addTypeFilter(TypeFilter.as(PROMO, "RED100", "ic_perm_camera_mic_black_18dp.png"));\r
-               addTypeFilter(TypeFilter.as(AD, "TEAL200", "ic_theaters_black_18dp.png"));\r
-               setTopTypeFilterNames(new String[] { PROGRAM, PROMO, AD });\r
-               \r
                String key = "jobengine.maestro.config";\r
                try {\r
                        config = JSONConfig.read(key, MaestroConfig.class);\r
                } catch (Exception e) {\r
                        logger.error("Hiba a config file beállításánál {}", e.getMessage());\r
                }\r
+\r
+               IMetadataProviderFactory factory = ComponentBinder.getMetadataProviderFactory();\r
+               provider = factory.getProvider(MetadataProviderType.PLANAIR);\r
        }\r
-       \r
-       private void addTypeFilter(TypeFilter typeFilter) {\r
-               typeFilters.put(typeFilter.getName(), typeFilter);\r
+\r
+       public boolean isProblematic() {\r
+               return problematic;\r
        }\r
-       \r
-       public String[] getTopTypeFilterNames() {\r
-               return topTypeFilterNames;\r
+\r
+       public boolean isSearchDateEnabled() {\r
+               return searchDateEnabled;\r
        }\r
 \r
-       public void setTopTypeFilterNames(String[] topTypeFilterNames) {\r
-               this.topTypeFilterNames = topTypeFilterNames;\r
+       @Command\r
+       public void refresh() {\r
+               PlanAirMetadataListOptions opt = new PlanAirMetadataListOptions();\r
+               if (searchDateEnabled)\r
+                       opt.setBroadcastDay(searchDate);\r
+               opt.setProblematic(problematic);\r
+               if (searchText != null && searchText.trim().length() > 3)\r
+                       opt.setSearch(searchText);\r
+               try {\r
+                       switch (selectedTabIndex) {\r
+                       case 0:\r
+                               opt.setType(MetadataType.Material);\r
+                               materialList = new ListModelList<>(provider.list(opt));\r
+                               BindUtils.postNotifyChange(null, null, this, "materialList");\r
+                               break;\r
+                       case 1:\r
+                               opt.setType(MetadataType.Promo);\r
+                               promoList = new ListModelList<>(provider.list(opt));\r
+                               BindUtils.postNotifyChange(null, null, this, "promoList");\r
+                               break;\r
+                       case 2:\r
+                               opt.setType(MetadataType.AD);\r
+                               adList = new ListModelList<>(provider.list(opt));\r
+                               BindUtils.postNotifyChange(null, null, this, "adList");\r
+                               break;\r
+                       }\r
+               } catch (Exception e) {\r
+                       logger.error(e);\r
+               }\r
        }\r
-       \r
-       public Map<String, TypeFilter> getTypeFilters() {\r
-               return typeFilters;\r
+\r
+       public void setProblematic(boolean problematic) {\r
+               this.problematic = problematic;\r
+       }\r
+\r
+       public void setSearchDate(Date searchDate) {\r
+               this.searchDate = searchDate;\r
+       }\r
+\r
+       public void setSearchDateEnabled(boolean searchDateEnabled) {\r
+               this.searchDateEnabled = searchDateEnabled;\r
+       }\r
+\r
+       public void setSearchText(String searchText) {\r
+               this.searchText = searchText;\r
+       }\r
+\r
+       public void setSelectedTabIndex(int selectedTabIndex) {\r
+               this.selectedTabIndex = selectedTabIndex;\r
+               materialList = null;\r
+               promoList = null;\r
+               adList = null;\r
+               BindUtils.postNotifyChange(null, null, this, "materialList");\r
+               BindUtils.postNotifyChange(null, null, this, "promoList");\r
+               BindUtils.postNotifyChange(null, null, this, "adList");\r
        }\r
 \r
 }\r
index 3d0777b2e37f0381c8392c719ab5e07437ab6e55..3f8dfdc0055ed87cad28e7eecc98e18759d3a3bc 100644 (file)
@@ -5,6 +5,10 @@ public class TypeFilter {
                return new TypeFilter(name, color, icon);\r
        }\r
 \r
+       static public TypeFilter as(String name, String color, String icon, boolean chacked) {\r
+               return new TypeFilter(name, color, icon, chacked);\r
+       }\r
+\r
        private String name;\r
        private String color;\r
        private String icon;\r
@@ -12,10 +16,14 @@ public class TypeFilter {
        private boolean checked;\r
 \r
        TypeFilter(String name, String color, String icon) {\r
+               this(name, color, icon, true);\r
+       }\r
+\r
+       TypeFilter(String name, String color, String icon, boolean checked) {\r
                this.name = name;\r
                this.color = color;\r
                this.icon = icon;\r
-               this.checked = true;\r
+               this.checked = checked;\r
        }\r
 \r
        public String getColor() {\r
index 0f0981eed730a422a957f332921a4bce8ea5e4d1..8fd52356127bdcaa2532327d92fe8a75f5c95f1e 100644 (file)
@@ -31,7 +31,7 @@ public interface IPlanAirMaterialMapper {
        @Select(value = MATERIAL_SQL)\r
        @Options(statementType = StatementType.CALLABLE)\r
        @Results(value = { @Result(property = "episodeID", column = "v_EpisodeID"), @Result(property = "variantID", column = "v_VariantID"),\r
-                       @Result(property = "mediaID", column = "v_MediaID"), @Result(property = "progTitle", column = "v_ProgTitle"),\r
+                       @Result(property = "mediaID", column = "v_VariantMediaID"), @Result(property = "progTitle", column = "v_ProgTitle"),\r
                        @Result(property = "epTitle", column = "v_EpTitle"), @Result(property = "episode", column = "v_Episode"),\r
                        @Result(property = "variantNrSegments", column = "v_VariantNrSegments"), @Result(property = "firstBroadcastDate", column = "v_FirstBroadcastDate"),\r
                        @Result(property = "nextBroadcastDate", column = "v_NextBroadcastDate"), @Result(property = "okForAir", column = "v_OkForAir"),\r