git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Thu, 10 Oct 2019 11:42:48 +0000 (11:42 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Thu, 10 Oct 2019 11:42:48 +0000 (11:42 +0000)
32 files changed:
server/-configuration/maestro.json
server/-configuration/run-mediacube-server-user.launch
server/-dependencies/jobengine.target
server/-dependencies/pom.xml
server/user.jobengine.executors/META-INF/MANIFEST.MF
server/user.jobengine.executors/src/user/jobengine/server/steps/EscortFiles.java
server/user.jobengine.executors/src/user/jobengine/server/steps/FileCopyStep.java
server/user.jobengine.osgi.commons/src/user/commons/StoreUri.java
server/user.jobengine.osgi.commons/src/user/commons/remotestore/FtpDirectoryLister.java
server/user.jobengine.osgi.commons/src/user/commons/remotestore/IDirectoryLister.java
server/user.jobengine.osgi.commons/src/user/commons/remotestore/LocalDirectoryLister.java
server/user.jobengine.osgi.commons/src/user/commons/remotestore/SambaDirectoryLister.java
server/user.jobengine.osgi.commons/src/user/commons/remotestore/TSMLister.java
server/user.jobengine.osgi.commons/src/user/mediacube/metadata/interfaces/IMetadata.java
server/user.jobengine.osgi.db/src/user/jobengine/search/LuceneMediaFinder.java
server/user.jobengine.osgi.db/test/user/jobengine/db/TestItem.java
server/user.jobengine.osgi.server/deploy.launch
server/user.jobengine.osgi.server/resources/i3-label_hu.properties
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/DirectoryListModel.java
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MaestroJobListModel.java
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MaestroTarget.java
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/PlanAirListModel.java
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/TargetsListModel.java
server/user.jobengine.osgi.server/src/user/jobengine/zk/util/SessionUtil.java
server/user.mediacube.metadata/deploy.launch [new file with mode: 0644]
server/user.mediacube.metadata/src/user/mediacube/metadata/planair/IPlanAirADMapper.java
server/user.mediacube.metadata/src/user/mediacube/metadata/planair/IPlanAirMaterialMapper.java
server/user.mediacube.metadata/src/user/mediacube/metadata/planair/IPlanAirPromoMapper.java
server/user.mediacube.metadata/src/user/mediacube/metadata/planair/PlanAirAD.java
server/user.mediacube.metadata/src/user/mediacube/metadata/planair/PlanAirMaterial.java
server/user.mediacube.metadata/src/user/mediacube/metadata/planair/PlanAirMetadataProvider.java
server/user.mediacube.metadata/src/user/mediacube/metadata/planair/PlanAirPromo.java

index 36f35ed0a807aa9f769fb5893b04933203219219..2ad1d187548fe91798870509a6ecd04d10de9258 100644 (file)
@@ -2,41 +2,35 @@
        "sourceStoreUri": {\r
                "name": "Default",\r
                "protocol": "LOCAL",\r
-               "uri": "c:/temp",\r
-               "fileFilter": "*.log;*.bat",\r
+               "uri": "c:/_video",\r
+               "fileFilter": "*.mxf",\r
                "showDirectories": true\r
        },\r
        "alternateSourceStoreUris": \r
                [\r
                        {\r
-                               "name": "Alt1",\r
+                               "name": "NLE1",\r
                                "protocol": "LOCAL",\r
-                               "uri": "c:/dev",\r
-                               "fileFilter": "*.log;*.bat",\r
+                               "uri": "c:/_video/nle1",\r
+                               "fileFilter": "*.mxf",\r
                                "showDirectories": true\r
                        },\r
                        {\r
-                               "name": "Alt2",\r
+                               "name": "NLE2",\r
                                "protocol": "LOCAL",\r
-                               "uri": "c:/opt",\r
-                               "fileFilter": "*.log;*.bat",\r
+                               "uri": "c:/_video/nle2",\r
+                               "fileFilter": "*.mxf",\r
                                "showDirectories": true\r
                        }\r
        ],\r
        "targets": \r
        [\r
                {\r
-                       "name": "name1",\r
+                       "name": "FINISHED_SHOWS",\r
+                       "killDateDays": 1,\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
+                               "uri": "c:/_video/finished"\r
                        }\r
                }\r
        ]\r
index 4ed184f016a37b827375fe1b2a69a640f44767a7..7a9ef79e6e66091cfc8b59a29dde7c1af08c4689 100644 (file)
 <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;-Djobengine.planair.db.url=jdbc:sqlserver://10.10.1.45;databaseName=PA_Echo;&#13;&#10;-Djobengine.planair.db.user=MAM&#13;&#10;-Djobengine.planair.db.password=Echotv.hu&#13;&#10;-Dnexio.host=192.168.0.12&#13;&#10;-Djobengine.nexio.name=testnexioclips&#13;&#10;-Dnexio.useMOSGateway=false&#13;&#10;-Dnexio.disable=true&#13;&#10;-Djobengine.octopus.rundowns.name=rundowns181026&#13;&#10;-Djobengine.octopus.storyfolders.name=storyfolders181026&#13;&#10;-Djobengine.octopus.stories.name=stories181026&#13;&#10;-Djobengine.maestro.config=&quot;${workspace_loc}/-configuration/maestro.json&quot;&#13;&#10;-Djobengine.mediacube.config=&quot;${workspace_loc}/-configuration/mediacube.json&quot;&#13;&#10;-Dgui.statistics.disable=true&#13;&#10;-Dgui.help.disable=true&#13;&#10;-Dgui.editor.disable=true&#13;&#10;-Djobengine.mediafinder.external=true"/>\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;-Djobengine.planair.db.url=jdbc:sqlserver://10.11.254.86;databaseName=PA_Vivantis;&#13;&#10;-Djobengine.planair.db.user=MAM&#13;&#10;-Djobengine.planair.db.password=VDani&#13;&#10;-Dnexio.host=192.168.0.12&#13;&#10;-Djobengine.nexio.name=testnexioclips&#13;&#10;-Dnexio.useMOSGateway=false&#13;&#10;-Dnexio.disable=true&#13;&#10;-Djobengine.octopus.rundowns.name=rundowns181026&#13;&#10;-Djobengine.octopus.storyfolders.name=storyfolders181026&#13;&#10;-Djobengine.octopus.stories.name=stories181026&#13;&#10;-Djobengine.maestro.config=&quot;${workspace_loc}/-configuration/maestro.json&quot;&#13;&#10;-Djobengine.mediacube.config=&quot;${workspace_loc}/-configuration/mediacube.json&quot;&#13;&#10;-Dgui.statistics.disable=true&#13;&#10;-Dgui.help.disable=true&#13;&#10;-Dgui.editor.disable=true&#13;&#10;-Djobengine.mediafinder.external=true"/>\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.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.ibm.db2jcc4@default:default,com.ibm.nosql@default:default,com.microsoft.sqlserver.sqljdbc@default:default,humble.video.noarch@default:default,humble.video.windows@default:default,javax.annotation-api@default:default,javax.mail@default:default,javax.servlet-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.collections@default:default,org.apache.commons.digester@default:default,org.apache.commons.io@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.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.deploy@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,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.jackson2-provider@default:default,org.jboss.resteasy.jaxb-provider@default:default,org.jboss.resteasy.jaxrs@default:default,org.jmock.junit4@default:default,org.jmock@default:default,org.junit@default:default,org.mybatis.mybatis@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
