git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Wed, 14 Aug 2019 13:51:04 +0000 (13:51 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Wed, 14 Aug 2019 13:51:04 +0000 (13:51 +0000)
server/user.jobengine.osgi.server/pages/planair.zul
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/DirectoryListModel.java
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MaestroModel.java
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/PlanAirListModel.java [moved from server/user.jobengine.osgi.server/src/user/jobengine/zk/model/PlannerListModel.java with 82% similarity]
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/TargetsListModel.java

index 77922a47e6f317f35ffcd25abda9f22a6c1212a0..fc9b1d2777c3b1f369e850e1b805085fb3c41bd5 100644 (file)
@@ -1,7 +1,7 @@
 <?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
+               viewModel="@id('vm') @init('user.jobengine.zk.model.PlanAirListModel')">\r
                <custom-attributes org.zkoss.zul.image.preload="true" />\r
 \r
                <vbox>\r
@@ -25,7 +25,7 @@
                        <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
+                                               emptyMessage="Nincs találat! Kattintson a frissítés gombra." onSelect="@command('selectedItemChanged')">\r
                                                <custom-attributes org.zkoss.zul.listbox.selectOnHighlight.disabled="true" />\r
                                                <listhead sizable="true">\r
                                                        <listheader label="Azonosító" hflex="min" align="left" />\r
@@ -78,7 +78,7 @@
                                </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
+                                               emptyMessage="Nincs találat! Kattintson a frissítés gombra." onSelect="@command('selectedItemChanged')">\r
                                                <custom-attributes org.zkoss.zul.listbox.selectOnHighlight.disabled="true" />\r
                                                <listhead sizable="true">\r
                                                        <listheader label="Azonosító" hflex="min" align="left" />\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
+                                               emptyMessage="Nincs találat! Kattintson a frissítés gombra." onSelect="@command('selectedItemChanged')">\r
                                                <custom-attributes org.zkoss.zul.listbox.selectOnHighlight.disabled="true" />\r
                                                <listhead sizable="true">\r
                                                        <listheader label="Azonosító" hflex="min" align="left" />\r
index e1d69fc6aa69cad5bfdb18596dcc6d0ceba4729d..e35f0a30e95058023a7f1f5a48fd4fc599cbdb14 100644 (file)
@@ -1,11 +1,14 @@
 package user.jobengine.zk.model;\r
 \r
 import java.util.ArrayList;\r
+import java.util.HashMap;\r
 import java.util.List;\r
+import java.util.Map;\r
 import java.util.Set;\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.annotation.BindingParam;\r
 import org.zkoss.bind.annotation.Command;\r
 import org.zkoss.bind.annotation.Init;\r
@@ -27,34 +30,65 @@ public class DirectoryListModel {
        private FileSizeConverter fileSizeConverter = new FileSizeConverter();\r
        private String searchText;\r
 \r
-       public void setSourceList() throws Exception {\r
-               //files = new ListModelList<>(filesCopy);\r
-               //files = new ListModelList<>(uri.getRemoteFiles());\r
-               files.clear();\r
-               files.addAll(uri.getRemoteFiles());\r
-               filesCopy = new ArrayList<>(files);\r
-       }\r
-\r
        public void changeDirectory(RemoteFile selectedFolder) throws Exception {\r
                setSearchText(null);\r
-               if (uri.getCurrentPath() == null){\r
+               if (uri.getCurrentPath() == null) {\r
                        uri.setCurrentPath(selectedFolder.getName());\r
-               }else{\r
+               } else {\r
                        uri.setCurrentPath(uri.getCurrentPath() + "/" + selectedFolder.getName());\r
                }\r
 \r
                setSourceList();\r
        }\r
-       \r
+\r
        @Command\r
-       public void selectedItemChanged (){\r
-               Set<RemoteFile> selection = files.getSelection();\r
-               logger.info("Selected: {}", selection.size());\r
+       @NotifyChange("files")\r
+       public void clearFilter() throws Exception {\r
+               //files = new ListModelList<>(filesCopy);\r
+               setSearchText(null);\r
+               files.clear();\r
+               files.addAll(filesCopy);\r
        }\r
-       \r
+\r
        @Command\r
-       public boolean notSelected (){\r
-               return files.getSelection().size() == 0;\r
+       @NotifyChange({ "files", "searchText" })\r
+       public void doSearch() throws Exception {\r
+               if (searchText == null || searchText == "") {\r
+                       files.clear();\r
+                       files.addAll(filesCopy);\r
+               } else {\r
+                       files.clear();\r
+                       for (int i = 0; i < filesCopy.size(); i++) {\r
+                               if (filesCopy.get(i).getName().contains(searchText)) {\r
+                                       files.add(filesCopy.get(i));\r
+                               }\r
+                       }\r
+               }\r
+               selectedItemChanged();\r
+       }\r
+\r
+       public List<RemoteFile> getFiles() {\r
+               return files;\r
+       }\r
+\r
+       public List<RemoteFile> getFilesCopy() {\r
+               return filesCopy;\r
+       }\r
+\r
+       public FileSizeConverter getFileSizeConverter() {\r
+               return fileSizeConverter;\r
+       }\r
+\r
+       public String getSearchText() {\r
+               return searchText;\r
+       }\r
+\r
+       public Store getStore() {\r
+               return store;\r
+       }\r
+\r
+       public StoreUri getUri() {\r
+               return uri;\r
        }\r
 \r
        @Init\r
@@ -64,7 +98,7 @@ public class DirectoryListModel {
                        config = JSONConfig.read(key, MaestroConfig.class);\r
                        uri = config.getSourceStoreUri();\r
 \r
-                       files = new ListModelList<>(); \r
+                       files = new ListModelList<>();\r
                        setSourceList();\r
                } catch (Exception e) {\r
                        logger.error("A forrás file -ok nem elérhetőek: {}", e.getMessage());\r
@@ -72,11 +106,30 @@ public class DirectoryListModel {
        }\r
 \r
        @Command\r
-       @NotifyChange({"files","searchText"})\r
+       public boolean notSelected() {\r
+               return files.getSelection().size() == 0;\r
+       }\r
+\r
+       @Command\r
+       @NotifyChange({ "files", "searchText" })\r
+       public void onBack() throws Exception {\r
+               setSearchText(null);\r
+               if (uri.getCurrentPath() != null) {\r
+                       if (uri.getCurrentPath().contains("/")) {\r
+                               uri.setCurrentPath(uri.getCurrentPath().substring(0, uri.getCurrentPath().lastIndexOf("/")));\r
+                       } else {\r
+                               uri.setCurrentPath(null);\r
+                       }\r
+                       setSourceList();\r
+               }\r
+       }\r
+\r
+       @Command\r
+       @NotifyChange({ "files", "searchText" })\r
        public void onDoubleClick(@BindingParam("selectedItem") RemoteFile selectedItem) {\r
-               if (selectedItem.getIsFolder()){\r
+               if (selectedItem.getIsFolder()) {\r
                        try {\r
-                               \r
+\r
                                changeDirectory(selectedItem);\r
                        } catch (Exception e) {\r
                                logger.error("A forrás file -ok nem elérhetőek: {}", e);\r
@@ -85,104 +138,60 @@ public class DirectoryListModel {
        }\r
 \r
        @Command\r
-       @NotifyChange({"files","searchText"})\r
-    public void doSearch() throws Exception {\r
-               if (searchText == null || searchText == ""){\r
-                       files.clear();\r
-                       files.addAll(filesCopy);\r
-               }else{          \r
-                       files.clear();\r
-                       for (int i=0;i<filesCopy.size();i++){\r
-                               if (filesCopy.get(i).getName().contains(searchText)){\r
-                                       files.add(filesCopy.get(i));\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-       \r
-       @Command\r
-    @NotifyChange("files")\r
-    public void refresh() throws Exception {\r
-               if (searchText == null || searchText == ""){\r
+       @NotifyChange("files")\r
+       public void refresh() throws Exception {\r
+               if (searchText == null || searchText == "") {\r
                        files.clear();\r
                        files.addAll(uri.getRemoteFiles());\r
-               }else{          \r
+               } else {\r
                        files.clear();\r
-                       //List<RemoteFile> currList = new ArrayList<>; \r
-                       List<RemoteFile> currList =     uri.getRemoteFiles();\r
-                       for (int i=0;i<currList.size();i++){\r
-                               if (currList.get(i).getName().contains(searchText)){\r
+                       //List<RemoteFile> currList = new ArrayList<>;\r
+                       List<RemoteFile> currList = uri.getRemoteFiles();\r
+                       for (int i = 0; i < currList.size(); i++) {\r
+                               if (currList.get(i).getName().contains(searchText)) {\r
                                        files.add(currList.get(i));\r
                                }\r
                        }\r
                }\r
-       }\r
-\r
-       @Command\r
-    @NotifyChange("files")\r
-    public void clearFilter() throws Exception {\r
-               //files = new ListModelList<>(filesCopy);\r
-               setSearchText(null);\r
-               files.clear();\r
-               files.addAll(filesCopy);\r
-    }\r
-       \r
-       public StoreUri getUri() {\r
-               return uri;\r
-       }\r
-\r
-       public void setUri(StoreUri uri) {\r
-               this.uri = uri;\r
-       }\r
 \r
-       public List<RemoteFile> getFiles() {\r
-               return files;\r
+               selectedItemChanged();\r
        }\r
 \r
-       public Store getStore() {\r
-               return store;\r
-       }\r
+       @Command\r
+       public void selectedItemChanged() {\r
+               Set<RemoteFile> selection = files.getSelection();\r
+               logger.info("Selected: {}", selection.size());\r
 \r
-       public void setStore(Store store) {\r
-               this.store = store;\r
+               Map<String, Object> args = new HashMap<>();\r
+               args.put("sourcedata", selection);\r
+               BindUtils.postGlobalCommand(null, null, "updateExecuteState", args);\r
        }\r
 \r
-       @Command\r
-       @NotifyChange({"files","searchText"})\r
-       public void onBack() throws Exception{\r
-               setSearchText(null);\r
-               if (uri.getCurrentPath() != null){\r
-                       if (uri.getCurrentPath().contains("/")){\r
-                               uri.setCurrentPath(uri.getCurrentPath().substring(0, uri.getCurrentPath().lastIndexOf("/")));\r
-                       }else{\r
-                               uri.setCurrentPath(null);\r
-                       }\r
-                       setSourceList();\r
-               }\r
+       public void setFilesCopy(List<RemoteFile> filesCopy) {\r
+               this.filesCopy = filesCopy;\r
        }\r
 \r
-       public FileSizeConverter getFileSizeConverter() {\r
-               return fileSizeConverter;\r
-       }\r
-       \r
        public void setFileSizeConverter(FileSizeConverter fileSizeConverter) {\r
                this.fileSizeConverter = fileSizeConverter;\r
        }\r
 \r
-\r
-       public List<RemoteFile> getFilesCopy() {\r
-               return filesCopy;\r
+       public void setSearchText(String searchText) {\r
+               this.searchText = searchText;\r
        }\r
 \r
-       public void setFilesCopy(List<RemoteFile> filesCopy) {\r
-               this.filesCopy = filesCopy;\r
+       public void setSourceList() throws Exception {\r
+               //files = new ListModelList<>(filesCopy);\r
+               //files = new ListModelList<>(uri.getRemoteFiles());\r
+               files.clear();\r
+               files.addAll(uri.getRemoteFiles());\r
+               filesCopy = new ArrayList<>(files);\r
        }\r
 \r
-       public String getSearchText() {\r
-               return searchText;\r
+       public void setStore(Store store) {\r
+               this.store = store;\r
        }\r
 \r
-       public void setSearchText(String searchText) {\r
-               this.searchText = searchText;\r
+       public void setUri(StoreUri uri) {\r
+               this.uri = uri;\r
        }\r
 }\r
index 7affae7bafe9b85c8379d6f238413003ae483b13..fbcac1ab453ee0d76dbd109366e275e076086b8c 100644 (file)
@@ -12,6 +12,10 @@ public class MaestroModel {
        private StoreUri sourceUri;\r
        private MaestroConfig sourceConfig = null;\r
 \r
+       public StoreUri getSourceUri() {\r
+               return sourceUri;\r
+       }\r
+\r
        @Init\r
        public void init() {\r
 \r
@@ -24,12 +28,9 @@ public class MaestroModel {
                        logger.error(message, e.getMessage());\r
                }\r
        }\r
-       \r
-       public StoreUri getSourceUri() {\r
-               return sourceUri;\r
-       }\r
 \r
        public void setSourceUri(StoreUri sourceUri) {\r
                this.sourceUri = sourceUri;\r
        }\r
+\r
 }\r
similarity index 82%
rename from server/user.jobengine.osgi.server/src/user/jobengine/zk/model/PlannerListModel.java
rename to server/user.jobengine.osgi.server/src/user/jobengine/zk/model/PlanAirListModel.java
index 358a396738601881c10d1abe2afa01ce55bff8aa..09616d63d6fd869571eccacf271cf34b7bcf9ad1 100644 (file)
@@ -1,7 +1,10 @@
 package user.jobengine.zk.model;\r
 \r
 import java.util.Date;\r
+import java.util.HashMap;\r
 import java.util.List;\r
+import java.util.Map;\r
+import java.util.Set;\r
 \r
 import org.apache.logging.log4j.LogManager;\r
 import org.apache.logging.log4j.Logger;\r
@@ -21,7 +24,7 @@ import user.mediacube.metadata.interfaces.MetadataProviderType;
 import user.mediacube.metadata.interfaces.MetadataType;\r
 import user.mediacube.metadata.interfaces.PlanAirMetadataListOptions;\r
 \r
-public class PlannerListModel {\r
+public class PlanAirListModel {\r
        private static final Logger logger = LogManager.getLogger();\r
        private MaestroConfig config = null;\r
        private Validator filterCheckedValidator;\r
@@ -118,6 +121,34 @@ public class PlannerListModel {
                } catch (Exception e) {\r
                        logger.error(e);\r
                }\r
+\r
+               selectedItemChanged();\r
+       }\r
+\r
+       @Command\r
+       public void selectedItemChanged() {\r
+               Set<IMetadata> selection = null;\r
+\r
+               switch (selectedTabIndex) {\r
+               case 0:\r
+                       selection = materialList.getSelection();\r
+                       break;\r
+               case 1:\r
+                       selection = promoList.getSelection();\r
+                       break;\r
+               case 2:\r
+                       selection = adList.getSelection();\r
+                       break;\r
+               }\r
+\r
+               if (selection == null)\r
+                       return;\r
+\r
+               logger.info("Selected: {}", selection.size());\r
+\r
+               Map<String, Object> args = new HashMap<>();\r
+               args.put("metadata", selection);\r
+               BindUtils.postGlobalCommand(null, null, "updateExecuteState", args);\r
        }\r
 \r
        public void setProblematic(boolean problematic) {\r
index 7ca70651e9337ee1d031f5bcd7b979e482b2f41f..edc47d39ee85e1f9b07d93b2e35f483978637ecf 100644 (file)
@@ -1,18 +1,29 @@
 package user.jobengine.zk.model;\r
 \r
+import java.util.Set;\r
+\r
 import org.apache.logging.log4j.LogManager;\r
 import org.apache.logging.log4j.Logger;\r
 import org.zkoss.bind.annotation.BindingParam;\r
 import org.zkoss.bind.annotation.Command;\r
+import org.zkoss.bind.annotation.GlobalCommand;\r
 import org.zkoss.bind.annotation.Init;\r
+import org.zkoss.bind.annotation.NotifyChange;\r
 import org.zkoss.zul.ListModelList;\r
 \r
+import user.commons.RemoteFile;\r
 import user.commons.config.JSONConfig;\r
+import user.mediacube.metadata.interfaces.IMetadata;\r
 \r
 public class TargetsListModel {\r
        private static final Logger logger = LogManager.getLogger();\r
        private MaestroConfig config = null;\r
        private ListModelList<MaestroTarget> targets;\r
+       private boolean executeEnabled;\r
+\r
+       public ListModelList<MaestroTarget> getTargets() {\r
+               return targets;\r
+       }\r
 \r
        @Init\r
        public void init() {\r
@@ -25,13 +36,26 @@ public class TargetsListModel {
                }\r
        }\r
 \r
-       public ListModelList<MaestroTarget> getTargets() {\r
-               return targets;\r
+       public boolean isExecuteEnabled() {\r
+               return executeEnabled;\r
        }\r
-       \r
+\r
        @Command\r
-       public void onCheck(@BindingParam("data") MaestroTarget data){\r
+       public void onCheck(@BindingParam("data") MaestroTarget data) {\r
                //@ContextParam(ContextType.TRIGGER_EVENT) CheckEvent event,\r
-               \r
+\r
+       }\r
+\r
+       public void setExecuteEnabled(boolean executeEnabled) {\r
+               this.executeEnabled = executeEnabled;\r
        }\r
+\r
+       @NotifyChange("executeEnabled")\r
+       @GlobalCommand\r
+       public void updateExecuteState(@BindingParam("sourcedata") Set<RemoteFile> sourceData, @BindingParam("metadata") Set<IMetadata> metaData) {\r
+               logger.info("{}", sourceData);\r
+               logger.info("{}", metaData);\r
+\r
+       }\r
+\r
 }\r