git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Thu, 25 Jul 2019 12:14:55 +0000 (12:14 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Thu, 25 Jul 2019 12:14:55 +0000 (12:14 +0000)
server/-configuration/maestro.json [deleted file]
server/-configuration/run-mediacube-server.launch
server/user.jobengine.osgi.commons/META-INF/MANIFEST.MF
server/user.jobengine.osgi.commons/launch/TestTSMClient.TestConnect.launch [deleted file]
server/user.jobengine.osgi.commons/launch/TestTSMClient.launch [deleted file]
server/user.jobengine.osgi.commons/src/user/commons/config/JSONConfig.java [new file with mode: 0644]
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MaestroConfig.java [new file with mode: 0644]
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MaestroTarget.java [new file with mode: 0644]
server/user.jobengine.osgi.server/test/user/jobengine/server/MaestroConfigTest.java [new file with mode: 0644]
server/user.jobengine.osgi.server/test/user/jobengine/server/maestro.json [new file with mode: 0644]

diff --git a/server/-configuration/maestro.json b/server/-configuration/maestro.json
deleted file mode 100644 (file)
index 464730c..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-{\r
-       "sourceStoreUri": {\r
-               "protocol": "file://",\r
-               "rootPath": "c:/temp"\r
-       },\r
-       "targets": \r
-       [\r
-               {\r
-                       "name": "name1",\r
-                       "storeUri": {\r
-                               "protocol": "file://",\r
-                               "rootPath": "c:/temp1"\r
-                       }\r
-               },\r
-               {\r
-                       "name": "name2",\r
-                       "storeUri": {\r
-                               "protocol": "file://",\r
-                               "rootPath": "c:/temp2"\r
-                       }\r
-               }\r
-       ]\r
-}\r
-\r
-\r
-\r
index e77ba96d6363a6c7f375bb0053b92d89cc368fc3..c0b215726a5d18fd63d00cd560b713fb97e3e11c 100644 (file)
@@ -19,7 +19,7 @@
 <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>\r
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console"/>\r
 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>\r
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory&#13;&#10;-Dorg.eclipse.epp.logging.aeri.skipReports=true &#13;&#10;-Declipse.ignoreApp=true &#13;&#10;-Dosgi.noShutdown=true&#13;&#10;-Djobengine.jobsteps.root=&quot;${workspace_loc}/user.jobengine.executors/config&quot;&#13;&#10;-Djobengine.jobtemplates.root=&quot;${workspace_loc}/user.jobengine.executors/jobtemplates&quot;&#13;&#10;-Djobengine.db.url=jdbc:db2://10.228.198.1:50000/mediaarc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.db.user=db2admin&#13;&#10;-Djobengine.db.password=password&#13;&#10;-Djobengine.loglevel=INFO&#13;&#10;-Dlog4j.configurationFile=&quot;${workspace_loc}/-configuration/log4j2.xml&quot;&#13;&#10;-Djobengine.jobsteps.alternate.root=&quot;${workspace_loc}/user.jobengine.executors/bin/&quot;&#13;&#10;-Djetty.home=&quot;${workspace_loc:}/-configuration/jetty&quot;&#13;&#10;-Djetty.etc.config.urls=etc/user-jetty.xml,etc/user-jetty-ssl.xml,etc/user-jetty-ssl-context.xml,,etc/user-jetty-http.xml,etc/user-jetty-https.xml&#13;&#10;-Dorg.eclipse.jetty.webapp.basetempdir=c:\temp\jetty&#13;&#10;-Djava.io.tmpdir=c:\temp\jetty&#13;&#10;-Djobengine.octopus.api.address=http://10.10.1.11/api/v1&#13;&#10;-Djobengine.octopus.api.user=mam&#13;&#10;-Djobengine.octopus.api.password=napocska&#13;&#10;-Djobengine.nosql.db.url=jdbc:db2://10.228.198.1:50000/mccache:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.nosql.db.user=db2admin&#13;&#10;-Djobengine.nosql.db.password=password&#13;&#10;-Djobengine.nosql.db.schema=test&#13;&#10;-Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl&#13;&#10;-Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC.zenium&#13;&#10;-Djobengine.jobscheduling.config=&quot;${workspace_loc}/-configuration/scheduledjobs.json&quot;&#13;&#10;-Djobengine.nexio.db.url=jdbc:sqlserver://10.10.1.59:1433;databaseName=NXDB;&#13;&#10;-Djobengine.nexio.db.user=sa&#13;&#10;-Djobengine.nexio.db.password=resolve&#13;&#10;-Dnexio.host=192.168.0.12&#13;&#10;-Djobengine.nexio.name=testnexioclips&#13;&#10;-Dnexio.useMOSGateway=false&#13;&#10;-Dnexio.disable=false&#13;&#10;-Djobengine.octopus.rundowns.name=rundowns181026&#13;&#10;-Djobengine.octopus.storyfolders.name=storyfolders181026&#13;&#10;-Djobengine.octopus.stories.name=stories181026&#13;&#10;-Dmediacube.auth.location=&quot;${workspace_loc}/-configuration/mediacube-auth.properties&quot;"/>\r
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory&#13;&#10;-Dorg.eclipse.epp.logging.aeri.skipReports=true &#13;&#10;-Declipse.ignoreApp=true &#13;&#10;-Dosgi.noShutdown=true&#13;&#10;-Djobengine.jobsteps.root=&quot;${workspace_loc}/user.jobengine.executors/config&quot;&#13;&#10;-Djobengine.jobtemplates.root=&quot;${workspace_loc}/user.jobengine.executors/jobtemplates&quot;&#13;&#10;-Djobengine.db.url=jdbc:db2://10.228.198.1:50000/mediaarc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.db.user=db2admin&#13;&#10;-Djobengine.db.password=password&#13;&#10;-Djobengine.loglevel=INFO&#13;&#10;-Dlog4j.configurationFile=&quot;${workspace_loc}/-configuration/log4j2.xml&quot;&#13;&#10;-Djobengine.jobsteps.alternate.root=&quot;${workspace_loc}/user.jobengine.executors/bin/&quot;&#13;&#10;-Djetty.home=&quot;${workspace_loc:}/-configuration/jetty&quot;&#13;&#10;-Djetty.etc.config.urls=etc/user-jetty.xml,etc/user-jetty-ssl.xml,etc/user-jetty-ssl-context.xml,,etc/user-jetty-http.xml,etc/user-jetty-https.xml&#13;&#10;-Dorg.eclipse.jetty.webapp.basetempdir=c:\temp\jetty&#13;&#10;-Djava.io.tmpdir=c:\temp\jetty&#13;&#10;-Djobengine.octopus.api.address=http://10.10.1.11/api/v1&#13;&#10;-Djobengine.octopus.api.user=mam&#13;&#10;-Djobengine.octopus.api.password=napocska&#13;&#10;-Djobengine.nosql.db.url=jdbc:db2://10.228.198.1:50000/mccache:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.nosql.db.user=db2admin&#13;&#10;-Djobengine.nosql.db.password=password&#13;&#10;-Djobengine.nosql.db.schema=test&#13;&#10;-Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl&#13;&#10;-Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC.zenium&#13;&#10;-Djobengine.jobscheduling.config=&quot;${workspace_loc}/-configuration/scheduledjobs.json&quot;&#13;&#10;-Djobengine.maestro.config=&quot;${workspace_loc}/-configuration/maestro.json&quot;&#13;&#10;-Djobengine.nexio.db.url=jdbc:sqlserver://10.10.1.59:1433;databaseName=NXDB;&#13;&#10;-Djobengine.nexio.db.user=sa&#13;&#10;-Djobengine.nexio.db.password=resolve&#13;&#10;-Dnexio.host=192.168.0.12&#13;&#10;-Djobengine.nexio.name=testnexioclips&#13;&#10;-Dnexio.useMOSGateway=false&#13;&#10;-Dnexio.disable=false&#13;&#10;-Djobengine.octopus.rundowns.name=rundowns181026&#13;&#10;-Djobengine.octopus.storyfolders.name=storyfolders181026&#13;&#10;-Djobengine.octopus.stories.name=stories181026&#13;&#10;-Dmediacube.auth.location=&quot;${workspace_loc}/-configuration/mediacube-auth.properties&quot;"/>\r
 <stringAttribute key="pde.version" value="3.3"/>\r
 <booleanAttribute key="show_selected_only" value="false"/>\r
 <stringAttribute key="target_bundles" value="cglib@default:default,com.auth0.java-jwt@default:default,com.fasterxml.jackson.core.jackson-annotations@default:default,com.fasterxml.jackson.core.jackson-core@default:default,com.fasterxml.jackson.core.jackson-databind@default:default,com.fasterxml.jackson.datatype.jackson-datatype-joda@default:default,com.fasterxml.jackson.jaxrs.jackson-jaxrs-base@default:default,com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider@default:default,com.fasterxml.jackson.module.jackson-module-jaxb-annotations@default:default,com.google.guava@default:default,com.ibm.db2jcc4@default:default,com.ibm.nosql@default:default,com.microsoft.sqlserver.sqljdbc@default:default,com.sun.el.javax.el@default:default,commons-logging@default:default,humble.video.noarch@default:default,humble.video.windows@default:default,javax.annotation-api@default:default,javax.inject@default:default,javax.mail@default:default,javax.servlet-api@default:default,javax.servlet.jsp-api@default:default,javax.validation.api@default:default,javax.ws.rs-api@default:default,jcifs@default:default,joda-time@default:default,org.apache.aries.spifly.dynamic.bundle@default:default,org.apache.aries.util@default:default,org.apache.commons.beanutils@default:default,org.apache.commons.codec@default:default,org.apache.commons.collections@default:default,org.apache.commons.digester@default:default,org.apache.commons.io@default:default,org.apache.commons.lang3@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging@default:default,org.apache.commons.net@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.apache.jasper.glassfish@default:default,org.apache.logging.log4j.api@1:true,org.apache.logging.log4j.core@default:default,org.apache.logging.log4j.slf4j-impl@default:default,org.apache.servicemix.bundles.quartz@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.util@default:default,org.eclipse.jetty.client@default:default,org.eclipse.jetty.deploy@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.jsp@default:default,org.eclipse.jetty.osgi.boot.jsp@default:false,org.eclipse.jetty.osgi.boot@default:true,org.eclipse.jetty.schemas@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.jetty.webapp@default:default,org.eclipse.jetty.websocket.api@default:default,org.eclipse.jetty.websocket.client@default:default,org.eclipse.jetty.websocket.common@default:default,org.eclipse.jetty.websocket.server@default:default,org.eclipse.jetty.websocket.servlet@default:default,org.eclipse.jetty.xml@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.jboss.resteasy.client@default:default,org.jboss.resteasy.jaxrs@default:default,org.jmock.junit4@default:default,org.jmock@default:default,org.junit@default:default,org.objectweb.asm.commons@default:default,org.objectweb.asm.tree@default:default,org.objectweb.asm@default:default,slf4j.api@default:default,slf4j.simple@default:false"/>\r
index 331c6fe383fe35807b4e7c05cb196e975d0cbae9..512c3e68176973ae9318b6baeba165f4c3d208bd 100644 (file)
@@ -20,6 +20,7 @@ DynamicImport-Package: *
 Bundle-ClassPath: .
 Service-Component: OSGI-INF/nexioAPI.xml, OSGI-INF/octopusAPI.xml
 Export-Package: user.commons,
+ user.commons.config,
  user.commons.ftp,
  user.commons.logging,
  user.commons.mediatool,
diff --git a/server/user.jobengine.osgi.commons/launch/TestTSMClient.TestConnect.launch b/server/user.jobengine.osgi.commons/launch/TestTSMClient.TestConnect.launch
deleted file mode 100644 (file)
index 2403481..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
-<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">\r
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">\r
-<listEntry value="/user.jobengine.osgi.commons/test/user/jobengine/remotestore/TestTSMClient.java"/>\r
-</listAttribute>\r
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">\r
-<listEntry value="1"/>\r
-</listAttribute>\r
-<mapAttribute key="org.eclipse.debug.core.environmentVariables">\r
-<mapEntry key="DSMI_CONFIG" value="c:\Program Files\Tivoli\TSM\baclient\dsm.opt"/>\r
-<mapEntry key="DSMI_DIR" value="c:\Program Files\Tivoli\TSM\baclient"/>\r
-<mapEntry key="DSMI_LOG" value="c:\temp"/>\r
-</mapAttribute>\r
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>\r
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>\r
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value="TestConnect"/>\r
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>\r
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="user.jobengine.remotestore.TestTSMClient"/>\r
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="user.jobengine.osgi.commons"/>\r
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djava.library.path=&quot;c:\Program Files\Tivoli\TSM\api64\DLL&quot;"/>\r
-</launchConfiguration>\r
diff --git a/server/user.jobengine.osgi.commons/launch/TestTSMClient.launch b/server/user.jobengine.osgi.commons/launch/TestTSMClient.launch
deleted file mode 100644 (file)
index 1aa69f1..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
-<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">\r
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">\r
-<listEntry value="/user.jobengine.osgi.commons/test/user/jobengine/remotestore/TestTSMClient.java"/>\r
-</listAttribute>\r
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">\r
-<listEntry value="1"/>\r
-</listAttribute>\r
-<mapAttribute key="org.eclipse.debug.core.environmentVariables">\r
-<mapEntry key="DSMI_CONFIG" value="c:\Program Files\Tivoli\TSM\baclient\dsm.opt"/>\r
-<mapEntry key="DSMI_DIR" value="c:\Program Files\Tivoli\TSM\baclient"/>\r
-<mapEntry key="DSMI_LOG" value="c:\temp"/>\r
-</mapAttribute>\r
-<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>\r
-<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>\r
-<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>\r
-<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>\r
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="user.jobengine.remotestore.TestTSMClient"/>\r
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="user.jobengine.osgi.commons"/>\r
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djava.library.path=&quot;c:\Program Files\Tivoli\TSM\api64\DLL&quot;"/>\r
-</launchConfiguration>\r
diff --git a/server/user.jobengine.osgi.commons/src/user/commons/config/JSONConfig.java b/server/user.jobengine.osgi.commons/src/user/commons/config/JSONConfig.java
new file mode 100644 (file)
index 0000000..b3a9db3
--- /dev/null
@@ -0,0 +1,47 @@
+package user.commons.config;\r
+\r
+import java.io.File;\r
+import java.nio.file.Files;\r
+import java.nio.file.Paths;\r
+\r
+import org.apache.logging.log4j.LogManager;\r
+import org.apache.logging.log4j.Logger;\r
+\r
+import com.fasterxml.jackson.annotation.JsonInclude.Include;\r
+import com.fasterxml.jackson.databind.DeserializationFeature;\r
+import com.fasterxml.jackson.databind.ObjectMapper;\r
+import com.fasterxml.jackson.databind.SerializationFeature;\r
+import com.fasterxml.jackson.datatype.joda.JodaModule;\r
+\r
+public class JSONConfig {\r
+       private static Logger logger = LogManager.getLogger();\r
+       private static ObjectMapper objectMapper = createMapper();\r
+\r
+       private static ObjectMapper createMapper() {\r
+               return new ObjectMapper().disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES).disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)\r
+                               .registerModule(new JodaModule()).setSerializationInclusion(Include.NON_NULL);\r
+       }\r
+\r
+       public static <T> T read(String locationProperty, Class<T> type) throws Exception {\r
+               T result = null;\r
+               String configPath = System.getProperty(locationProperty);\r
+               if (configPath == null || "".equals(configPath))\r
+                       throw new Exception("Missing system property: " + locationProperty);\r
+               File configFile = new File(configPath);\r
+               if (configFile.exists()) {\r
+                       String json = new String(Files.readAllBytes(Paths.get(configFile.getAbsolutePath())));\r
+                       try {\r
+                               result = objectMapper.readValue(json.getBytes(), type);\r
+\r
+                       } catch (Exception e) {\r
+                               logger.error(e);\r
+                               throw e;\r
+                       }\r
+               } else {\r
+                       logger.error("Missing '{}' configuration file: {}", configPath, configFile.getAbsolutePath());\r
+               }\r
+\r
+               return result;\r
+       }\r
+\r
+}\r
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
new file mode 100644 (file)
index 0000000..d1b5d4f
--- /dev/null
@@ -0,0 +1,27 @@
+package user.jobengine.zk.model;\r
+\r
+import java.util.List;\r
+\r
+import user.commons.StoreUri;\r
+\r
+public class MaestroConfig {\r
+       private StoreUri sourceStoreUri;\r
+\r
+       private List<MaestroTarget> targets;\r
+\r
+       public StoreUri getSourceStoreUri() {\r
+               return sourceStoreUri;\r
+       }\r
+\r
+       public List<MaestroTarget> getTargets() {\r
+               return targets;\r
+       }\r
+\r
+       public void setSourceStoreUri(StoreUri sourceStoreUri) {\r
+               this.sourceStoreUri = sourceStoreUri;\r
+       }\r
+\r
+       public void setTargets(List<MaestroTarget> targets) {\r
+               this.targets = targets;\r
+       }\r
+}\r
diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MaestroTarget.java b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MaestroTarget.java
new file mode 100644 (file)
index 0000000..f1e5999
--- /dev/null
@@ -0,0 +1,25 @@
+package user.jobengine.zk.model;\r
+\r
+import user.commons.StoreUri;\r
+\r
+public class MaestroTarget {\r
+       private String name;\r
+       private StoreUri storeUri;\r
+\r
+       public String getName() {\r
+               return name;\r
+       }\r
+\r
+       public StoreUri getStoreUri() {\r
+               return storeUri;\r
+       }\r
+\r
+       public void setName(String name) {\r
+               this.name = name;\r
+       }\r
+\r
+       public void setStoreUri(StoreUri storeUri) {\r
+               this.storeUri = storeUri;\r
+       }\r
+\r
+}
\ No newline at end of file
diff --git a/server/user.jobengine.osgi.server/test/user/jobengine/server/MaestroConfigTest.java b/server/user.jobengine.osgi.server/test/user/jobengine/server/MaestroConfigTest.java
new file mode 100644 (file)
index 0000000..9386f3b
--- /dev/null
@@ -0,0 +1,33 @@
+package user.jobengine.server;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import org.junit.Test;
+
+import user.commons.config.JSONConfig;
+import user.jobengine.zk.model.MaestroConfig;
+
+public class MaestroConfigTest {
+
+       @Test
+       public void testConstructor_Schedule() throws Exception {
+               // Fixture
+               String key = "jobengine.maestro.config";
+               String root = new File(MaestroConfigTest.class.getResource("").getFile()).getAbsolutePath().replace("\\bin\\", "\\test\\");
+               Path resource = Paths.get(root, "maestro.json");
+               System.setProperty(key, resource.toString());
+               // Exercise
+               MaestroConfig sut = JSONConfig.read(key, MaestroConfig.class);
+
+               // Verify
+               assertNotNull(sut);
+               assertNotNull(sut.getSourceStoreUri());
+               assertTrue(sut.getSourceStoreUri().getRemoteFiles().size() > 0);
+       }
+
+}
diff --git a/server/user.jobengine.osgi.server/test/user/jobengine/server/maestro.json b/server/user.jobengine.osgi.server/test/user/jobengine/server/maestro.json
new file mode 100644 (file)
index 0000000..8cc59fc
--- /dev/null
@@ -0,0 +1,26 @@
+{\r
+       "sourceStoreUri": {\r
+               "protocol": "LOCAL",\r
+               "uri": "c:/temp"\r
+       },\r
+       "targets": \r
+       [\r
+               {\r
+                       "name": "name1",\r
+                       "storeUri": {\r
+                               "protocol": "LOCAL",\r
+                               "uri": "c:/temp1"\r
+                       }\r
+               },\r
+               {\r
+                       "name": "name2",\r
+                       "storeUri": {\r
+                               "protocol": "LOCAL",\r
+                               "uri": "c:/temp2"\r
+                       }\r
+               }\r
+       ]\r
+}\r
+\r
+\r
+\r