From a4ce01a9ec3b54bdaad54ee800758dd03d3a60ef Mon Sep 17 00:00:00 2001 From: =?utf8?q?D=C3=A9nes=20Horv=C3=A1th?= Date: Mon, 30 Sep 2019 12:19:33 +0000 Subject: [PATCH] git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C31552 --- server/-configuration/maestro.json | 18 +++++++++++++ .../zk/model/DirectoryListModel.java | 17 +++++++++--- .../jobengine/zk/model/MaestroConfig.java | 17 +++++++++--- .../user/jobengine/zk/model/MaestroModel.java | 22 ++++++++++----- .../jobengine/zk/model/PlanAirListModel.java | 5 ++-- .../jobengine/zk/model/TargetsListModel.java | 27 +++++++++++++------ 6 files changed, 81 insertions(+), 25 deletions(-) diff --git a/server/-configuration/maestro.json b/server/-configuration/maestro.json index a65216a2..36f35ed0 100644 --- a/server/-configuration/maestro.json +++ b/server/-configuration/maestro.json @@ -1,10 +1,28 @@ { "sourceStoreUri": { + "name": "Default", "protocol": "LOCAL", "uri": "c:/temp", "fileFilter": "*.log;*.bat", "showDirectories": true }, + "alternateSourceStoreUris": + [ + { + "name": "Alt1", + "protocol": "LOCAL", + "uri": "c:/dev", + "fileFilter": "*.log;*.bat", + "showDirectories": true + }, + { + "name": "Alt2", + "protocol": "LOCAL", + "uri": "c:/opt", + "fileFilter": "*.log;*.bat", + "showDirectories": true + } + ], "targets": [ { diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/DirectoryListModel.java b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/DirectoryListModel.java index 40783dcb..791cd69e 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/DirectoryListModel.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/DirectoryListModel.java @@ -12,11 +12,13 @@ import org.zkoss.bind.annotation.BindingParam; import org.zkoss.bind.annotation.Command; import org.zkoss.bind.annotation.Init; import org.zkoss.bind.annotation.NotifyChange; +import org.zkoss.zk.ui.Executions; import org.zkoss.zul.ListModelList; +import user.commons.NamedStoreUri; import user.commons.RemoteFile; import user.commons.StoreUri; -import user.commons.config.JSONConfig; +import user.jobengine.zk.util.SessionUtil; public class DirectoryListModel { private static final Logger logger = LogManager.getLogger(); @@ -72,9 +74,17 @@ public class DirectoryListModel { @Init public void init() { try { - String key = "jobengine.maestro.config"; - config = JSONConfig.read(key, MaestroConfig.class); + config = SessionUtil.getMaestroConfig(); uri = config.getSourceStoreUri(); + + String param = Executions.getCurrent().getParameter("source"); + if (param != null && !param.isEmpty()) { + for (NamedStoreUri altSourceStoreUri : config.getAlternateSourceStoreUris()) { + if (param.equals(altSourceStoreUri.getName())) + uri = altSourceStoreUri; + } + } + defaultFileFilter = uri.getFileFilter(); defaultDirectoryFilter = uri.getDirectoryFilter(); @@ -144,6 +154,7 @@ public class DirectoryListModel { Map args = new HashMap<>(); args.put("sourcedata", selection); + args.put("sourceUri", uri); BindUtils.postGlobalCommand(null, null, "updateExecuteState", args); } diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MaestroConfig.java b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MaestroConfig.java index d1b5d4f5..b5aba016 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MaestroConfig.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MaestroConfig.java @@ -2,14 +2,15 @@ package user.jobengine.zk.model; import java.util.List; -import user.commons.StoreUri; +import user.commons.NamedStoreUri; public class MaestroConfig { - private StoreUri sourceStoreUri; + private NamedStoreUri sourceStoreUri; + private List alternateSourceStoreUris; private List targets; - public StoreUri getSourceStoreUri() { + public NamedStoreUri getSourceStoreUri() { return sourceStoreUri; } @@ -17,11 +18,19 @@ public class MaestroConfig { return targets; } - public void setSourceStoreUri(StoreUri sourceStoreUri) { + public void setSourceStoreUri(NamedStoreUri sourceStoreUri) { this.sourceStoreUri = sourceStoreUri; } public void setTargets(List targets) { this.targets = targets; } + + public List getAlternateSourceStoreUris() { + return alternateSourceStoreUris; + } + + public void setAlternateSourceStoreUris(List alternateSourceStoreUris) { + this.alternateSourceStoreUris = alternateSourceStoreUris; + } } diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MaestroModel.java b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MaestroModel.java index fbcac1ab..3b97802c 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MaestroModel.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MaestroModel.java @@ -3,16 +3,17 @@ package user.jobengine.zk.model; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.zkoss.bind.annotation.Init; +import org.zkoss.zk.ui.Executions; -import user.commons.StoreUri; -import user.commons.config.JSONConfig; +import user.commons.NamedStoreUri; +import user.jobengine.zk.util.SessionUtil; public class MaestroModel { private static final Logger logger = LogManager.getLogger(); - private StoreUri sourceUri; + private NamedStoreUri sourceUri; private MaestroConfig sourceConfig = null; - public StoreUri getSourceUri() { + public NamedStoreUri getSourceUri() { return sourceUri; } @@ -21,15 +22,22 @@ public class MaestroModel { String message = "A forrás file -ok nem elérhetőek: {}"; try { - String key = "jobengine.maestro.config"; - sourceConfig = JSONConfig.read(key, MaestroConfig.class); + sourceConfig = SessionUtil.getMaestroConfig(); sourceUri = sourceConfig.getSourceStoreUri(); + + String param = Executions.getCurrent().getParameter("source"); + if (param != null && !param.isEmpty()) { + for (NamedStoreUri altSourceStoreUri : sourceConfig.getAlternateSourceStoreUris()) { + if (param.equals(altSourceStoreUri.getName())) + sourceUri = altSourceStoreUri; + } + } } catch (Exception e) { logger.error(message, e.getMessage()); } } - public void setSourceUri(StoreUri sourceUri) { + public void setSourceUri(NamedStoreUri sourceUri) { this.sourceUri = sourceUri; } diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/PlanAirListModel.java b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/PlanAirListModel.java index 09616d63..159043ba 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/PlanAirListModel.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/PlanAirListModel.java @@ -15,8 +15,8 @@ import org.zkoss.bind.annotation.Init; import org.zkoss.zul.Column; import org.zkoss.zul.ListModelList; -import user.commons.config.JSONConfig; import user.jobengine.osgi.server.ComponentBinder; +import user.jobengine.zk.util.SessionUtil; import user.mediacube.metadata.interfaces.IMetadata; import user.mediacube.metadata.interfaces.IMetadataProvider; import user.mediacube.metadata.interfaces.IMetadataProviderFactory; @@ -73,9 +73,8 @@ public class PlanAirListModel { @Init public void init() { - String key = "jobengine.maestro.config"; try { - config = JSONConfig.read(key, MaestroConfig.class); + config = SessionUtil.getMaestroConfig(); } catch (Exception e) { logger.error("Hiba a config file beállításánál {}", e.getMessage()); } diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/TargetsListModel.java b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/TargetsListModel.java index 47901494..45062151 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/TargetsListModel.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/TargetsListModel.java @@ -15,8 +15,8 @@ import org.zkoss.bind.annotation.NotifyChange; import org.zkoss.zul.ListModelList; import user.commons.RemoteFile; -import user.commons.config.JSONConfig; -import user.commons.remotestore.RemoteStoreProtocol; +import user.commons.StoreUri; +import user.jobengine.zk.util.SessionUtil; import user.mediacube.metadata.interfaces.IMetadata; public class TargetsListModel { @@ -26,6 +26,7 @@ public class TargetsListModel { private boolean executeEnabled; Set sourceData; Set metaData; + private StoreUri sourceUri; public boolean conditionsOk() { boolean srcMetaOk = false; @@ -62,15 +63,22 @@ public class TargetsListModel { @Command public void createJob() { String fileName = sourceData.iterator().next().getName(); - String sourcePath = config.getSourceStoreUri().getUri(); + // String sourcePath = sourceUri.getUri(); + String sourcePath = null; + try { + sourcePath = sourceUri.toString(true); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } for (int i = 0; i < targets.size(); i++) { if (targets.get(i).isSelected()) { Map params = new HashMap<>(); - params.put("sourceProtocol", RemoteStoreProtocol.LOCAL.toString()); + params.put("sourceProtocol", sourceUri.getProtocol()); params.put("sourcePath", sourcePath); params.put("sourceFileName", fileName); - params.put("targetProtocol", RemoteStoreProtocol.LOCAL.toString()); + params.put("targetProtocol", targets.get(i).getStoreUri().getProtocol()); params.put("targetPath", targets.get(i).getStoreUri().getUri()); params.put("killDateDays", 0); // params.put("targetFileName", fileName); @@ -85,10 +93,11 @@ public class TargetsListModel { @Init public void init() { - String key = "jobengine.maestro.config"; try { - config = JSONConfig.read(key, MaestroConfig.class); + config = SessionUtil.getMaestroConfig(); targets = new ListModelList<>(config.getTargets()); + for (int i = 0; i < targets.size(); i++) + targets.get(i).setSelected(false); } catch (Exception e) { logger.error("Hiba a config file beállításánál {}", e.getMessage()); } @@ -119,9 +128,11 @@ public class TargetsListModel { @GlobalCommand @NotifyChange("executeEnabled") - public void updateExecuteState(@BindingParam("sourcedata") Set sourceData, @BindingParam("metadata") Set metaData) { + public void updateExecuteState(@BindingParam("sourcedata") Set sourceData, @BindingParam("sourceUri") StoreUri sourceUri, + @BindingParam("metadata") Set metaData) { this.sourceData = sourceData; this.metaData = metaData; + this.sourceUri = sourceUri; setExecuteEnabled(conditionsOk()); // logger.info("{}", sourceData); // logger.info("{}", metaData); -- 2.54.0