+<stringAttribute key="target_bundles" value="cglib@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.ibm.db2jcc4@default:default,com.ibm.nosql@default:default,com.microsoft.sqlserver.sqljdbc@default:default,humble.video.noarch@default:default,humble.video.windows@default:default,javax.annotation-api@default:default,javax.mail@default:default,javax.servlet-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.collections@default:default,org.apache.commons.digester@default:default,org.apache.commons.io@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.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.deploy@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,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.jackson2-provider@default:default,org.jboss.resteasy.jaxrs-api@default:default,org.jboss.resteasy.jaxrs@default:default,org.jmock.junit4@default:default,org.jmock@default:default,org.junit@default:default,org.mybatis.mybatis@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
 <booleanAttribute key="tracing" value="false"/>\r
 <booleanAttribute key="useCustomFeatures" value="false"/>\r
 <booleanAttribute key="useDefaultConfigArea" value="true"/>\r
index b986b07581d26770667833ab16379a1358704d04..667e9d4e26b0704907e4dda89d0ae3381c10d0ea 100644 (file)
@@ -62,7 +62,6 @@
 <plugin id="org.eclipse.jetty.security" version="9.3.9.v20160517"/>\r
 <plugin id="org.eclipse.jetty.server" version="9.3.9.v20160517"/>\r
 <plugin id="org.eclipse.jetty.servlet" version="9.3.9.v20160517"/>\r
-<plugin id="org.eclipse.jetty.servlet.source"/>\r
 <plugin id="org.eclipse.jetty.util" version="9.3.9.v20160517"/>\r
 <plugin id="org.eclipse.jetty.webapp" version="9.3.9.v20160517"/>\r
 <plugin id="org.eclipse.jetty.websocket.api"/>\r
index db9388a29a3578082609635c66b9c2e0c4f04149..359b02b9c4b269c6aab63a61424a79bbecee4185 100644 (file)
                                                                </artifact>\r
                                                                <artifact>\r
                                                                        <id>org.eclipse.jetty:jetty-servlet:${jetty.version}</id>\r
-                                                                       <source>true</source>\r
                                                                </artifact>\r
                                                                <artifact>\r
                                                                        <id>org.eclipse.jetty.websocket:websocket-api:${jetty.version}</id>\r
 \r
                                                                <artifact>\r
                                                                        <id>org.jboss.resteasy:resteasy-jaxrs:${resteasy-version}</id>\r
+                                                                       <source>true</source>\r
                                                                </artifact>\r
                                                                <artifact>\r
                                                                        <id>org.jboss.resteasy:resteasy-validator-provider-11:${resteasy-version}</id>\r
+                                                                       <source>true</source>\r
                                                                </artifact>\r
                                                                <artifact>\r
                                                                        <id>org.jboss.resteasy:resteasy-multipart-provider:${resteasy-version}</id>\r
+                                                                       <source>true</source>\r
                                                                </artifact>\r
                                                                <artifact>\r
+                                                                       <source>true</source>\r
                                                                        <id>org.jboss.resteasy:resteasy-jackson2-provider:${resteasy-version}</id>\r
                                                                </artifact>\r
                                                        </artifacts>\r
index 5c6c38dea768703e911f8618a21e21b0d8cb7c02..7da4ebb7fb268280981ef591ec5d9acb2d2a894e 100644 (file)
@@ -9,24 +9,29 @@ Require-Bundle: user.jobengine.osgi.commons;bundle-version="1.0.0",
  org.apache.commons.lang;bundle-version="2.6.0",
  user.jobengine.osgi.server;bundle-version="1.0.0",
  user.jobengine.osgi.db,
- com.ibm.nosql;bundle-version="4.19.26"
+ com.ibm.nosql;bundle-version="4.19.26",
+ com.fasterxml.jackson.core.jackson-annotations;bundle-version="2.4.5",
+ com.fasterxml.jackson.core.jackson-core;bundle-version="2.4.5",
+ com.fasterxml.jackson.core.jackson-databind;bundle-version="2.4.5",
+ com.fasterxml.jackson.datatype.jackson-datatype-joda;bundle-version="2.4.5",
+ com.fasterxml.jackson.jaxrs.jackson-jaxrs-base;bundle-version="2.4.5",
+ com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider;bundle-version="2.4.5",
+ com.fasterxml.jackson.module.jackson-module-jaxb-annotations;bundle-version="2.4.5",
+ org.jboss.resteasy.client;bundle-version="3.0.11",
+ org.jboss.resteasy.jackson2-provider;bundle-version="3.0.11",
+ org.jboss.resteasy.jaxb-provider;bundle-version="3.0.11",
+ org.jboss.resteasy.jaxrs;bundle-version="3.0.11",
+ org.jboss.resteasy.jaxrs-api;bundle-version="3.0.11",
+ org.jboss.resteasy.multipart-provider;bundle-version="3.0.11",
+ org.jboss.resteasy.validator-provider-11;bundle-version="3.0.11"
 Bundle-ClassPath: .
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Import-Package: com.fasterxml.jackson.annotation;version="2.4.5",
- com.fasterxml.jackson.core;version="2.4.5",
- com.fasterxml.jackson.databind;version="2.4.5",
- com.fasterxml.jackson.databind.util;version="2.4.5",
- com.fasterxml.jackson.datatype.joda;version="2.4.5",
- com.fasterxml.jackson.jaxrs.json;version="2.4.5",
- javax.ws.rs.client,
+Import-Package: javax.ws.rs.client,
  javax.ws.rs.core;version="2.0.1",
  org.apache.commons.io;version="2.2.0",
  org.apache.commons.net.ftp;version="3.6.0",
  org.apache.logging.log4j;version="2.8.2",
  org.apache.logging.log4j.message;version="2.8.2",
