{\r
"sourceStoreUri": {\r
+ "name": "Default",\r
"protocol": "LOCAL",\r
"uri": "c:/temp",\r
"fileFilter": "*.log;*.bat",\r
"showDirectories": true\r
},\r
+ "alternateSourceStoreUris": \r
+ [\r
+ {\r
+ "name": "Alt1",\r
+ "protocol": "LOCAL",\r
+ "uri": "c:/dev",\r
+ "fileFilter": "*.log;*.bat",\r
+ "showDirectories": true\r
+ },\r
+ {\r
+ "name": "Alt2",\r
+ "protocol": "LOCAL",\r
+ "uri": "c:/opt",\r
+ "fileFilter": "*.log;*.bat",\r
+ "showDirectories": true\r
+ }\r
+ ],\r
"targets": \r
[\r
{\r
import org.zkoss.bind.annotation.Command;\r
import org.zkoss.bind.annotation.Init;\r
import org.zkoss.bind.annotation.NotifyChange;\r
+import org.zkoss.zk.ui.Executions;\r
import org.zkoss.zul.ListModelList;\r
\r
+import user.commons.NamedStoreUri;\r
import user.commons.RemoteFile;\r
import user.commons.StoreUri;\r
-import user.commons.config.JSONConfig;\r
+import user.jobengine.zk.util.SessionUtil;\r
\r
public class DirectoryListModel {\r
private static final Logger logger = LogManager.getLogger();\r
@Init\r
public void init() {\r
try {\r
- String key = "jobengine.maestro.config";\r
- config = JSONConfig.read(key, MaestroConfig.class);\r
+ config = SessionUtil.getMaestroConfig();\r
uri = config.getSourceStoreUri();\r
+\r
+ String param = Executions.getCurrent().getParameter("source");\r
+ if (param != null && !param.isEmpty()) {\r
+ for (NamedStoreUri altSourceStoreUri : config.getAlternateSourceStoreUris()) {\r
+ if (param.equals(altSourceStoreUri.getName()))\r
+ uri = altSourceStoreUri;\r
+ }\r
+ }\r
+\r
defaultFileFilter = uri.getFileFilter();\r
defaultDirectoryFilter = uri.getDirectoryFilter();\r
\r
\r
Map<String, Object> args = new HashMap<>();\r
args.put("sourcedata", selection);\r
+ args.put("sourceUri", uri);\r
BindUtils.postGlobalCommand(null, null, "updateExecuteState", args);\r
}\r
\r
\r
import java.util.List;\r
\r
-import user.commons.StoreUri;\r
+import user.commons.NamedStoreUri;\r
\r
public class MaestroConfig {\r
- private StoreUri sourceStoreUri;\r
+ private NamedStoreUri sourceStoreUri;\r
+ private List<NamedStoreUri> alternateSourceStoreUris;\r
\r
private List<MaestroTarget> targets;\r
\r
- public StoreUri getSourceStoreUri() {\r
+ public NamedStoreUri getSourceStoreUri() {\r
return sourceStoreUri;\r
}\r
\r
return targets;\r
}\r
\r
- public void setSourceStoreUri(StoreUri sourceStoreUri) {\r
+ public void setSourceStoreUri(NamedStoreUri sourceStoreUri) {\r
this.sourceStoreUri = sourceStoreUri;\r
}\r
\r
public void setTargets(List<MaestroTarget> targets) {\r
this.targets = targets;\r
}\r
+\r
+ public List<NamedStoreUri> getAlternateSourceStoreUris() {\r
+ return alternateSourceStoreUris;\r
+ }\r
+\r
+ public void setAlternateSourceStoreUris(List<NamedStoreUri> alternateSourceStoreUris) {\r
+ this.alternateSourceStoreUris = alternateSourceStoreUris;\r
+ }\r
}\r
import org.apache.logging.log4j.LogManager;\r
import org.apache.logging.log4j.Logger;\r
import org.zkoss.bind.annotation.Init;\r
+import org.zkoss.zk.ui.Executions;\r
\r
-import user.commons.StoreUri;\r
-import user.commons.config.JSONConfig;\r
+import user.commons.NamedStoreUri;\r
+import user.jobengine.zk.util.SessionUtil;\r
\r
public class MaestroModel {\r
private static final Logger logger = LogManager.getLogger();\r
- private StoreUri sourceUri;\r
+ private NamedStoreUri sourceUri;\r
private MaestroConfig sourceConfig = null;\r
\r
- public StoreUri getSourceUri() {\r
+ public NamedStoreUri getSourceUri() {\r
return sourceUri;\r
}\r
\r
\r
String message = "A forrás file -ok nem elérhetőek: {}";\r
try {\r
- String key = "jobengine.maestro.config";\r
- sourceConfig = JSONConfig.read(key, MaestroConfig.class);\r
+ sourceConfig = SessionUtil.getMaestroConfig();\r
sourceUri = sourceConfig.getSourceStoreUri();\r
+\r
+ String param = Executions.getCurrent().getParameter("source");\r
+ if (param != null && !param.isEmpty()) {\r
+ for (NamedStoreUri altSourceStoreUri : sourceConfig.getAlternateSourceStoreUris()) {\r
+ if (param.equals(altSourceStoreUri.getName()))\r
+ sourceUri = altSourceStoreUri;\r
+ }\r
+ }\r
} catch (Exception e) {\r
logger.error(message, e.getMessage());\r
}\r
}\r
\r
- public void setSourceUri(StoreUri sourceUri) {\r
+ public void setSourceUri(NamedStoreUri sourceUri) {\r
this.sourceUri = sourceUri;\r
}\r
\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.jobengine.zk.util.SessionUtil;\r
import user.mediacube.metadata.interfaces.IMetadata;\r
import user.mediacube.metadata.interfaces.IMetadataProvider;\r
import user.mediacube.metadata.interfaces.IMetadataProviderFactory;\r
\r
@Init\r
public void init() {\r
- String key = "jobengine.maestro.config";\r
try {\r
- config = JSONConfig.read(key, MaestroConfig.class);\r
+ config = SessionUtil.getMaestroConfig();\r
} catch (Exception e) {\r
logger.error("Hiba a config file beállításánál {}", e.getMessage());\r
}\r
import org.zkoss.zul.ListModelList;\r
\r
import user.commons.RemoteFile;\r
-import user.commons.config.JSONConfig;\r
-import user.commons.remotestore.RemoteStoreProtocol;\r
+import user.commons.StoreUri;\r
+import user.jobengine.zk.util.SessionUtil;\r
import user.mediacube.metadata.interfaces.IMetadata;\r
\r
public class TargetsListModel {\r
private boolean executeEnabled;\r
Set<RemoteFile> sourceData;\r
Set<IMetadata> metaData;\r
+ private StoreUri sourceUri;\r
\r
public boolean conditionsOk() {\r
boolean srcMetaOk = false;\r
@Command\r
public void createJob() {\r
String fileName = sourceData.iterator().next().getName();\r
- String sourcePath = config.getSourceStoreUri().getUri();\r
+ // String sourcePath = sourceUri.getUri();\r
+ String sourcePath = null;\r
+ try {\r
+ sourcePath = sourceUri.toString(true);\r
+ } catch (Exception e) {\r
+ // TODO Auto-generated catch block\r
+ e.printStackTrace();\r
+ }\r
for (int i = 0; i < targets.size(); i++) {\r
if (targets.get(i).isSelected()) {\r
Map<String, Object> params = new HashMap<>();\r
- params.put("sourceProtocol", RemoteStoreProtocol.LOCAL.toString());\r
+ params.put("sourceProtocol", sourceUri.getProtocol());\r
params.put("sourcePath", sourcePath);\r
params.put("sourceFileName", fileName);\r
\r
- params.put("targetProtocol", RemoteStoreProtocol.LOCAL.toString());\r
+ params.put("targetProtocol", targets.get(i).getStoreUri().getProtocol());\r
params.put("targetPath", targets.get(i).getStoreUri().getUri());\r
params.put("killDateDays", 0);\r
// params.put("targetFileName", fileName);\r
\r
@Init\r
public void init() {\r
- String key = "jobengine.maestro.config";\r
try {\r
- config = JSONConfig.read(key, MaestroConfig.class);\r
+ config = SessionUtil.getMaestroConfig();\r
targets = new ListModelList<>(config.getTargets());\r
+ for (int i = 0; i < targets.size(); i++)\r
+ targets.get(i).setSelected(false);\r
} catch (Exception e) {\r
logger.error("Hiba a config file beállításánál {}", e.getMessage());\r
}\r
\r
@GlobalCommand\r
@NotifyChange("executeEnabled")\r
- public void updateExecuteState(@BindingParam("sourcedata") Set<RemoteFile> sourceData, @BindingParam("metadata") Set<IMetadata> metaData) {\r
+ public void updateExecuteState(@BindingParam("sourcedata") Set<RemoteFile> sourceData, @BindingParam("sourceUri") StoreUri sourceUri,\r
+ @BindingParam("metadata") Set<IMetadata> metaData) {\r
this.sourceData = sourceData;\r
this.metaData = metaData;\r
+ this.sourceUri = sourceUri;\r
setExecuteEnabled(conditionsOk());\r
// logger.info("{}", sourceData);\r
// logger.info("{}", metaData);\r