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
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
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
}\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
}\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
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
}\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