- org.jboss.resteasy.client.jaxrs,
- org.jboss.resteasy.plugins.providers,
- org.jboss.resteasy.spi,
  org.joda.time;version="2.2.0",
  org.joda.time.base;version="2.2.0",
  sqlj.runtime.ref
index 67536a7a32d9813afee2ca5e961509d23e235960..4be1b405c369a609663c9eed5c93ab3faab269d3 100644 (file)
@@ -73,8 +73,7 @@ public class EscortFiles {
                Files.write(xmlPath, content.getBytes());\r
        }\r
 \r
-       public static byte[] createNEXIOKillDateFile(String fileName, Date killDate, String description, String agency)\r
-                       throws Exception {\r
+       public static byte[] createNEXIOKillDateFile(String fileName, Date killDate, String description, String agency) throws Exception {\r
                DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();\r
                DocumentBuilder db = dbf.newDocumentBuilder();\r
                DOMImplementation impl = db.getDOMImplementation();\r
@@ -88,8 +87,7 @@ public class EscortFiles {
                }\r
 \r
                if (StringUtils.isNotBlank(description))\r
-                       root.appendChild(xmlDocument.createElement(EXTENDEDDESCRIPTION))\r
-                                       .appendChild(xmlDocument.createTextNode(description));\r
+                       root.appendChild(xmlDocument.createElement(EXTENDEDDESCRIPTION)).appendChild(xmlDocument.createTextNode(description));\r
                if (StringUtils.isNotBlank(agency))\r
                        root.appendChild(xmlDocument.createElement(EXTENDEDAGENCY)).appendChild(xmlDocument.createTextNode(agency));\r
                xmlDocument.appendChild(root);\r
@@ -130,7 +128,7 @@ public class EscortFiles {
                        } catch (Exception e) {\r
                                // logger.catching(e);\r
                                try {\r
-                                       Files.createDirectory(filePath);\r
+                                       Files.createDirectories(filePath);\r
                                } catch (Exception e1) {\r
                                        logger.catching(e);\r
                                        throw e;\r
@@ -144,8 +142,7 @@ public class EscortFiles {
                ensureUNCFolder(statusPath);\r
        }\r
 \r
-       public static void setNEXIOKillDate(int killDateDays, String targetFileName, String nexioAgency, StoreUri targetUri)\r
-                       throws Exception {\r
+       public static void setNEXIOKillDate(int killDateDays, String targetFileName, String nexioAgency, StoreUri targetUri) throws Exception {\r
                OutputStream outStream = null;\r
                try {\r
                        FTPClient targetFTP = ((FtpDirectoryLister) targetUri.getLister()).connect();\r
@@ -153,14 +150,12 @@ public class EscortFiles {
                        killDate.add(Calendar.DAY_OF_YEAR, killDateDays);\r
                        if (targetFileName.toLowerCase().contains(".mxf"))\r
                                targetFileName = targetFileName.substring(0, targetFileName.lastIndexOf('.'));\r
-                       byte[] killDateFile = EscortFiles.createNEXIOKillDateFile(targetFileName, killDate.getTime(), null,\r
-                                       nexioAgency);\r
+                       byte[] killDateFile = EscortFiles.createNEXIOKillDateFile(targetFileName, killDate.getTime(), null, nexioAgency);\r
                        String xml = targetFileName + ".xml";\r
                        outStream = targetFTP.storeFileStream(xml);\r
                        if (outStream == null) {\r
                                throw new NullPointerException(\r
-                                               "Can not open: " + targetFileName.substring(0, targetFileName.lastIndexOf('.')) + ".xml"\r
-                                                               + " Reply:" + targetFTP.getReplyString());\r
+                                               "Can not open: " + targetFileName.substring(0, targetFileName.lastIndexOf('.')) + ".xml" + " Reply:" + targetFTP.getReplyString());\r
                        }\r
                        outStream.write(killDateFile);\r
                        outStream.flush();\r
index 00d5d9b595050026f4d85d09cb71d453dffbe95a..76edb1ce17cb0eb7e3bcfae8e16f87f79be93a4d 100644 (file)
@@ -76,7 +76,7 @@ public class FileCopyStep extends JobStep {
 \r
                        source.transferFrom(target, sourceFileName, targetFileName);\r
                        if (killDateDays > 0) {\r
-                               EscortFiles.createUNCKillDate(targetPath, sourceFileName, killDateDays, marker);\r
+                               EscortFiles.createUNCKillDate(targetPath, targetFileName, killDateDays, marker);\r
                        }\r
 \r
                } catch (Exception e) {\r
index 150e39a9f5932d74986a74c677bf9201a2d00747..db4eb6355a97a47ab0ed0cdfd6ae4aa15cb8c466 100644 (file)
@@ -380,6 +380,9 @@ public class StoreUri extends EntityBase implements Serializable {
                IDirectoryLister outputLister = RemoteFileHandler.createLister(targetStoreUri);
                if (outputLister == null)
                        throw new Exception("OutputLister is null.");
+
+               outputLister.ensureOutputDirectory();
+
                return copy(lister, outputLister, remoteFile, targetName);
        }
 
index 0c4645d628dbb739202acee4ca124d9fbb9e38f4..429deed6cbbee7eee1470ef22fdcff90d3a14473 100644 (file)
@@ -112,6 +112,12 @@ public class FtpDirectoryLister implements IDirectoryLister {
                }\r
        }\r
 \r
+       @Override\r
+       public void ensureOutputDirectory() {\r
+               // TODO Auto-generated method stub\r
+\r
+       }\r
+\r
        @Override\r
        public boolean exists(String fileName) throws Exception {\r
                connect();\r
index fb4a1421fb48c21e329980175686312620eeb16e..dfa95641844948d1a25a6f8c6742750d0da21b40 100644 (file)
@@ -15,6 +15,8 @@ public interface IDirectoryLister {
 \r
        void delete(RemoteFile remoteFile) throws Exception;\r
 \r
+       void ensureOutputDirectory() throws Exception;\r
+\r
        boolean exists(String fileName) throws Exception;\r
 \r
        RemoteFile get(String fileName) throws Exception;\r
index a3d235069ff28fc2155679c3bee8ed5fdbcc991f..4e1299ddf0da404e323726d4d2dc8a03f3f1c737 100644 (file)
@@ -10,11 +10,15 @@ import java.nio.file.Files;
 import java.nio.file.Path;\r
 import java.nio.file.Paths;\r
 import java.nio.file.attribute.BasicFileAttributes;\r
+import java.nio.file.attribute.FileAttribute;\r
+import java.nio.file.attribute.PosixFilePermission;\r
+import java.nio.file.attribute.PosixFilePermissions;\r
 import java.sql.Timestamp;\r
 import java.util.ArrayList;\r
 import java.util.Arrays;\r
 import java.util.Comparator;\r
 import java.util.List;\r
+import java.util.Set;\r
 \r
 import org.apache.commons.lang.NotImplementedException;\r
 \r
@@ -49,6 +53,25 @@ public class LocalDirectoryLister implements IDirectoryLister {
 \r
        }\r
 \r
+       @Override\r
+       public void ensureOutputDirectory() throws Exception {\r
+               File folder = new File(storeUri.toString(true));\r
+               if (!folder.exists() || !folder.isDirectory()) {\r
+                       Set<PosixFilePermission> perms = PosixFilePermissions.fromString("rwxrwxrwx");\r
+                       FileAttribute<Set<PosixFilePermission>> attr = PosixFilePermissions.asFileAttribute(perms);\r
+                       try {\r
+                               Files.createDirectories(folder.toPath(), attr);\r
+                       } catch (Exception e) {\r
+                               // logger.catching(e);\r
+                               try {\r
+                                       Files.createDirectories(folder.toPath());\r
+                               } catch (Exception e1) {\r
+                                       throw e;\r
+                               }\r
+                       }\r
+               }\r
+       }\r
+\r
        @Override\r
        public boolean exists(String fileName) throws Exception {\r
                Path path = Paths.get(storeUri.toString(true), fileName);\r
@@ -81,35 +104,38 @@ public class LocalDirectoryLister implements IDirectoryLister {
                List<RemoteFile> result = new ArrayList<RemoteFile>();\r
                String path = storeUri.toString(true);\r
                File dir = new File(path);\r
-               File[] dirs = {};\r
+               File[] dirs = null;\r
                if (storeUri.isShowDirectories())\r
                        dirs = dir.listFiles(new DirectoryFileFilter(storeUri.getDirectoryFilter(), true));\r
 \r
                File[] files = dir.listFiles(new DirectoryFileFilter(storeUri.getFileFilter(), false));\r
 \r
-               Arrays.sort(dirs, new Comparator<File>() {\r
-                       @Override\r
-                       public int compare(File f1, File f2) {\r
-                               return f1.getName().compareToIgnoreCase(f2.getName());\r
+               if (dirs != null) {\r
+                       Arrays.sort(dirs, new Comparator<File>() {\r
+                               @Override\r
+                               public int compare(File f1, File f2) {\r
+                                       return f1.getName().compareToIgnoreCase(f2.getName());\r
+                               }\r
+                       });\r
+                       for (File file : dirs) {\r
+                               RemoteFile remoteFile = toRemoteFile(file);\r
+                               result.add(remoteFile);\r
                        }\r
-               });\r
+               }\r
 \r
-               Arrays.sort(files, new Comparator<File>() {\r
-                       @Override\r
-                       public int compare(File f1, File f2) {\r
-                               return f1.getName().compareToIgnoreCase(f2.getName());\r
+               if (files != null) {\r
+                       Arrays.sort(files, new Comparator<File>() {\r
+                               @Override\r
+                               public int compare(File f1, File f2) {\r
+                                       return f1.getName().compareToIgnoreCase(f2.getName());\r
+                               }\r
+                       });\r
+                       for (File file : files) {\r
+                               RemoteFile remoteFile = toRemoteFile(file);\r
+                               result.add(remoteFile);\r
                        }\r
-               });\r
-\r
-               for (File file : dirs) {\r
-                       RemoteFile remoteFile = toRemoteFile(file);\r
-                       result.add(remoteFile);\r
                }\r
 \r
-               for (File file : files) {\r
-                       RemoteFile remoteFile = toRemoteFile(file);\r
-                       result.add(remoteFile);\r
-               }\r
                return result;\r
        }\r
 \r
index 73ca4045b76740f0696334f714794660544a78e1..e1461ed326a14487dc89d9079dc3e5c8e83bc592 100644 (file)
@@ -48,6 +48,12 @@ public class SambaDirectoryLister implements IDirectoryLister {
                }\r
        }\r
 \r
+       @Override\r
+       public void ensureOutputDirectory() {\r
+               // TODO Auto-generated method stub\r
+\r
+       }\r
+\r
        @Override\r
        public boolean exists(String fileName) throws Exception {\r
                // TODO Auto-generated method stub\r
index ad3331db069f919e932e9fa066f044221db295fc..fca30aa19abfaf12c170694e3b11450619143d8e 100644 (file)
@@ -46,6 +46,12 @@ public class TSMLister implements IDirectoryLister {
 \r
        }\r
 \r
+       @Override\r
+       public void ensureOutputDirectory() throws Exception {\r
+               // TODO Auto-generated method stub\r
+\r
+       }\r
+\r
        @Override\r
        public boolean exists(String fileName) throws Exception {\r
                // TODO Auto-generated method stub\r
index 8d6178a4680a4099c651fac822e199c830c44d49..d9711f754703dbef70e7a6ff210406f82b408081 100644 (file)
@@ -2,4 +2,7 @@ package user.mediacube.metadata.interfaces;
 \r
 public interface IMetadata {\r
 \r
+       String getId();\r
+\r
+       String getTitle();\r
 }\r
index 1fc9dca9bbc77d6053799dec0973be5deff7fa57..a65228f4a32d4253b22a1e83c5882dc8f061a2d0 100644 (file)
@@ -21,10 +21,6 @@ public class LuceneMediaFinder implements IMediaFinder {
                        int toResult) {\r
                SearchResult<ArchivedMedia> ret = new SearchResult<ArchivedMedia>();\r
                // TODO Auto-generated method stub\r
-               // ResteasyProviderFactory instance =\r
-               // ResteasyProviderFactory.getInstance();\r
-               // RegisterBuiltin.register(instance);\r
-               // instance.registerProvider(ResteasyJackson2Provider.class);\r
                ResteasyClient client = new ResteasyClientBuilder().build();\r
                // if (criteria == "" || criteria == null)\r
                // apiPath = apiPath + "*:*/";\r
index 7e561ece03120f0e5e5c0255fa24714516a0470f..89f7f558780dcb56980380a60b41bf44435e8039 100644 (file)
@@ -373,7 +373,7 @@ public class TestItem extends TestBase {
                // TestDB.createStaticItemTypes();\r
                // Fixture\r
                // Exercise\r
-               Item result = manager.getItemByHouseID("11111");\r
+               Item result = manager.getItemByHouseID("11111", null);\r
 \r
                // Verify\r
                assertNotNull(result);\r
index e1c38a1c29b38e63fb36058f90b495110e15e6e0..788bceafdfd88546a2cb387174bf0e5315803508 100644 (file)
@@ -7,7 +7,7 @@
 <stringAttribute key="M2_PROFILES" value=""/>\r
 <listAttribute key="M2_PROPERTIES"/>\r
 <stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>\r
-<booleanAttribute key="M2_SKIP_TESTS" value="false"/>\r
+<booleanAttribute key="M2_SKIP_TESTS" value="true"/>\r
 <intAttribute key="M2_THREADS" value="1"/>\r
 <booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>\r
 <stringAttribute key="M2_USER_SETTINGS" value=""/>\r
index 48988ce2d57e6517f831c37a2e5b5211c85aeb25..b700857ed7ab557805dfc1e67c67c9f4b2b23bc1 100644 (file)
@@ -1,4 +1,4 @@
-version=2.4.5\r
+version=2.4.6\r
 footer=2016-2019 © Copyright User Rendszerház Kft.\r
 \r
 login_info=Információ\r
index 791cd69eb90ab1217025aedb37caddac8c93559b..7e59913b0efe1de31b898eb53fa141827eb32ceb 100644 (file)
@@ -1,6 +1,5 @@
 package user.jobengine.zk.model;\r
 \r
-import java.util.HashMap;\r
 import java.util.List;\r
 import java.util.Map;\r
 import java.util.Set;\r
@@ -15,6 +14,7 @@ import org.zkoss.bind.annotation.NotifyChange;
 import org.zkoss.zk.ui.Executions;\r
 import org.zkoss.zul.ListModelList;\r
 \r
+import user.commons.ListUtils;\r
 import user.commons.NamedStoreUri;\r
 import user.commons.RemoteFile;\r
 import user.commons.StoreUri;\r
@@ -80,7 +80,7 @@ public class DirectoryListModel {
                        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
+                                       if (param.toLowerCase().equals(altSourceStoreUri.getName().toLowerCase()))\r
                                                uri = altSourceStoreUri;\r
                                }\r
                        }\r
@@ -150,12 +150,8 @@ public class DirectoryListModel {
        @NotifyChange("executeEnabled")\r
        public void selectedItemChanged() {\r
                Set<RemoteFile> selection = files.getSelection();\r
-               // logger.info("Selected: {}", selection.size());\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
+               Map<String, Object> args = ListUtils.asMap("sourcedata", selection, "sourceUri", uri);\r
+               BindUtils.postGlobalCommand(null, null, "updateExecuteSource", args);\r
        }\r
 \r
        public void setFileSizeConverter(FileSizeConverter fileSizeConverter) {\r
index 34e54fe745866092033df8ea96857eb691926921..f0a57bf4e99462890caf552aec775180cf4f4cc5 100644 (file)
@@ -1,8 +1,13 @@
 package user.jobengine.zk.model;\r
 \r
+import java.nio.file.Path;\r
+import java.nio.file.Paths;\r
+import java.text.Normalizer;\r
 import java.util.Collection;\r
 import java.util.Map;\r
+import java.util.regex.Pattern;\r
 \r
+import org.apache.commons.io.FilenameUtils;\r
 import org.apache.logging.log4j.LogManager;\r
 import org.apache.logging.log4j.Logger;\r
 import org.zkoss.bind.annotation.BindingParam;\r
@@ -26,16 +31,40 @@ import user.jobengine.server.JobEngine;
 import user.jobengine.server.JobEngineException;\r
 import user.jobengine.server.scheduler.ScheduledJob;\r
 import user.jobengine.zk.util.SessionUtil;\r
+import user.mediacube.metadata.interfaces.IMetadata;\r
 \r
 public class MaestroJobListModel extends AsyncBaseModel implements IJobChangedListener {\r
        private static final Logger logger = LogManager.getLogger();\r
        private static final String TEMPLATE = "common-copy.xml";\r
+       public static final Pattern DIACRITICS_AND_FRIENDS = Pattern.compile("[\\p{InCombiningDiacriticalMarks}\\p{IsLm}\\p{IsSk}]+");\r
+\r
+       private static String stripDiacritics(String str) {\r
+               str = Normalizer.normalize(str, Normalizer.Form.NFD);\r
+               str = DIACRITICS_AND_FRIENDS.matcher(str).replaceAll("");\r
+               return str;\r
+       }\r
+\r
        private ListModelList<IJobRuntime> jobList = new ListModelList<IJobRuntime>();\r
        private IJobEngine jobEngine = null;\r
        private int newPriority = 1;\r
+\r
        private Collection<BasicDBObject> selectedJobs;\r
+\r
        private String currentUser = SessionUtil.getUserPrincipal().getAccount();\r
 \r
+       private String applyTargetFile(String sourceFileName, IMetadata targetMetadata) {\r
+               String extension = FilenameUtils.getExtension(sourceFileName);\r
+               return String.format("%s.%s", targetMetadata.getId(), extension);\r
+       }\r
+\r
+       private String applyTargetPath(String targetPath, IMetadata targetMetadata) {\r
+               Path path = Paths.get(targetPath, String.format("%s_%s", targetMetadata.getId(), stripDiacritics(targetMetadata.getTitle())));\r
+               String result = path.toString();\r
+               result = result.replace(" (OK)", "");\r
+               result = result.replace(" ", "_");\r
+               return result.toUpperCase();\r
+       }\r
+\r
        public ListModelList<IJobRuntime> getJobList() {\r
                return jobList;\r
        }\r
@@ -137,7 +166,8 @@ public class MaestroJobListModel extends AsyncBaseModel implements IJobChangedLi
        @NotifyChange({ "jobList" })\r
        public void submitJob(@BindingParam("sourceProtocol") String sourceProtocol, @BindingParam("sourcePath") String sourcePath,\r
                        @BindingParam("sourceFileName") String sourceFileName, @BindingParam("targetProtocol") String targetProtocol,\r
-                       @BindingParam("targetPath") String targetPath, @BindingParam("killDateDays") Integer killDateDays) {\r
+                       @BindingParam("targetPath") String targetPath, @BindingParam("killDateDays") int killDateDays,\r
+                       @BindingParam("targetMetadata") IMetadata targetMetadata) {\r
 \r
                ScheduledJob scheduledJob = jobEngine.getScheduledJob(TEMPLATE);\r
                Map<String, Object> parameters = scheduledJob.getJobParameters();\r
@@ -146,8 +176,13 @@ public class MaestroJobListModel extends AsyncBaseModel implements IJobChangedLi
                parameters.put("sourceFileName", sourceFileName);\r
 \r
                parameters.put("targetProtocol", targetProtocol);\r
+\r
+               targetPath = applyTargetPath(targetPath, targetMetadata);\r
                parameters.put("targetPath", targetPath);\r
-               parameters.put("targetFileName", sourceFileName);\r
+\r
+               String targetFileName = applyTargetFile(sourceFileName, targetMetadata);\r
+               parameters.put("targetFileName", targetFileName);\r
+\r
                parameters.put("killDateDays", killDateDays);\r
 \r
                try {\r
index 8b4786d72f3fd29fd2500631379aa36db47901ff..d5858b905b63336aefb7996f1be442dbfe7d9349 100644 (file)
@@ -6,6 +6,11 @@ public class MaestroTarget {
        private String name;\r
        private StoreUri storeUri;\r
        private Boolean selected;\r
+       private int killDateDays;\r
+\r
+       public int getKillDateDays() {\r
+               return killDateDays;\r
+       }\r
 \r
        public String getName() {\r
                return name;\r
@@ -23,6 +28,10 @@ public class MaestroTarget {
                }\r
        }\r
 \r
+       public void setKillDateDays(int killDateDays) {\r
+               this.killDateDays = killDateDays;\r
+       }\r
+\r
        public void setName(String name) {\r
                this.name = name;\r
        }\r
index 159043ba419820862565d3f9b4b45a1937ca98ca..c153bab0bac39cb104fdb0deacc1f12d5d7519e6 100644 (file)
@@ -1,7 +1,6 @@
 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
@@ -15,6 +14,7 @@ import org.zkoss.bind.annotation.Init;
 import org.zkoss.zul.Column;\r
 import org.zkoss.zul.ListModelList;\r
 \r
+import user.commons.ListUtils;\r
 import user.jobengine.osgi.server.ComponentBinder;\r
 import user.jobengine.zk.util.SessionUtil;\r
 import user.mediacube.metadata.interfaces.IMetadata;\r
@@ -140,14 +140,13 @@ public class PlanAirListModel {
                        break;\r
                }\r
 \r
+               Map<String, Object> args = ListUtils.asMap("metadata", selection);\r
+               BindUtils.postGlobalCommand(null, null, "updateExecuteMetadata", args);\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 45062151b126d4a8a1774c09fb862a5cdfeac295..1f13e526e35cda3598ff8601f2e0cc9ac10146cc 100644 (file)
@@ -28,38 +28,6 @@ public class TargetsListModel {
        Set<IMetadata> metaData;\r
        private StoreUri sourceUri;\r
 \r
-       public boolean conditionsOk() {\r
-               boolean srcMetaOk = false;\r
-               boolean ret = false;\r
-               if (sourceData != null && metaData != null) {\r
-                       if (!sourceData.isEmpty() && !metaData.isEmpty()) {\r
-                               if (!sourceData.iterator().next().getIsFolder()) {\r
-                                       srcMetaOk = true;\r
-                               }\r
-                       }\r
-               }\r
-\r
-               // Végén törölni !!! ////////////////////////////////////////\r
-               if (sourceData != null) {\r
-                       if (!sourceData.isEmpty()) {\r
-                               if (!sourceData.iterator().next().getIsFolder()) {\r
-                                       srcMetaOk = true;\r
-                               }\r
-                       }\r
-               }\r
-               // Végén törölni !!! ////////////////////////////////////////\r
-\r
-               if (srcMetaOk) {\r
-                       for (int i = 0; i < targets.size(); i++) {\r
-                               if (targets.get(i).isSelected().booleanValue()) {\r
-                                       ret = true;\r
-                                       break;\r
-                               }\r
-                       }\r
-               }\r
-               return ret;\r
-       }\r
-\r
        @Command\r
        public void createJob() {\r
                String fileName = sourceData.iterator().next().getName();\r
@@ -71,22 +39,39 @@ public class TargetsListModel {
                        // 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
+               for (MaestroTarget target : targets) {\r
+                       if (target.isSelected()) {\r
                                Map<String, Object> params = new HashMap<>();\r
                                params.put("sourceProtocol", sourceUri.getProtocol());\r
                                params.put("sourcePath", sourcePath);\r
                                params.put("sourceFileName", fileName);\r
 \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
+                               params.put("targetProtocol", target.getStoreUri().getProtocol());\r
+                               params.put("targetPath", target.getStoreUri().getUri());\r
+                               params.put("killDateDays", target.getKillDateDays());\r
+\r
+                               params.put("targetMetadata", metaData.iterator().next());\r
                                BindUtils.postGlobalCommand(null, null, "submitJob", params);\r
                        }\r
                }\r
        }\r
 \r
+       private boolean enableExecute() {\r
+               boolean targetSelected = false;\r
+               for (MaestroTarget target : targets) {\r
+                       if (target.isSelected()) {\r
+                               targetSelected = true;\r
+                               break;\r
+                       }\r
+               }\r
+\r
+               boolean result = targetSelected && metaData != null && !metaData.isEmpty() && sourceUri != null && sourceData != null && !sourceData.isEmpty();\r
+               if (result)\r
+                       result &= !sourceData.iterator().next().getIsFolder();\r
+               logger.info("Condition OK {}", result);\r
+               return result;\r
+       }\r
+\r
        public ListModelList<MaestroTarget> getTargets() {\r
                return targets;\r
        }\r
@@ -96,8 +81,6 @@ public class TargetsListModel {
                try {\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
@@ -112,12 +95,15 @@ public class TargetsListModel {
        @Command\r
        @NotifyChange("executeEnabled")\r
        public void onCheck(@BindingParam("targetName") String targetName, @BindingParam("isChecked") Boolean isChecked) {\r
-               for (int i = 0; i < targets.size(); i++) {\r
-                       if (targets.get(i).getName() == targetName) {\r
-                               targets.get(i).setSelected(isChecked.booleanValue());\r
+\r
+               for (MaestroTarget target : targets) {\r
+                       if (target.getName().equals(targetName)) {\r
+                               target.setSelected(isChecked);\r
+                               break;\r
                        }\r
                }\r
-               setExecuteEnabled(conditionsOk());\r
+\r
+               setExecuteEnabled(enableExecute());\r
        }\r
 \r
        @Command\r
@@ -128,14 +114,17 @@ public class TargetsListModel {
 \r
        @GlobalCommand\r
        @NotifyChange("executeEnabled")\r
-       public void updateExecuteState(@BindingParam("sourcedata") Set<RemoteFile> sourceData, @BindingParam("sourceUri") StoreUri sourceUri,\r
-                       @BindingParam("metadata") Set<IMetadata> metaData) {\r
-               this.sourceData = sourceData;\r
+       public void updateExecuteMetadata(@BindingParam("metadata") Set<IMetadata> metaData) {\r
                this.metaData = metaData;\r
+               setExecuteEnabled(enableExecute());\r
+       }\r
+\r
+       @GlobalCommand\r
+       @NotifyChange("executeEnabled")\r
+       public void updateExecuteSource(@BindingParam("sourcedata") Set<RemoteFile> sourceData, @BindingParam("sourceUri") StoreUri sourceUri) {\r
+               this.sourceData = sourceData;\r
                this.sourceUri = sourceUri;\r
-               setExecuteEnabled(conditionsOk());\r
-               // logger.info("{}", sourceData);\r
-               // logger.info("{}", metaData);\r
+               setExecuteEnabled(enableExecute());\r
        }\r
 \r
 }\r
index d0ed1f04a839a6cebabfd84ce3a217348eff3f60..8d539b9f25193ed19f15b7763719bb39e5df19eb 100644 (file)
@@ -146,7 +146,7 @@ public class SessionUtil {
        public static MaestroConfig getMaestroConfig() {\r
                MaestroConfig result = null;\r
                try {\r
-                       result = (MaestroConfig) getAttribute(JOBENGINE_MAESTRO_CONFIG);\r
+                       //result = (MaestroConfig) getAttribute(JOBENGINE_MAESTRO_CONFIG);\r
                        if (result == null) {\r
                                result = JSONConfig.read(JOBENGINE_MAESTRO_CONFIG, MaestroConfig.class);\r
                                setAttribute(JOBENGINE_MAESTRO_CONFIG, result);\r
diff --git a/server/user.mediacube.metadata/deploy.launch b/server/user.mediacube.metadata/deploy.launch
new file mode 100644 (file)
index 0000000..e3dba4a
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">\r
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>\r
+<stringAttribute key="M2_GOALS" value="clean install"/>\r
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>\r
+<booleanAttribute key="M2_OFFLINE" value="false"/>\r
+<stringAttribute key="M2_PROFILES" value=""/>\r
+<listAttribute key="M2_PROPERTIES"/>\r
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>\r
+<booleanAttribute key="M2_SKIP_TESTS" value="true"/>\r
+<intAttribute key="M2_THREADS" value="1"/>\r
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>\r
+<stringAttribute key="M2_USER_SETTINGS" value=""/>\r
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>\r
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk"/>\r
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/user.mediacube.metadata}"/>\r
+</launchConfiguration>\r
index 3bb30c72768005a07291c674c92c91fc166f569b..ceb680df1fbc8fe22a0bb3f1a98269fd14cc850c 100644 (file)
@@ -14,7 +14,7 @@ public interface IPlanAirADMapper {
 \r
        //      @Operation int, @@@Options int, @@ItemID int, @@IntParam1 int=Null, @@IntParam2 int=Null, @@IntParam3 int=Null,\r
        //                      @@StrParam1 varchar(200)=Null, @@StrParam2 varchar(max)=Null, @@DateParam1 datetime=Null, @@DateParam2 datetime=Null\r
-       static final String AD_SQL = "{CALL dbo.clIFsp_EC_MAM(3002, #{options, mode=IN, jdbcType=INTEGER}, Null, Null, Null, Null, #{search, mode=IN, jdbcType=VARCHAR}, Null, #{broadcastDay, mode=IN, jdbcType=DATE}, #{broadcastDay, mode=IN, jdbcType=DATE})}";//musorid\r
+       static final String AD_SQL = "{CALL dbo.clIFsp_ORI_MAM(3002, #{options, mode=IN, jdbcType=INTEGER}, Null, Null, Null, Null, #{search, mode=IN, jdbcType=VARCHAR}, Null, #{broadcastDay, mode=IN, jdbcType=DATE}, #{broadcastDay, mode=IN, jdbcType=DATE})}";//musorid\r
        //    item.t_SpotID = (int)ReadInt(reader, ref f);\r
        //    item.t_MediaID = ReadString(reader, ref f);\r
        //    item.v_Title = ReadString(reader, ref f);\r
index 791e7905490d2d4150be1b1fafd9346874c1749f..522aabfcd37c65655f88a298add80897c5fefd1e 100644 (file)
@@ -14,7 +14,7 @@ public interface IPlanAirMaterialMapper {
 \r
        //      @Operation int, @@@Options int, @@ItemID int, @@IntParam1 int=Null, @@IntParam2 int=Null, @@IntParam3 int=Null,\r
        //                      @@StrParam1 varchar(200)=Null, @@StrParam2 varchar(max)=Null, @@DateParam1 datetime=Null, @@DateParam2 datetime=Null\r
-       static final String MATERIAL_SQL = "{CALL dbo.clIFsp_EC_MAM(6002, #{options, mode=IN, jdbcType=INTEGER}, Null, Null, Null, Null, #{search, mode=IN, jdbcType=VARCHAR}, Null, #{broadcastDay, mode=IN, jdbcType=DATE}, #{broadcastDay, mode=IN, jdbcType=DATE})}";//musorid\r
+       static final String MATERIAL_SQL = "{CALL dbo.clIFsp_ORI_MAM(6002, #{options, mode=IN, jdbcType=INTEGER}, Null, Null, Null, Null, #{search, mode=IN, jdbcType=VARCHAR}, Null, #{broadcastDay, mode=IN, jdbcType=DATE}, #{broadcastDay, mode=IN, jdbcType=DATE})}";//musorid\r
        //    item.v_EpisodeID = ReadString(reader, ref f);\r
        //    item.v_VariantID = ReadInt(reader, ref f);\r
        //    item.v_MediaID = ReadString(reader, ref f);\r
@@ -31,7 +31,7 @@ public interface IPlanAirMaterialMapper {
        @Select(value = MATERIAL_SQL)\r
        @Options(statementType = StatementType.CALLABLE)\r
        @Results(value = { @Result(property = "episodeID", column = "v_EpisodeID"), @Result(property = "variantID", column = "v_VariantID"),\r
-                       @Result(property = "mediaID", column = "v_VariantMediaID"), @Result(property = "progTitle", column = "v_ProgTitle"),\r
+                       @Result(property = "mediaID", column = "v_MediaID"), @Result(property = "progTitle", column = "v_ProgTitle"),\r
                        @Result(property = "epTitle", column = "v_EpTitle"), @Result(property = "episode", column = "v_Episode"),\r
                        @Result(property = "variantNrSegments", column = "v_VariantNrSegments"), @Result(property = "firstBroadcastDate", column = "v_FirstBroadcastDate"),\r
                        @Result(property = "nextBroadcastDate", column = "v_NextBroadcastDate"), @Result(property = "okForAir", column = "v_OkForAir"),\r
index 0c6902e4d75c05e40b2ca9f76d1ae2d2e693a8db..1e3a65c1e58dc91e86879b1c3b7d5c259de6a33d 100644 (file)
@@ -15,7 +15,7 @@ public interface IPlanAirPromoMapper {
        //      @Operation int, @@@Options int, @@ItemID int, @@IntParam1 int=Null, @@IntParam2 int=Null, @@IntParam3 int=Null,\r
        //                      @@StrParam1 varchar(200)=Null, @@StrParam2 varchar(max)=Null, @@DateParam1 datetime=Null, @@DateParam2 datetime=Null\r
 \r
-       static final String PROMO_SQL = "{CALL dbo.clIFsp_EC_MAM(2002, #{options, mode=IN, jdbcType=INTEGER}, Null, Null, Null, Null, #{search, mode=IN, jdbcType=VARCHAR}, Null, #{broadcastDay, mode=IN, jdbcType=DATE}, #{broadcastDay, mode=IN, jdbcType=DATE})}";//musorid\r
+       static final String PROMO_SQL = "{CALL dbo.clIFsp_ORI_MAM(2002, #{options, mode=IN, jdbcType=INTEGER}, Null, Null, Null, Null, #{search, mode=IN, jdbcType=VARCHAR}, Null, #{broadcastDay, mode=IN, jdbcType=DATE}, #{broadcastDay, mode=IN, jdbcType=DATE})}";//musorid\r
        //    item.t_SpotID = (int)ReadInt(reader, ref f);\r
        //    item.t_MediaID = ReadString(reader, ref f);\r
        //    item.v_Title = ReadString(reader, ref f);\r
index 1394ee2f64d7f1fcbaddae88e4bc97e919fad618..31d61dd50b3237e1b217ae30b4c6bc93b629dc97 100644 (file)
@@ -8,6 +8,11 @@ public class PlanAirAD implements IMetadata {
        private int spotID;//t_SpotID\r
        private String okForAirs; //v_OkForAirs\r
 \r
+       @Override\r
+       public String getId() {\r
+               return mediaID;\r
+       }\r
+\r
        public String getMediaID() {\r
                return mediaID;\r
        }\r
index 55980c2138744f02f390ab20250305a389ec9da6..b0d0060576c60c7e254e2dc8bd0cf9c461ccad6d 100644 (file)
@@ -34,6 +34,11 @@ public class PlanAirMaterial implements IMetadata {
                return firstBroadcastDate;\r
        }\r
 \r
+       @Override\r
+       public String getId() {\r
+               return mediaID;\r
+       }\r
+\r
        public String getMediaID() {\r
                return mediaID;\r
        }\r
@@ -58,6 +63,11 @@ public class PlanAirMaterial implements IMetadata {
                return segNr;\r
        }\r
 \r
+       @Override\r
+       public String getTitle() {\r
+               return progTitle;\r
+       }\r
+\r
        public int getVariantID() {\r
                return variantID;\r
        }\r
index c6543841ef0d5c0b29003effee111407260e205c..3804a8524987eec79bd2f77765c0e3bb33f86677 100644 (file)
@@ -26,6 +26,7 @@ public class PlanAirMetadataProvider implements IMetadataProvider {
        private static final String JDBC_URL = System.getProperty("jobengine.planair.db.url", "jdbc:sqlserver://10.10.1.45;databaseName=PA_Echo;");\r
        private static final String JDBC_USER = System.getProperty("jobengine.planair.db.user", "MAM");\r
        private static final String JDBC_PWD = System.getProperty("jobengine.planair.db.password", "Echotv.hu");\r
+       public static final String JDBC_PROCEDURE = System.getProperty("jobengine.planair.db.procedure", "clIFsp_ORI_MAM");\r
 \r
        private final SqlSessionFactory sqlSessionFactory;\r
 \r
index fb30bfd1040ce5864f051e1cdff3ecacc65e083c..195f29cf8d7f9bc5dd4e5addd0f1587f5ea9d3bb 100644 (file)
@@ -17,6 +17,11 @@ public class PlanAirPromo implements IMetadata {
                return episode;\r
        }\r
 \r
+       @Override\r
+       public String getId() {\r
+               return mediaID;\r
+       }\r
+\r
        public String getMediaID() {\r
                return mediaID;\r
        }\r