--- /dev/null
+<?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="false"/>\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
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">\r
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>\r
+</listAttribute>\r
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/-modules/plugins}"/>\r
+</launchConfiguration>\r
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory -Dorg.eclipse.epp.logging.aeri.skipReports=true -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djobengine.jobsteps.root="${workspace_loc}/user.jobengine.executors/bin" -Djobengine.jobtemplates.root="${workspace_loc}/user.jobengine.executors/jobtemplates" -Djobengine.jobsteps.config="${workspace_loc}/user.jobengine.executors/config/config.xml" -Djobengine.jobscheduling.config="${workspace_loc}/-configuration/scheduledjobs.json" -Djobengine.db.url=jdbc:db2://10.10.1.27:50000/mc -Djobengine.db.user=db2admin -Djobengine.db.password=password -Djobengine.loglevel=INFO -Dlog4j.configurationFile="${workspace_loc}/-configuration/log4j2.xml" -Djobengine.jobsteps.alternate.root="${workspace_loc}/user.jobengine.executors/bin/" -Djetty.home="${workspace_loc:}/-configuration/jetty" -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 -Dorg.eclipse.jetty.webapp.basetempdir=c:\temp\jetty -Djava.io.tmpdir=c:\temp\jetty -Djobengine.octopus.api.address=http://10.10.1.11/api/v1 -Djobengine.octopus.api.user=mam -Djobengine.octopus.api.password=napocska -Djobengine.nosql.db.url=jdbc:db2://10.10.1.27:50000/mc -Djobengine.nosql.db.user=db2admin -Djobengine.nosql.db.password=password -Djobengine.nosql.db.schema=test -Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl -Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC.zenium -Djobengine.nexio.db.url=jdbc:sqlserver://10.10.1.59:1433;databaseName=NXDB; -Djobengine.nexio.db.user=sa -Djobengine.nexio.db.password=resolve -Dnexio.host=10.10.1.55 -Djobengine.nexio.name=testnexioclips -Dnexio.useMOSGateway=true -Dnexio.disable=true -Djobengine.octopus.rundowns.name=rundowns -Djobengine.octopus.storyfolders.name=storyfolders -Djobengine.octopus.stories.name=stories -Dmediacube.auth.location="${workspace_loc}/-configuration/mediacube-auth.properties" -Djobengine.mediacube.config="${workspace_loc}/-configuration/mediacube.json" -Djobengine.mediacube.service.proxyroot="/opt" -Djobengine.jobsteps.groovy.root="${workspace_loc}/user.jobengine.executors/src/user/jobengine/server/steps" -Djobengine.randomize.archives=false -Dmediacube.simplesearch=false"/>\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.db2.jcc@default:default,com.ibm.nosql@default:default,com.microsoft.sqlserver.sqljdbc@default:default,groovy@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,junit@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.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.jaxrs-api@default:default,org.jboss.resteasy.jaxrs@default:default,org.jmock.junit4@default:default,org.jmock@default:default,org.mybatis.mybatis@default:default,org.objectweb.asm.commons@default:default,org.objectweb.asm.tree@default:default,org.objectweb.asm@default:default,org.omnifaces@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.db2.jcc@default:default,com.ibm.nosql@default:default,com.microsoft.sqlserver.sqljdbc@default:default,com.sun.jna@default:default,groovy@default:default,io.humble.video-arch-x86_64-pc-linux-gnu6@default:default,io.humble.video-arch-x86_64-w64-mingw32@default:default,io.humble.video-noarch@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,junit@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.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.jaxrs-api@default:default,org.jboss.resteasy.jaxrs@default:default,org.jmock.junit4@default:default,org.jmock@default:default,org.mybatis.mybatis@default:default,org.objectweb.asm.commons@default:default,org.objectweb.asm.tree@default:default,org.objectweb.asm@default:default,org.omnifaces@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
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory -Dorg.eclipse.epp.logging.aeri.skipReports=true -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djobengine.jobsteps.root="${workspace_loc}/user.jobengine.executors/bin" -Djobengine.jobtemplates.root="${workspace_loc}/user.jobengine.executors/jobtemplates/mediavivantis" -Djobengine.db.url=jdbc:db2://10.11.1.90:50000/mc -Djobengine.db.user=db2admin -Djobengine.db.password=password -Djobengine.loglevel=INFO -Dlog4j.configurationFile="${workspace_loc}/-configuration/log4j2.xml" -Djobengine.jobsteps.alternate.root="${workspace_loc}/user.jobengine.executors/bin/" -Djetty.home="${workspace_loc:}/-configuration/jetty" -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 -Dorg.eclipse.jetty.webapp.basetempdir=c:\temp\jetty -Djava.io.tmpdir=c:\temp\jetty -Djobengine.octopus.api.address=http://10.10.1.11/api/v1 -Djobengine.octopus.api.user=mam -Djobengine.octopus.api.password=napocska -Djobengine.nosql.db.url=jdbc:db2://10.11.1.90:50000/mc -Djobengine.nosql.db.user=db2admin -Djobengine.nosql.db.password=password -Djobengine.nosql.db.schema=test -Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl -Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC.zenium -Djobengine.transcoder.address=http://10.11.1.111:65445/api/json/v1/ -Djobengine.transcoder.template=MP4 -Djobengine.transcoder.version=1 -Djobengine.jobscheduling.config="${workspace_loc}/-configuration/scheduledjobs.json" -Djobengine.nexio.db.url=jdbc:sqlserver://10.10.1.59:1433;databaseName=NXDB; -Djobengine.nexio.db.user=sa -Djobengine.nexio.db.password=resolve -Djobengine.planair.db.url=jdbc:sqlserver://10.11.254.86;databaseName=PA_Vivantis; -Djobengine.planair.db.user=MAM -Djobengine.planair.db.password=VDani -Dnexio.host=192.168.0.12 -Djobengine.nexio.name=testnexioclips -Dnexio.useMOSGateway=false -Dnexio.disable=true -Djobengine.octopus.rundowns.name=rundowns181026 -Djobengine.octopus.storyfolders.name=storyfolders181026 -Djobengine.octopus.stories.name=stories181026 -Djobengine.maestro.config="${workspace_loc}/-configuration/maestro.json" -Djobengine.mediacube.config="${workspace_loc}/-configuration/mediacube.json" -Dgui.statistics.disable=true -Dgui.help.disable=true -Dgui.editor.disable=true -Djobengine.mediafinder.external=false -Djobengine.mediacube.service.proxyroot="/opt" -Djobengine.randomize.archives=true -Djobengine.jobsteps.config="${workspace_loc}/user.jobengine.executors/config/config-mv.xml" -Djobengine.jobsteps.groovy.root="${workspace_loc}/user.jobengine.executors/src/user/jobengine/server/steps" -Dmediacube.simplesearch=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.db2.jcc@default:default,com.ibm.nosql@default:default,com.microsoft.sqlserver.sqljdbc@default:default,groovy@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,junit@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.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.jaxrs-api@default:default,org.jboss.resteasy.jaxrs@default:default,org.jmock.junit4@default:default,org.jmock@default:default,org.mybatis.mybatis@default:default,org.objectweb.asm.commons@default:default,org.objectweb.asm.tree@default:default,org.objectweb.asm@default:default,org.omnifaces@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.db2.jcc@default:default,com.ibm.nosql@default:default,com.microsoft.sqlserver.sqljdbc@default:default,com.sun.jna@default:default,groovy@default:default,io.humble.video-arch-x86_64-pc-linux-gnu6@default:default,io.humble.video-arch-x86_64-w64-mingw32@default:default,io.humble.video-noarch@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,junit@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.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.jaxrs-api@default:default,org.jboss.resteasy.jaxrs@default:default,org.jmock.junit4@default:default,org.jmock@default:default,org.mybatis.mybatis@default:default,org.objectweb.asm.commons@default:default,org.objectweb.asm.tree@default:default,org.objectweb.asm@default:default,org.omnifaces@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
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory -Dorg.eclipse.epp.logging.aeri.skipReports=true -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djobengine.db.url=jdbc:db2://10.11.1.90:50000/mc -Djobengine.db.user=db2admin -Djobengine.db.password=password -Djobengine.loglevel=INFO -Dlog4j.configurationFile="${workspace_loc}/-configuration/log4j2.xml" -Djobengine.jobsteps.alternate.root="${workspace_loc}/user.jobengine.executors/bin/" -Djetty.home="${workspace_loc:}/-configuration/jetty" -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 -Dorg.eclipse.jetty.webapp.basetempdir=c:\temp\jetty -Djava.io.tmpdir=c:\temp\jetty -Djobengine.octopus.api.address=http://10.10.1.11/api/v1 -Djobengine.octopus.api.user=mam -Djobengine.octopus.api.password=napocska -Djobengine.nosql.db.url=jdbc:db2://10.11.1.90:50000/mc -Djobengine.nosql.db.user=db2admin -Djobengine.nosql.db.password=password -Djobengine.nosql.db.schema=test -Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl -Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC.zenium -Djobengine.transcoder.address=http://10.11.1.111:65445/api/json/v1/ -Djobengine.transcoder.template=MP4 -Djobengine.transcoder.version=1 -Djobengine.nexio.db.url=jdbc:sqlserver://10.10.1.59:1433;databaseName=NXDB; -Djobengine.nexio.db.user=sa -Djobengine.nexio.db.password=resolve -Djobengine.planair.db.url=jdbc:sqlserver://10.11.254.86;databaseName=PA_Vivantis; -Djobengine.planair.db.user=MAM -Djobengine.planair.db.password=VDani -Dnexio.host=192.168.0.12 -Djobengine.nexio.name=testnexioclips -Dnexio.useMOSGateway=false -Dnexio.disable=true -Djobengine.octopus.rundowns.name=rundowns181026 -Djobengine.octopus.storyfolders.name=storyfolders181026 -Djobengine.octopus.stories.name=stories181026 -Djobengine.maestro.config="${workspace_loc}/-configuration/maestro.json" -Djobengine.mediacube.config="${workspace_loc}/-configuration/mediacube.json" -Dgui.statistics.disable=true -Dgui.help.disable=true -Dgui.editor.disable=true -Djobengine.mediafinder.external=false -Djobengine.mediacube.service.proxyroot="/opt" -Djobengine.randomize.archives=true -Dmediacube.simplesearch=true -Djobengine.jobscheduling.config="/opt/steps/scheduledjobs.json" -Djobengine.jobsteps.config="/opt/steps/executors.xml" -Djobengine.jobtemplates.root="/opt/steps/jobtemplates" -Djobengine.jobsteps.groovy.root="/opt/steps""/>\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.db2.jcc@default:default,com.ibm.nosql@default:default,com.microsoft.sqlserver.sqljdbc@default:default,groovy@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,junit@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.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.jaxrs-api@default:default,org.jboss.resteasy.jaxrs@default:default,org.jmock.junit4@default:default,org.jmock@default:default,org.mybatis.mybatis@default:default,org.objectweb.asm.commons@default:default,org.objectweb.asm.tree@default:default,org.objectweb.asm@default:default,org.omnifaces@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.db2.jcc@default:default,com.ibm.nosql@default:default,com.microsoft.sqlserver.sqljdbc@default:default,com.sun.jna@default:default,groovy@default:default,io.humble.video-arch-x86_64-pc-linux-gnu6@default:default,io.humble.video-arch-x86_64-w64-mingw32@default:default,io.humble.video-noarch@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,junit@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.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.jaxrs-api@default:default,org.jboss.resteasy.jaxrs@default:default,org.jmock.junit4@default:default,org.jmock@default:default,org.mybatis.mybatis@default:default,org.objectweb.asm.commons@default:default,org.objectweb.asm.tree@default:default,org.objectweb.asm@default:default,org.omnifaces@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
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory -Dorg.eclipse.epp.logging.aeri.skipReports=true -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djobengine.jobsteps.root="${workspace_loc}/user.jobengine.executors/bin" -Djobengine.jobtemplates.root="${workspace_loc}/user.jobengine.executors/jobtemplates" -Djobengine.db.url=jdbc:db2://10.228.212.42:50000/mc -Djobengine.db.user=blobtest -Djobengine.db.password=blobtest -Djobengine.db.loginTimeout=3 -Djobengine.loglevel=INFO -Dlog4j.configurationFile="${workspace_loc}/-configuration/log4j2.xml" -Djetty.home="${workspace_loc:}/-configuration/jetty" -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 -Dorg.eclipse.jetty.webapp.basetempdir=c:\temp\jetty -Djava.io.tmpdir=c:\temp\jetty -Djobengine.octopus.api.address=http://10.10.1.11/api/v1 -Djobengine.octopus.api.user=mam -Djobengine.octopus.api.password=napocska -Djobengine.nosql.db.url=jdbc:db2://10.228.212.42:50000/mccache -Djobengine.nosql.db.user=blobtest -Djobengine.nosql.db.password=blobtest -Djobengine.nosql.db.schema=test -Djobengine.nosql.db.loginTimeout=3 -Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl -Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC.zenium -Djobengine.transcoder.address=http://10.11.1.111:65445/api/json/v1/ -Djobengine.transcoder.template=MP4 -Djobengine.transcoder.version=1 -Djobengine.jobscheduling.config="${workspace_loc}/-configuration/scheduledjobs.json" -Djobengine.nexio.db.url=jdbc:sqlserver://10.10.1.59:1433;databaseName=NXDB; -Djobengine.nexio.db.user=sa -Djobengine.nexio.db.password=resolve -Djobengine.planair.db.url=jdbc:sqlserver://10.11.254.86;databaseName=PA_Vivantis; -Djobengine.planair.db.user=MAM -Djobengine.planair.db.password=VDani -Dnexio.host=192.168.0.12 -Djobengine.nexio.name=testnexioclips -Dnexio.useMOSGateway=false -Dnexio.disable=true -Djobengine.octopus.rundowns.name=rundowns181026 -Djobengine.octopus.storyfolders.name=storyfolders181026 -Djobengine.octopus.stories.name=stories181026 -Djobengine.maestro.config="${workspace_loc}/-configuration/maestro.json" -Djobengine.mediacube.config="${workspace_loc}/-configuration/mediacube.json" -Dgui.statistics.disable=true -Dgui.help.disable=true -Dgui.editor.disable=true -Dgui.maestro.disable=true -Djobengine.mediafinder.external=false -Djobengine.mediacube.service.proxyroot="/opt" -Djobengine.scheduledexecution.disabled=false -Djobengine.randomize.archives=false -Djobengine.jobsteps.config="${workspace_loc}/user.jobengine.executors/config/config.xml" -Djobengine.jobsteps.groovy.root="${workspace_loc}/user.jobengine.executors/src/user/jobengine/server/steps" -Dgui.jobs.alternate.selector=true -Dmediacube.simplesearch=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.db2.jcc@default:default,com.ibm.nosql@default:default,com.microsoft.sqlserver.sqljdbc@default:default,groovy@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,junit@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.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.jaxrs@default:default,org.jmock.junit4@default:default,org.jmock@default:default,org.mybatis.mybatis@default:default,org.objectweb.asm.commons@default:default,org.objectweb.asm.tree@default:default,org.objectweb.asm@default:default,org.omnifaces@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.db2.jcc@default:default,com.ibm.nosql@default:default,com.microsoft.sqlserver.sqljdbc@default:default,com.sun.jna@default:default,groovy@default:default,io.humble.video-arch-x86_64-pc-linux-gnu6@default:default,io.humble.video-arch-x86_64-w64-mingw32@default:default,io.humble.video-noarch@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,junit@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.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.jaxrs@default:default,org.jmock.junit4@default:default,org.jmock@default:default,org.mybatis.mybatis@default:default,org.objectweb.asm.commons@default:default,org.objectweb.asm.tree@default:default,org.objectweb.asm@default:default,org.omnifaces@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
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory -Dorg.eclipse.epp.logging.aeri.skipReports=true -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djobengine.jobsteps.root="${workspace_loc}/user.jobengine.executors/config" -Djobengine.jobtemplates.root="${workspace_loc}/user.jobengine.executors/jobtemplates" -Djobengine.db.url=jdbc:db2://10.228.198.1:50000/mediaarc:retrieveMessagesFromServerOnGetMessage=true; -Djobengine.db.user=db2admin -Djobengine.db.password=password -Djobengine.loglevel=INFO -Dlog4j.configurationFile="${workspace_loc}/-configuration/log4j2.xml" -Djobengine.jobsteps.alternate.root="${workspace_loc}/user.jobengine.executors/bin/" -Djetty.home="${workspace_loc:}/-configuration/jetty" -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 -Dorg.eclipse.jetty.webapp.basetempdir=c:\temp\jetty -Djava.io.tmpdir=c:\temp\jetty -Djobengine.octopus.api.address=http://10.10.1.11/api/v1 -Djobengine.octopus.api.user=mam -Djobengine.octopus.api.password=napocska -Djobengine.nosql.db.url=jdbc:db2://10.228.198.1:50000/mccache:retrieveMessagesFromServerOnGetMessage=true; -Djobengine.nosql.db.user=db2admin -Djobengine.nosql.db.password=password -Djobengine.nosql.db.schema=test -Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl -Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC.zenium -Djobengine.jobscheduling.config="${workspace_loc}/-configuration/scheduledjobs.json" -Djobengine.mediacube.config="${workspace_loc}/-configuration/mediacube.json" -Djobengine.maestro.config="${workspace_loc}/-configuration/maestro.json" -Djobengine.nexio.db.url=jdbc:sqlserver://10.10.1.59:1433;databaseName=NXDB; -Djobengine.nexio.db.user=sa -Djobengine.nexio.db.password=resolve -Djobengine.planair.db.url=jdbc:sqlserver://10.10.1.45;databaseName=PA_Echo; -Djobengine.planair.db.user=MAM -Djobengine.planair.db.password=Echotv.hu -Dnexio.host=192.168.0.12 -Djobengine.nexio.name=testnexioclips -Dnexio.useMOSGateway=false -Dnexio.disable=true -Dgui.statistics.disable=true -Dgui.help.disable=true -Dgui.editor.disable=true -Djobengine.octopus.rundowns.name=rundowns181026 -Djobengine.octopus.storyfolders.name=storyfolders181026 -Djobengine.octopus.stories.name=stories181026 -Djobengine.mediafinder.external=false -Djobengine.mediafinder.external.url=localhost -Dmediacube.auth.location="${workspace_loc}/-configuration/mediacube-auth.properties""/>\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.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,junit@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.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.client@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.jaxrs@default:default,org.jmock.junit4@default:default,org.jmock@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.ibm.nosql@default:default,com.microsoft.sqlserver.sqljdbc@default:default,com.sun.jna@default:default,io.humble.video-arch-x86_64-pc-linux-gnu6@default:default,io.humble.video-arch-x86_64-w64-mingw32@default:default,io.humble.video-noarch@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,junit@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.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.client@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.jaxrs@default:default,org.jmock.junit4@default:default,org.jmock@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
<?xml version="1.0" encoding="UTF-8" standalone="no"?>\r
-<?pde version="3.8"?><target name="JobEngine" sequenceNumber="442">\r
+<?pde version="3.8"?><target name="JobEngine" sequenceNumber="466">\r
<locations>\r
<location path="${workspace_loc}/-dependencies/target/repository/plugins" type="Directory"/>\r
</locations>\r
<plugin id="com.ibm.db2.jcc"/>\r
<plugin id="com.ibm.nosql"/>\r
<plugin id="com.microsoft.sqlserver.sqljdbc"/>\r
+<plugin id="com.sun.jna"/>\r
<plugin id="groovy"/>\r
-<plugin id="humble.video.linux"/>\r
-<plugin id="humble.video.noarch"/>\r
-<plugin id="humble.video.windows"/>\r
+<plugin id="io.humble.video-arch-x86_64-pc-linux-gnu6"/>\r
+<plugin id="io.humble.video-arch-x86_64-w64-mingw32"/>\r
+<plugin id="io.humble.video-noarch"/>\r
<plugin id="javax.annotation-api"/>\r
<plugin id="javax.mail"/>\r
<plugin id="javax.servlet-api"/>\r
<plugin id="org.apache.commons.io" version="2.2.0"/>\r
<plugin id="org.apache.commons.lang"/>\r
<plugin id="org.apache.commons.net"/>\r
+<plugin id="org.apache.felix.fileinstall"/>\r
+<plugin id="org.apache.felix.fileinstall.source"/>\r
<plugin id="org.apache.felix.gogo.command"/>\r
-<plugin id="org.apache.felix.gogo.runtime" version="0.10.0"/>\r
-<plugin id="org.apache.felix.gogo.shell" version="0.10.0"/>\r
+<plugin id="org.apache.felix.gogo.runtime" version="0.10.0.v201209301036"/>\r
+<plugin id="org.apache.felix.gogo.shell" version="0.10.0.v201212101605"/>\r
<plugin id="org.apache.httpcomponents.httpclient"/>\r
<plugin id="org.apache.httpcomponents.httpcore"/>\r
<plugin id="org.apache.logging.log4j.api"/>\r
<plugin id="org.eclipse.equinox.common"/>\r
<plugin id="org.eclipse.equinox.console"/>\r
<plugin id="org.eclipse.equinox.ds"/>\r
+<plugin id="org.eclipse.equinox.launcher"/>\r
<plugin id="org.eclipse.equinox.util"/>\r
<plugin id="org.eclipse.jetty.annotations"/>\r
<plugin id="org.eclipse.jetty.client"/>\r
<goal>install-file</goal>\r
</goals>\r
<configuration>\r
- <file>libs/humble-video-arch-x86_64-pc-linux-gnu6-0.2.1.jar</file>\r
- <groupId>humble.video</groupId>\r
- <artifactId>linux</artifactId>\r
- <version>0.2.1</version>\r
+ <file>libs/sqljdbc42.jar</file>\r
+ <groupId>com.microsoft.sqlserver</groupId>\r
+ <artifactId>sqljdbc</artifactId>\r
+ <version>6.0.8112-100</version>\r
<packaging>jar</packaging>\r
</configuration>\r
</execution>\r
<goal>install-file</goal>\r
</goals>\r
<configuration>\r
- <file>libs/humble-video-arch-x86_64-w64-mingw32-0.2.1.jar</file>\r
- <groupId>humble.video</groupId>\r
- <artifactId>windows</artifactId>\r
- <version>0.2.1</version>\r
+ <file>libs/org.apache.felix.gogo.command_0.10.0.v201209301215.jar</file>\r
+ <groupId>org.apache.felix</groupId>\r
+ <artifactId>org.apache.felix.gogo.command</artifactId>\r
+ <version>0.10.0.v201209301215</version>\r
<packaging>jar</packaging>\r
</configuration>\r
</execution>\r
<goal>install-file</goal>\r
</goals>\r
<configuration>\r
- <file>libs/humble-video-noarch-0.2.1.jar</file>\r
- <groupId>humble.video</groupId>\r
- <artifactId>noarch</artifactId>\r
- <version>0.2.1</version>\r
- <packaging>jar</packaging>\r
- </configuration>\r
- </execution>\r
- <execution>\r
- <id>install5</id>\r
- <phase>package</phase>\r
- <goals>\r
- <goal>install-file</goal>\r
- </goals>\r
- <configuration>\r
- <file>libs/sqljdbc42.jar</file>\r
- <groupId>com.microsoft.sqlserver</groupId>\r
- <artifactId>sqljdbc</artifactId>\r
- <version>6.0.8112-100</version>\r
+ <file>libs/org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar</file>\r
+ <groupId>org.eclipse.platform</groupId>\r
+ <artifactId>org.eclipse.equinox.launcher</artifactId>\r
+ <version>1.3.200.v20160318-1642</version>\r
<packaging>jar</packaging>\r
</configuration>\r
</execution>\r
<id>default-cli</id>\r
<configuration>\r
<artifacts>\r
+ <artifact>\r
+ <id>org.eclipse.platform:org.eclipse.equinox.launcher:1.3.200.v20160318-1642</id>\r
+ </artifact>\r
+ <artifact>\r
+ <id>org.apache.felix:org.apache.felix.fileinstall:3.6.8</id>\r
+ <source>true</source>\r
+ </artifact>\r
+ <artifact>\r
+ <id>net.java.dev.jna:jna:4.2.0</id>\r
+ </artifact>\r
+ <artifact>\r
+ <id>io.humble:humble-video-all:0.2.1</id>\r
+ </artifact>\r
+ <artifact>\r
+ <id>io.humble:humble-video-arch-x86_64-pc-linux-gnu6:0.2.1</id>\r
+ </artifact>\r
+ <artifact>\r
+ <id>io.humble:humble-video-arch-x86_64-w64-mingw32:0.2.1</id>\r
+ </artifact>\r
<artifact>\r
<id>org.ow2.asm:asm:5.0.1</id>\r
</artifact>\r
<id>org.apache.felix:org.apache.felix.gogo.shell:0.10.0</id>\r
</artifact>\r
<artifact>\r
- <id>org.apache.felix:org.apache.felix.gogo.command:0.10.0</id>\r
+ <id>org.apache.felix:org.apache.felix.gogo.runtime:0.10.0</id>\r
</artifact>\r
<artifact>\r
- <id>org.apache.felix:org.apache.felix.gogo.runtime:0.10.0</id>\r
+ <id>org.apache.felix:org.apache.felix.gogo.command:0.10.0.v201209301215</id>\r
</artifact>\r
+ \r
<artifact>\r
<id>commons-io:commons-io:2.2</id>\r
</artifact>\r
<artifact>\r
<id>org.mybatis:mybatis:3.5.2</id>\r
</artifact>\r
- <artifact>\r
- <id>humble.video:linux:0.2.1</id>\r
- </artifact>\r
- <artifact>\r
- <id>humble.video:windows:0.2.1</id>\r
- </artifact>\r
- <artifact>\r
- <id>humble.video:noarch:0.2.1</id>\r
- </artifact>\r
<artifact>\r
<id>com.fasterxml.jackson.core:jackson-core:${fasterxml-jackson-core}</id>\r
</artifact>\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"\r
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\r
+ <modelVersion>4.0.0</modelVersion>\r
+ <groupId>user.jobengine</groupId>\r
+ <artifactId>MediaCube-plugins</artifactId>\r
+ <version>1.0.0</version>\r
+ <packaging>pom</packaging>\r
+ <modules>\r
+ <module>../../user.mediacube.gui</module>\r
+ <module>../../user.mediacube.metadata</module>\r
+ <module>../../user.jobengine.osgi.commons</module>\r
+ <module>../../user.jobengine.osgi.db</module>\r
+ <module>../../user.jobengine.osgi.server</module>\r
+ <module>../../user.jobengine.osgi.services</module>\r
+ <module>../../user.commons.log4j2</module>\r
+ <module>../../user.commons.zk</module>\r
+ <module>../../user.tsm.client</module>\r
+ </modules>\r
+\r
+ <properties>\r
+ <project.version>1.0.0</project.version>\r
+ <tycho.version>1.0.0</tycho.version>\r
+ <maven.compiler.source>1.8</maven.compiler.source>\r
+ <maven.compiler.target>1.8</maven.compiler.target>\r
+ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>\r
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>\r
+ </properties>\r
+\r
+ <repositories>\r
+ <repository>\r
+ <id>dependencies</id>\r
+ <layout>p2</layout>\r
+ <url>file:${project.basedir}/../-dependencies/target/repository/</url>\r
+ </repository>\r
+ </repositories>\r
+\r
+ <build>\r
+ <plugins>\r
+ <plugin>\r
+ <groupId>org.eclipse.tycho</groupId>\r
+ <artifactId>tycho-packaging-plugin</artifactId>\r
+ <version>${tycho.version}</version>\r
+ <configuration>\r
+ <finalName>${project.artifactId}_${project.version}</finalName>\r
+ </configuration>\r
+ </plugin>\r
+ <plugin>\r
+ <groupId>org.apache.maven.plugins</groupId>\r
+ <artifactId>maven-deploy-plugin</artifactId>\r
+ <version>2.8.2</version>\r
+ <configuration>\r
+ <skip>true</skip>\r
+ </configuration>\r
+ </plugin>\r
+ <plugin>\r
+ <groupId>org.eclipse.tycho</groupId>\r
+ <artifactId>tycho-maven-plugin</artifactId>\r
+ <version>${tycho.version}</version>\r
+ <extensions>true</extensions>\r
+ </plugin>\r
+ </plugins>\r
+ <pluginManagement>\r
+ <plugins>\r
+ <plugin>\r
+ <groupId>org.eclipse.tycho</groupId>\r
+ <artifactId>target-platform-configuration</artifactId>\r
+ <version>${tycho.version}</version>\r
+ </plugin>\r
+ <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself. -->\r
+ <plugin>\r
+ <groupId>org.eclipse.m2e</groupId>\r
+ <artifactId>lifecycle-mapping</artifactId>\r
+ <version>1.0.0</version>\r
+ <configuration>\r
+ <lifecycleMappingMetadata>\r
+ <pluginExecutions>\r
+ <pluginExecution>\r
+ <pluginExecutionFilter>\r
+ <groupId>\r
+ org.eclipse.tycho\r
+ </groupId>\r
+ <artifactId>\r
+ tycho-packaging-plugin\r
+ </artifactId>\r
+ <versionRange>\r
+ [1.0.0,)\r
+ </versionRange>\r
+ <goals>\r
+ <goal>validate-id</goal>\r
+ <goal>\r
+ validate-version\r
+ </goal>\r
+ <goal>build-qualifier</goal>\r
+ <goal>\r
+ build-qualifier-aggregator\r
+ </goal>\r
+ </goals>\r
+ </pluginExecutionFilter>\r
+ <action>\r
+ <ignore></ignore>\r
+ </action>\r
+ </pluginExecution>\r
+ <pluginExecution>\r
+ <pluginExecutionFilter>\r
+ <groupId>\r
+ org.apache.maven.plugins\r
+ </groupId>\r
+ <artifactId>\r
+ maven-clean-plugin\r
+ </artifactId>\r
+ <versionRange>\r
+ [2.5,)\r
+ </versionRange>\r
+ <goals>\r
+ <goal>clean</goal>\r
+ </goals>\r
+ </pluginExecutionFilter>\r
+ <action>\r
+ <ignore></ignore>\r
+ </action>\r
+ </pluginExecution>\r
+ </pluginExecutions>\r
+ </lifecycleMappingMetadata>\r
+ </configuration>\r
+ </plugin>\r
+ </plugins>\r
+ </pluginManagement>\r
+ </build>\r
+</project>\r
<repository>\r
<id>eclipse-neon</id>\r
<url>http://download.eclipse.org/releases/neon</url>\r
- <!-- <url>http://download.eclipse.org/eclipse/updates/4.6/</url> -->\r
<layout>p2</layout>\r
</repository>\r
\r
<plugin id="com.ibm.db2.jcc"/>\r
<plugin id="com.ibm.nosql"/>\r
<plugin id="com.microsoft.sqlserver.sqljdbc"/>\r
+ <plugin id="com.sun.jna"/>\r
<plugin id="groovy"/>\r
- <plugin id="humble.video.linux"/>\r
- <plugin id="humble.video.noarch"/>\r
- <plugin id="humble.video.windows"/>\r
+ <plugin id="io.humble.video-arch-x86_64-pc-linux-gnu6"/>\r
+ <plugin id="io.humble.video-arch-x86_64-w64-mingw32"/>\r
+ <plugin id="io.humble.video-noarch"/>\r
<plugin id="javax.annotation-api"/>\r
<plugin id="javax.mail"/>\r
<plugin id="javax.servlet-api"/>\r
<plugin id="org.apache.commons.io"/>\r
<plugin id="org.apache.commons.lang"/>\r
<plugin id="org.apache.commons.net"/>\r
- <plugin id="org.apache.felix.gogo.command"/>\r
- <plugin id="org.apache.felix.gogo.runtime"/>\r
- <plugin id="org.apache.felix.gogo.shell"/>\r
+ <plugin id="org.apache.felix.fileinstall"/>\r
+ <plugin id="org.apache.felix.fileinstall.source"/>\r
+ <plugin id="org.apache.felix.gogo.command" version="0.10.0.v201209301215"/>\r
+ <plugin id="org.apache.felix.gogo.runtime" version="0.10.0.v201209301036"/>\r
+ <plugin id="org.apache.felix.gogo.shell" version="0.10.0.v201212101605"/>\r
<plugin id="org.apache.httpcomponents.httpclient"/>\r
<plugin id="org.apache.httpcomponents.httpcore"/>\r
<plugin id="org.apache.logging.log4j.api"/>\r
<plugin id="org.eclipse.equinox.common"/>\r
<plugin id="org.eclipse.equinox.console"/>\r
<plugin id="org.eclipse.equinox.ds"/>\r
+ <plugin id="org.eclipse.equinox.launcher"/>\r
+ <plugin id="org.eclipse.equinox.launcher.source"/>\r
<plugin id="org.eclipse.equinox.util"/>\r
<plugin id="org.eclipse.jetty.client"/>\r
<plugin id="org.eclipse.jetty.deploy"/>\r
<plugin id="org.eclipse.jetty.websocket.servlet"/>\r
<plugin id="org.eclipse.jetty.xml"/>\r
<plugin id="org.eclipse.osgi"/>\r
- <plugin id="org.eclipse.osgi.services"/>\r
+ <plugin id="org.eclipse.osgi.services" version="3.2.100.v20100503"/>\r
<plugin id="org.hamcrest.core"/>\r
<plugin id="org.jboss.resteasy.client"/>\r
<plugin id="org.jboss.resteasy.jaxb-provider"/>\r
\r
import java.io.File;\r
import java.io.IOException;\r
+import java.lang.management.ManagementFactory;\r
+import java.lang.management.ThreadInfo;\r
+import java.lang.management.ThreadMXBean;\r
import java.lang.reflect.Method;\r
import java.nio.file.DirectoryStream;\r
import java.nio.file.FileStore;\r
import java.nio.file.Paths;\r
import java.sql.Timestamp;\r
import java.text.DecimalFormat;\r
+import java.text.Normalizer;\r
import java.text.NumberFormat;\r
import java.text.SimpleDateFormat;\r
import java.time.Duration;\r
import java.util.Set;\r
import java.util.TreeMap;\r
import java.util.TreeSet;\r
+import java.util.regex.Pattern;\r
\r
import org.apache.commons.io.FileUtils;\r
import org.apache.commons.io.FilenameUtils;\r
import groovy.lang.GroovyClassLoader;\r
import user.commons.RemoteFile;\r
import user.commons.StoreUri;\r
+import user.commons.mediaarea.StreamKind;\r
import user.commons.mediatool.Timecode;\r
import user.commons.mediatool.Timecode.Type;\r
import user.commons.remotestore.RemoteStoreProtocol;\r
class PojoRoot {\r
}\r
\r
+ private static final String DOT = ".";\r
+\r
public static String readableFileSize(long size) {\r
if (size <= 0)\r
return "0";\r
System.out.println(value);\r
}\r
String name = "valammi.mxf";\r
- System.out.println(name.substring(0, name.lastIndexOf(".")));\r
+ System.out.println(name.substring(0, name.lastIndexOf(DOT)));\r
\r
boolean create = false;\r
create |= false;\r
System.out.println("Start");\r
for (String fileName : missing) {\r
String onlyId = fileName.trim();\r
- onlyId = onlyId.substring(0, onlyId.lastIndexOf("."));\r
+ onlyId = onlyId.substring(0, onlyId.lastIndexOf(DOT));\r
\r
boolean tsmContains = tsm.contains(fileName);\r
\r
omCount++;\r
\r
String fileName = omFilePath.trim().substring(omFilePath.lastIndexOf("/") + 1);\r
- String fileId = fileName.substring(0, fileName.lastIndexOf("."));\r
+ String fileId = fileName.substring(0, fileName.lastIndexOf(DOT));\r
\r
boolean excludeContains = exclude.contains(fileId);\r
if (excludeContains) {\r
String[] tokens = t.split("\t");\r
\r
String id = tokens[0].replace(".part", "");\r
- if (id.contains("."))\r
- id = id.substring(0, id.lastIndexOf("."));\r
+ if (id.contains(DOT))\r
+ id = id.substring(0, id.lastIndexOf(DOT));\r
if (tsmmap.containsKey(id)) {\r
String tsmtime = tsmmap.get(id);\r
if (tsmtime.compareTo(tokens[1]) > 0) {\r
\r
System.out.println(FileUtils.byteCountToDisplaySize(size / diff) + "/sec");\r
}\r
-}
\ No newline at end of file
+\r
+ @Test\r
+ public void test99995() throws Exception {\r
+ Pattern DIACRITICS_AND_FRIENDS = Pattern.compile("[\\p{InCombiningDiacriticalMarks}\\p{IsLm}\\p{IsSk}]+");\r
+ String name = "kedves_kiskacsa_furdik_a_toban_anyjahoz_keszul_lengyelorszagba.mxf";\r
+ String type = "Muszter DEMO";\r
+ int limit = 20;\r
+ String extension = "";\r
+ if (name.contains(DOT)) {\r
+ extension = DOT + name.substring(name.lastIndexOf(DOT) + 1);\r
+ name = name.substring(0, name.lastIndexOf(DOT));\r
+ }\r
+ String typeName = Normalizer.normalize(type, Normalizer.Form.NFD);\r
+ typeName = DIACRITICS_AND_FRIENDS.matcher(typeName).replaceAll("");\r
+ typeName = typeName.replace(" ", "_");\r
+ int allowedSize = limit - typeName.length() - 1 - extension.length();\r
+ if (name.length() > allowedSize)\r
+ name = name.substring(0, allowedSize);\r
+ String formatatted = String.format("%s_%s%s", name, typeName, extension);\r
+ System.out.println(formatatted + " " + formatatted.length());\r
+ }\r
+\r
+ @Test\r
+ public void test99996() throws Exception {\r
+ System.out.println(System.getProperty("user.home"));\r
+ System.setProperty("java.library.path", "/users/elgekko");\r
+ Path filePath = Paths.get("/opt/AMC/2021/ISSUES/#203/IFL000000071_43.mxf");\r
+ user.commons.mediatool.MediaInfo mi = new user.commons.mediatool.MediaInfo(filePath);\r
+ mi.process();\r
+ System.out.println(String.format("%s %d %s", mi.getCodecProfileName(), mi.getHeight(), mi.getDisplayAspect()));\r
+ }\r
+\r
+ @Test\r
+ public void test99997() throws Exception {\r
+\r
+ System.setProperty("jna.library.path", "/users/elgekko");\r
+ List<String> files = Arrays.asList("c:\\opt\\AMC\\2021\\ISSUES\\#203\\IFL000000071_43.mxf", "c:\\opt\\AMC\\2021\\ISSUES\\#203\\MX_12290041.mxf",\r
+ "c:\\opt\\AMC\\2021\\ISSUES\\#203\\DK_20344100_02_high_16_9.mxf", "c:\\opt\\AMC\\2021\\ISSUES\\#203\\IPR000011027_169.mxf");\r
+ for (String file : files) {\r
+ try (user.commons.mediaarea.MediaInfo mi = new user.commons.mediaarea.MediaInfo(file)) {\r
+ //Display aspect ratio\r
+ //Format profile\r
+ //String inform = mi.inform();\r
+ System.out.println("---------------------------------------");\r
+ System.out.println(file);\r
+ System.out.println(mi.get(StreamKind.Video, 0, "Width"));\r
+ System.out.println(mi.get(StreamKind.Video, 0, "Height"));\r
+ System.out.println(mi.get(StreamKind.Video, 0, "DisplayAspectRatio/String"));\r
+ System.out.println(mi.get(StreamKind.Video, 0, "Format_Profile"));\r
+ } catch (Exception ex) {\r
+ throw new RuntimeException(ex);\r
+ }\r
+ }\r
+\r
+ }\r
+\r
+ @Test\r
+ public void test99998() throws Exception {\r
+ ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();\r
+\r
+ for (Long threadID : threadMXBean.getAllThreadIds()) {\r
+ ThreadInfo info = threadMXBean.getThreadInfo(threadID);\r
+ System.out.println("Thread name: " + info.getThreadName());\r
+ System.out.println("Thread State: " + info.getThreadState());\r
+ long cpuTime = threadMXBean.getThreadCpuTime(threadID);\r
+ System.out.println(String.format("CPU time: %.2f %%", cpuTime == 0 ? cpuTime : cpuTime * 100 / 1000000000d));\r
+ }\r
+ }\r
+}\r
<artifactId>user.commons.log4j2</artifactId>\r
<packaging>eclipse-plugin</packaging>\r
<version>1.0.0</version>\r
+ \r
+ <build>\r
+ <plugins>\r
+\r
+ <plugin>\r
+ <groupId>org.apache.maven.plugins</groupId>\r
+ <artifactId>maven-resources-plugin</artifactId>\r
+ <version>2.7</version>\r
+ <executions>\r
+ <execution>\r
+ <id>copy-jar</id>\r
+ <phase>install</phase>\r
+ <goals>\r
+ <goal>copy-resources</goal>\r
+ </goals>\r
+ <configuration>\r
+ <outputDirectory>${project.basedir}}/../-product/target/deploy</outputDirectory>\r
+ <resources>\r
+ <resource>\r
+ <directory>target</directory>\r
+ <includes>\r
+ <include>${project.artifactId}_${project.version}.jar</include>\r
+ </includes>\r
+ </resource>\r
+ </resources>\r
+ </configuration>\r
+ </execution>\r
+ </executions>\r
+ </plugin>\r
+ </plugins>\r
+ </build>\r
+ \r
</project>
\ No newline at end of file
import java.util.HashMap;\r
import java.util.List;\r
import java.util.Map;\r
-import java.util.Set;\r
\r
import org.apache.logging.log4j.LogManager;\r
import org.apache.logging.log4j.Logger;\r
\r
import user.commons.DownloadableMedia;\r
import user.commons.JobStatus;\r
-import user.commons.MediaCubeMarker;\r
import user.commons.StoreUri;\r
import user.commons.remotestore.RemoteStoreProtocol;\r
import user.jobengine.db.Store;\r
\r
@StepEntry\r
public Object[] execute(String tempStoreName, String template, String expectedColorSpace, int limit) throws Exception {\r
-\r
- sendStatusReport();\r
- //return null;\r
DirectoryStream<Path> directoryStream = null;\r
int count = limit;\r
int allCount = 0;\r
return true;\r
}\r
\r
- private void sendStatusReport() {\r
- IJobEngine engine = getEngine();\r
- int jobCount = 0;\r
- StringBuilder sb = new StringBuilder();\r
- Map<Long, IJobRuntime> jobs = engine.getJobs();\r
- if (jobs != null) {\r
- Set<Long> keys = jobs.keySet();\r
- jobCount = keys.size();\r
- for (Long key : keys) {\r
- IJobRuntime runtime = jobs.get(key);\r
- if (JobStatus.SUSPENDED.equals(runtime.getStatus()))\r
- sb.append(runtime.getRelated() + " SUSPENDED: " + runtime.getDescription() + "</br>");\r
- }\r
- }\r
- MediaCubeMarker marker = new MediaCubeMarker();\r
- marker.setSubject("AMC MediaCube feldolgozási sor " + jobCount);\r
- logger.info(marker, sb.toString());\r
- }\r
-\r
private boolean targetExists(StoreUri storeUri, String fileName) {\r
try {\r
Path targetFile = Paths.get(storeUri.toString(true), fileName);\r
import java.nio.file.Path;\r
import java.nio.file.Paths;\r
\r
-import org.apache.commons.io.FileUtils;\r
import org.apache.logging.log4j.LogManager;\r
import org.apache.logging.log4j.Logger;\r
import org.apache.logging.log4j.Marker;\r
\r
import user.commons.RemoteFile;\r
import user.commons.StoreUri;\r
-import user.commons.mediatool.MediaInfo;\r
+import user.commons.mediaarea.MediaArea;\r
+import user.commons.strings.FileSizeUtils;\r
\r
public class PASAPOOLTransferToStep extends TransferStep {\r
private static final Logger logger = LogManager.getLogger();\r
long start = System.currentTimeMillis();\r
Object[] result = super.execute(sourceStoreUri, sourceFileName, targetStoreUri, targetFileName);\r
RemoteFile remoteFile = sourceStoreUri.getRemoteFile(targetFileName);\r
- if (remoteFile != null) {\r
+ if (remoteFile != null && remoteFile.getSize() > 0) {\r
long diff = (System.currentTimeMillis() - start) / 1000;\r
- long bytesSpeed = remoteFile.getSize() / diff;\r
- String speed = FileUtils.byteCountToDisplaySize(bytesSpeed);\r
- logger.info(getMarker(), "{} size is {}, upload speed was {}/sec", targetFileName, FileUtils.byteCountToDisplaySize(remoteFile.getSize()), speed);\r
+ if (diff > 0) {\r
+ long bytesSpeed = remoteFile.getSize() / diff;\r
+ String speed = FileSizeUtils.sizeAsString(bytesSpeed);\r
+ logger.info(getMarker(), "{} size is {}, upload speed was {}/sec", targetFileName, FileSizeUtils.sizeAsString(remoteFile.getSize()), speed);\r
+ }\r
}\r
return result;\r
}\r
// HD\r
// height = 1080\r
// >PEABLEBEACH | \\10.170.100.21\media\BeachPool\r
- private boolean isHD(MediaInfo mi) {\r
+ private boolean isHD(MediaArea mi) {\r
return mi.getHeight() == 1080;\r
}\r
\r
// profile=High\r
// aspect=16:9\r
// >SELENIOPOOL_16_9 | \\10.170.100.21\media\SelenioPool\16_9\r
- private boolean isSD_HIGH_16_9(MediaInfo mi) {\r
- return mi.getHeight() < 650 && CODEC_PROFILE_HIGH.equals(mi.getCodecProfileName()) && DISPLAY_ASPECT_16_9.equals(mi.getDisplayAspect());\r
+ private boolean isSD_HIGH_16_9(MediaArea mi) {\r
+ String formatProfileName = mi.getFormatProfileName();\r
+ return mi.getHeight() < 650 && formatProfileName.contains(CODEC_PROFILE_HIGH) && DISPLAY_ASPECT_16_9.equals(mi.getDisplayAspect());\r
}\r
\r
// SD - HIGH@HIGH / 4:3\r
// profile=High\r
// aspect=4:3\r
// >SELENIOPOOL_4_3 | \\10.170.100.21\media\SelenioPool\4_3\r
- private boolean isSD_HIGH_4_3(MediaInfo mi) {\r
- String codecProfileName = mi.getCodecProfileName();\r
- if (codecProfileName != null)\r
- codecProfileName = codecProfileName.toUpperCase();\r
- return mi.getHeight() < 650 && CODEC_PROFILE_HIGH.equals(codecProfileName) && DISPLAY_ASPECT_4_3.equals(mi.getDisplayAspect());\r
+ private boolean isSD_HIGH_4_3(MediaArea mi) {\r
+ String formatProfileName = mi.getFormatProfileName();\r
+ return mi.getHeight() < 650 && formatProfileName.contains(CODEC_PROFILE_HIGH) && DISPLAY_ASPECT_4_3.equals(mi.getDisplayAspect());\r
}\r
\r
// SD - MAIN/422@HIGH\r
// height < 650\r
// profile=Main || profile=4:2:2\r
// >PEABLEBEACH | \\10.170.100.21\media\BeachPool\r
- private boolean isSD_MAIN_422(MediaInfo mi) {\r
- String codecProfileName = mi.getCodecProfileName();\r
- if (codecProfileName != null)\r
- codecProfileName = codecProfileName.toUpperCase();\r
- return mi.getHeight() < 650 && (CODEC_PROFILE_MAIN.equals(codecProfileName) || CODEC_PROFILE_422.equals(mi.getCodecProfileName()));\r
+ private boolean isSD_MAIN_422(MediaArea mi) {\r
+ String formatProfileName = mi.getFormatProfileName();\r
+ return mi.getHeight() < 650 && (formatProfileName.contains(CODEC_PROFILE_MAIN) || formatProfileName.contains(CODEC_PROFILE_422));\r
}\r
\r
protected void logMediaProfile() {\r
Marker marker = MarkerManager.getMarker("MEDIAPROFILE");\r
try {\r
Path filePath = Paths.get(sourceStoreUri.toString(true), sourceFileName);\r
- MediaInfo mi = new MediaInfo(filePath);\r
+ MediaArea mi = new MediaArea(filePath);\r
mi.process();\r
\r
if (isHD(mi)) {\r
--- /dev/null
+package user.jobengine.server.steps;\r
+\r
+import java.lang.management.ManagementFactory;\r
+import java.lang.management.ThreadInfo;\r
+import java.lang.management.ThreadMXBean;\r
+import java.text.SimpleDateFormat;\r
+import java.util.Date;\r
+import java.util.Map;\r
+import java.util.Set;\r
+\r
+import org.apache.logging.log4j.LogManager;\r
+import org.apache.logging.log4j.Logger;\r
+\r
+import user.commons.JobStatus;\r
+import user.commons.MediaCubeMarker;\r
+import user.commons.strings.FileSizeUtils;\r
+import user.jobengine.server.IJobRuntime;\r
+\r
+public class ReportServerStatusStep extends JobStep {\r
+ private static final Logger logger = LogManager.getLogger();\r
+ private static SimpleDateFormat df = new SimpleDateFormat("yyyy.MM.dd hh:mm");\r
+\r
+ @StepEntry\r
+ public Object[] execute() throws Exception {\r
+ MediaCubeMarker marker = new MediaCubeMarker();\r
+\r
+ int jobCount = 0;\r
+ StringBuilder sb = new StringBuilder("Állapotjelentés:</br>");\r
+ Map<Long, IJobRuntime> jobs = getEngine().getJobs();\r
+ Set<Long> keys = jobs.keySet();\r
+ jobCount = keys.size() - 1;\r
+ marker.setSubject(String.format("%s [%d futó folyamat] AMC MediaCube report", df.format(new Date()), jobCount));\r
+ for (Long key : keys) {\r
+ IJobRuntime runtime = jobs.get(key);\r
+ if (JobStatus.SUSPENDED.equals(runtime.getStatus()))\r
+ sb.append(String.format("Felfüggesztve: %s %s %s %s %s </br>", df.format(runtime.getSubmitted()), df.format(runtime.getFinished()),\r
+ runtime.getStatus(), runtime.getRelated(), runtime.getDescription()));\r
+ }\r
+\r
+ // sb.append("</br>");\r
+ // float cpuTime = getCPUTime();\r
+ // sb.append(String.format("Processzor használat: %.2f %%</br>", cpuTime == 0 ? cpuTime : cpuTime * 100 / 1000000000d));\r
+ sb.append("</br>");\r
+ sb.append(String.format("Szabad JVM memória: %s</br>", FileSizeUtils.sizeAsString(Runtime.getRuntime().freeMemory())));\r
+ sb.append(String.format("Használt JVM memória: %s</br>",\r
+ FileSizeUtils.sizeAsString(Runtime.getRuntime().maxMemory() - Runtime.getRuntime().freeMemory())));\r
+ sb.append(String.format("Maximum JVM memória: %s</br>", FileSizeUtils.sizeAsString(Runtime.getRuntime().maxMemory())));\r
+ logger.info(marker, sb.toString());\r
+\r
+ return null;\r
+ }\r
+\r
+ private long getCPUTime() {\r
+ ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();\r
+ long result = 0;\r
+ for (Long threadID : threadMXBean.getAllThreadIds()) {\r
+ ThreadInfo info = threadMXBean.getThreadInfo(threadID);\r
+ System.out.println("Thread name: " + info.getThreadName());\r
+ System.out.println("Thread State: " + info.getThreadState());\r
+ result += threadMXBean.getThreadCpuTime(threadID);\r
+ }\r
+ return result;\r
+ }\r
+}\r
import java.nio.file.Path;\r
import java.nio.file.Paths;\r
\r
+import org.apache.commons.net.ftp.FTPClient;\r
import org.apache.logging.log4j.LogManager;\r
import org.apache.logging.log4j.Logger;\r
\r
import user.commons.StoreUri;\r
+import user.commons.remotestore.FtpDirectoryLister;\r
import user.commons.remotestore.RemoteStoreProtocol;\r
import user.jobengine.db.Store;\r
\r
String currentTargetFileName = targetFileName;\r
\r
boolean renameAfterCopy = false;\r
- if (getTmpExtension() != null && RemoteStoreProtocol.LOCAL.equals(targetStoreUri.getProtocol())) {\r
- currentTargetFileName += getTmpExtension();\r
- renameAfterCopy = true;\r
+ boolean renameAfterFTP = false;\r
+ if (getTmpExtension() != null) {\r
+ if (RemoteStoreProtocol.LOCAL.equals(targetStoreUri.getProtocol())) {\r
+ currentTargetFileName += getTmpExtension();\r
+ renameAfterCopy = true;\r
+ }\r
+ Store targetStore = getManager().getStore(targetStoreUri.getStoreId());\r
+\r
+ if (RemoteStoreProtocol.FTP.equals(targetStoreUri.getProtocol()) && !"NEXIO1".equals(targetStore.getName())\r
+ && !"NEXIO2".equals(targetStore.getName())) {\r
+ currentTargetFileName += getTmpExtension();\r
+ renameAfterFTP = true;\r
+ }\r
}\r
\r
sourceStoreUri.transferFrom(targetStoreUri, sourceFileName, currentTargetFileName);\r
- logger.info(getMarker(), "Transfer of {} completed from {} to {}", sourceFileName, sourceStoreUri, targetStoreUri);\r
+\r
+ logger.info(getMarker(), "Transfer of {} completed from {} to {}", sourceFileName, sourceStoreUri, currentTargetFileName);\r
\r
if (renameAfterCopy) {\r
Path tmpTargetFile = Paths.get(targetStoreUri.toString(true), currentTargetFileName);\r
Path targetFile = Paths.get(targetStoreUri.toString(true), targetFileName);\r
- tmpTargetFile.toFile().renameTo(targetFile.toFile());\r
+ try {\r
+ logger.info(getMarker(), "Renaming LOCAL file from {} to {} on {}", currentTargetFileName, targetFileName, sourceStoreUri);\r
+ tmpTargetFile.toFile().renameTo(targetFile.toFile());\r
+ } catch (Exception e) {\r
+ logger.error(getMarker(), e.getMessage());\r
+ }\r
+ }\r
+ if (renameAfterFTP) {\r
+ try {\r
+ FtpDirectoryLister lister = (FtpDirectoryLister) targetStoreUri.getLister();\r
+ FTPClient client = lister.connect();\r
+ logger.info(getMarker(), "Renaming FTP file from {} to {} on {}", currentTargetFileName, targetFileName, sourceStoreUri);\r
+ client.rename(currentTargetFileName, targetFileName);\r
+ } catch (Exception e) {\r
+ logger.error(getMarker(), e.getMessage());\r
+ } finally {\r
+ targetStoreUri.cleanUp();\r
+ }\r
}\r
}\r
}\r
<?xml version="1.0" encoding="UTF-8"?>\r
<executors>\r
- <executor className="CancelableStep.java" maxConcurrent="5" isRemote="true" />\r
- <executor className="TestForkCancelableStep.java" maxConcurrent="10" isRemote="false" />\r
+ <executor className="CancelableStep.java" maxConcurrent="10" isRemote="true" />\r
+ <executor className="TestForkCancelableStep.java" maxConcurrent="1" isRemote="false" />\r
</executors>
\ No newline at end of file
\r
// ftpTest();\r
\r
- if (param == 0)\r
- Thread.sleep(5000);\r
- if (param == 1)\r
- throw new Exception("Error teszt");\r
+ // if (param == 0)\r
+ // Thread.sleep(5000);\r
+ // if (param == 1)\r
+ // throw new Exception("Error teszt");\r
\r
Marker marker = MarkerManager.getMarker("MEDIAPROFILE");\r
\r
for (int i = 0; i < count; i++) {\r
if (getJobRuntime().isWaitingCancel())\r
break;\r
- Thread.sleep(500);\r
+ Thread.sleep(200);\r
int progress = (i + 1) * 100 / count;\r
setProgress(progress);\r
logger.info(marker, "{}", i);\r
if (killDate == null)\r
return;\r
\r
- if (!isArchived(filePath)) {\r
- logger.error(marker, "A(z) {} anyag törlésre van kijelölve, de nem található az archívumban.", filePath);\r
- return;\r
+ if (filePath.toFile().length() > 0) {\r
+ if (!isArchived(filePath)) {\r
+ logger.error(marker, "A(z) {} anyag törlésre van kijelölve, de nem található az archívumban.", filePath);\r
+ return;\r
+ }\r
}\r
\r
if (removeFiles(filePath, killDateFiles))\r
\r
import java.io.IOException;\r
import java.nio.file.Paths;\r
+import java.text.Normalizer;\r
import java.util.List;\r
+import java.util.regex.Pattern;\r
\r
import org.apache.commons.lang.StringUtils;\r
import org.apache.logging.log4j.LogManager;\r
import user.jobengine.server.IJobRuntime;\r
\r
public class TSMRestoreStep extends JobStep {\r
+ private static final String DOT = ".";\r
+ public static final Pattern DIACRITICS_AND_FRIENDS = Pattern.compile("[\\p{InCombiningDiacriticalMarks}\\p{IsLm}\\p{IsSk}]+");\r
private static final Logger logger = LogManager.getLogger();\r
private IItemManager manager;\r
private StoreUri targetUri;\r
marker = jobRuntime.getSessionMarker();\r
setAndCheck(mediaCubeMedia, targetPath, targetNamePattern, localRetrievePath, globalRetrievePath, jobEngine);\r
String targetFileName = String.format(targetNamePattern, sourceFileName);\r
+ //20210129\r
+ //targetFileName = getMaximizedFileName(mediaCubeMedia, targetFileName, 120);\r
+\r
Timecode timecode = new Timecode(mediaCubeMedia.getLength(), Type.PAL);\r
try {\r
String details = String.format("%s (%s)", sourceFileName, timecode.toString());\r
return null;\r
}\r
\r
+ private String getMaximizedFileName(Media mediaCubeMedia, String targetFileName, int limit) {\r
+ String name = targetFileName;\r
+ String extension = "";\r
+ if (name.contains(DOT)) {\r
+ extension = DOT + name.substring(name.lastIndexOf(DOT) + 1);\r
+ name = name.substring(0, name.lastIndexOf(DOT));\r
+ }\r
+ String typeName = Normalizer.normalize(mediaCubeMedia.getItemType().getName(), Normalizer.Form.NFD);\r
+ typeName = DIACRITICS_AND_FRIENDS.matcher(typeName).replaceAll("");\r
+ typeName = typeName.replace(" ", "_");\r
+\r
+ int allowedSize = limit - typeName.length() - 1 - extension.length();\r
+ if (name.length() > allowedSize)\r
+ name = name.substring(0, allowedSize);\r
+\r
+ return String.format("%s_%s%s", name, typeName, extension);\r
+ }\r
+\r
private String getSourceFileName(Media mediaCubeMedia, Store store) {\r
List<MediaFile> mediaFiles = mediaCubeMedia.getMediaFiles();\r
if (mediaFiles == null)\r
public class TestForkCancelableStep extends JobStep {\r
private static final String CHILD_TEMPLATE = "cancelable.xml";\r
private static final Logger logger = LogManager.getLogger();\r
- int count = 10;\r
+ int count = 5;\r
\r
@StepEntry\r
public Object[] execute(IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
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",
+ com.sun.jna,
io.humble.video,
io.humble.video.awt,
junit.framework,
user.commons.ftp,
user.commons.harris,
user.commons.logging,
+ user.commons.mediaarea,
user.commons.mediatool,
user.commons.morpheus,
user.commons.nexio,
<artifactId>user.jobengine.osgi.commons</artifactId>\r
<packaging>eclipse-plugin</packaging>\r
<version>1.0.0</version>\r
+ \r
+ <build>\r
+ <plugins>\r
+\r
+ <plugin>\r
+ <groupId>org.apache.maven.plugins</groupId>\r
+ <artifactId>maven-resources-plugin</artifactId>\r
+ <version>2.7</version>\r
+ <executions>\r
+ <execution>\r
+ <id>copy-jar</id>\r
+ <phase>install</phase>\r
+ <goals>\r
+ <goal>copy-resources</goal>\r
+ </goals>\r
+ <configuration>\r
+ <outputDirectory>${project.basedir}}/../-product/target/deploy</outputDirectory>\r
+ <resources>\r
+ <resource>\r
+ <directory>target</directory>\r
+ <includes>\r
+ <include>${project.artifactId}_${project.version}.jar</include>\r
+ </includes>\r
+ </resource>\r
+ </resources>\r
+ </configuration>\r
+ </execution>\r
+ </executions>\r
+ </plugin>\r
+ </plugins>\r
+ </build>\r
+ \r
</project>
\ No newline at end of file
--- /dev/null
+package user.commons.mediaarea;\r
+\r
+/**\r
+ *\r
+ */\r
+public enum InfoKind {\r
+ /**\r
+ * Unique name of parameter.\r
+ */\r
+ Name,\r
+ /**\r
+ * Value of parameter.\r
+ */\r
+ Text,\r
+ /**\r
+ * Unique name of measure unit of parameter.\r
+ */\r
+ Measure, Options,\r
+ /**\r
+ * Translated name of parameter.\r
+ */\r
+ Name_Text,\r
+ /**\r
+ * Translated name of measure unit.\r
+ */\r
+ Measure_Text,\r
+ /**\r
+ * More information about the parameter.\r
+ */\r
+ Info,\r
+ /**\r
+ * How this parameter is supported, could be N (No), B (Beta), R (Read only), W (Read/Write).\r
+ */\r
+ HowTo,\r
+ /**\r
+ * Domain of this piece of information.\r
+ */\r
+ Domain;\r
+}\r
--- /dev/null
+package user.commons.mediaarea;\r
+\r
+import java.io.BufferedReader;\r
+import java.io.IOException;\r
+import java.io.StringReader;\r
+import java.util.LinkedHashMap;\r
+import java.util.Map;\r
+\r
+/**\r
+ * Simple parser to adapt inform response to meta objects. The default MediaInfo inform call returns data in the form<br>\r
+ * \r
+ * <pre>\r
+ * General\r
+Complete name : /path/to/input/file.ext\r
+Format : Windows Media\r
+...\r
+\r
+Video\r
+ID : 1\r
+Format : FMT\r
+Codec ID : CODECID\r
+...\r
+\r
+Audio\r
+ID : 2\r
+Format : MP3\r
+...\r
+ * \r
+ * </pre>\r
+ */\r
+public class InformParser {\r
+\r
+ static final String DELIM = ":";\r
+\r
+ static MediaMetadata createMM(String type, BufferedReader r, Map<String, String> pairs) throws IOException {\r
+ pairs.clear();\r
+ String meta;\r
+ while ((meta = r.readLine()) != null && !meta.isEmpty()) {\r
+ int idx = meta.indexOf(DELIM);\r
+ if (idx == -1) {\r
+ throw new IllegalStateException("Parser received unexpected data, should contain ':'. Type=" + type + " line=" + meta);\r
+ }\r
+ String key = meta.substring(0, idx).trim();\r
+ String value = meta.substring(++idx).trim();\r
+ pairs.put(key, value);\r
+ }\r
+ return new MediaMetadata(type, pairs);\r
+ }\r
+\r
+ public static void main(String[] args) throws Exception {\r
+ if (args.length == 0) {\r
+ System.out.println("Usage: java -jar .jar [FILE]...");\r
+ System.exit(1);\r
+ }\r
+ for (String arg : args) {\r
+ try (MediaInfo mi = new MediaInfo(arg)) {\r
+ Map<String, MediaMetadata> results = InformParser.parse(mi.inform());\r
+ System.out.println("Inform " + arg + "\n" + results + "\n");\r
+ }\r
+ }\r
+\r
+ }\r
+\r
+ /**\r
+ * \r
+ * @param inform\r
+ * A MediaInfo formatted inform string\r
+ * @return Map containing parsed meta data.\r
+ */\r
+ public static Map<String, MediaMetadata> parse(String inform) {\r
+ LinkedHashMap<String, MediaMetadata> results = new LinkedHashMap<>();\r
+ try {\r
+ BufferedReader reader = new BufferedReader(new StringReader(inform));\r
+ String line;\r
+ Map<String, String> pairs = new LinkedHashMap<>();\r
+ // first read should always be the type\r
+ while ((line = reader.readLine()) != null) {\r
+ if (!line.isEmpty()) {\r
+ results.put(line, createMM(line, reader, pairs));\r
+ }\r
+ }\r
+ } catch (IOException ex) {\r
+ // shouldn't happen since we're reading from a String\r
+ // TODO add logging?\r
+ }\r
+ return results;\r
+ }\r
+}\r
--- /dev/null
+package user.commons.mediaarea;\r
+\r
+import java.io.File;\r
+import java.util.LinkedHashMap;\r
+import java.util.Map;\r
+\r
+import javax.xml.bind.JAXBContext;\r
+import javax.xml.bind.JAXBException;\r
+import javax.xml.bind.Marshaller;\r
+import javax.xml.bind.annotation.XmlElement;\r
+import javax.xml.bind.annotation.XmlRootElement;\r
+import javax.xml.bind.annotation.XmlTransient;\r
+\r
+/**\r
+ * Wrapper to perform JAXB Serialization\r
+ */\r
+@XmlRootElement\r
+public class InformResult {\r
+ @XmlTransient\r
+ private static final JAXBContext CTX;\r
+\r
+ static {\r
+ JAXBContext ctx;\r
+ try {\r
+ ctx = JAXBContext.newInstance(InformResult.class);\r
+ } catch (JAXBException ex) {\r
+ // should never happen\r
+ ctx = null;\r
+ }\r
+ CTX = ctx;\r
+ }\r
+\r
+ public static InformResult getResult(String file) throws JAXBException {\r
+ return (InformResult) CTX.createUnmarshaller().unmarshal(new File(file));\r
+ }\r
+\r
+ public static void saveResult(InformResult ir, String filename) throws JAXBException {\r
+ Marshaller m = CTX.createMarshaller();\r
+ m.marshal(ir, new File(filename));\r
+ }\r
+\r
+ @XmlElement\r
+ LinkedHashMap<String, MediaMetadata> results = new LinkedHashMap<>();\r
+\r
+ public InformResult() {\r
+ }\r
+\r
+ public InformResult(Map<String, MediaMetadata> map) {\r
+ results.putAll(map);\r
+ }\r
+\r
+ public LinkedHashMap<String, MediaMetadata> getResults() {\r
+ return results;\r
+ }\r
+\r
+}\r
--- /dev/null
+package user.commons.mediaarea;\r
+\r
+import static java.util.Collections.singletonMap;\r
+\r
+import java.lang.reflect.Method;\r
+\r
+import com.sun.jna.FunctionMapper;\r
+import com.sun.jna.Library;\r
+import com.sun.jna.Native;\r
+import com.sun.jna.NativeLibrary;\r
+import com.sun.jna.Pointer;\r
+import com.sun.jna.WString;\r
+\r
+/**\r
+ * JNA Wrapper for MediaInfo.\r
+ */\r
+public interface LibMediaInfo extends Library {\r
+\r
+ static final String LIB_NAME = "mediainfo";\r
+\r
+ final LibMediaInfo INSTANCE = (LibMediaInfo) Native.loadLibrary(LIB_NAME, LibMediaInfo.class,\r
+ singletonMap(OPTION_FUNCTION_MAPPER, (FunctionMapper) (NativeLibrary lib, Method method) -> "MediaInfo_" + method.getName()));\r
+\r
+ /* Closes the file upon completion */\r
+ void Close(Pointer Handle);\r
+\r
+ int Count_Get(Pointer Handle, int StreamKind, int StreamNumber);\r
+\r
+ /* Deconstructor */\r
+ void Delete(Pointer Handle);\r
+\r
+ WString Get(Pointer Handle, int StreamKind, int StreamNumber, WString parameter, int infoKind, int searchKind);\r
+\r
+ WString GetI(Pointer Handle, int StreamKind, int StreamNumber, int parameterIndex, int infoKind);\r
+\r
+ /* return information in various ways */\r
+ WString Inform(Pointer Handle, int Reserved);\r
+\r
+ /* Constructor */\r
+ Pointer New();\r
+\r
+ /* Opens a file for inspection */\r
+ int Open(Pointer Handle, WString file);\r
+\r
+ int Open_Buffer_Continue(Pointer handle, byte[] buffer, int size);\r
+\r
+ long Open_Buffer_Continue_GoTo_Get(Pointer handle);\r
+\r
+ /* release buffer resources (close) */\r
+ int Open_Buffer_Finalize(Pointer handle);\r
+\r
+ /* Opens a buffered read for the specified length beginning at offset */\r
+ int Open_Buffer_Init(Pointer handle, long length, long offset);\r
+\r
+ /* Set options */\r
+ WString Option(Pointer Handle, WString option, WString value);\r
+}\r
--- /dev/null
+package user.commons.mediaarea;\r
+\r
+import java.nio.file.Path;\r
+\r
+public class MediaArea {\r
+\r
+ private Path filePath;\r
+ private int height;\r
+ private String displayAspect;\r
+ private String formatProfile = "";\r
+\r
+ public MediaArea(Path filePath) {\r
+ this.filePath = filePath;\r
+\r
+ }\r
+\r
+ public String getDisplayAspect() {\r
+ return displayAspect;\r
+ }\r
+\r
+ public String getFormatProfileName() {\r
+ return formatProfile;\r
+ }\r
+\r
+ public int getHeight() {\r
+ return height;\r
+ }\r
+\r
+ public void process() {\r
+ //auto closable\r
+ try (MediaInfo mi = new MediaInfo(filePath.toAbsolutePath().toString())) {\r
+ height = Integer.parseInt(mi.get(StreamKind.Video, 0, "Height"));\r
+ displayAspect = mi.get(StreamKind.Video, 0, "DisplayAspectRatio/String");\r
+ formatProfile = mi.get(StreamKind.Video, 0, "Format_Profile").toUpperCase();\r
+ } catch (Exception ex) {\r
+ throw new RuntimeException(ex);\r
+ }\r
+\r
+ }\r
+\r
+}\r
--- /dev/null
+package user.commons.mediaarea;\r
+\r
+import java.io.IOException;\r
+import java.nio.ByteBuffer;\r
+import java.nio.channels.SeekableByteChannel;\r
+\r
+import com.sun.jna.Pointer;\r
+import com.sun.jna.WString;\r
+\r
+/**\r
+ * Class to wrap calls to LibMediaInfo via JNA. This class takes either a file path or a SeekableByteChannel and calls to LibMediaInfo to generate meta info.\r
+ * This class <b>must be closed</b> to properly release Native resources. It implements <code>AutoCloseable</code> to allow use try with resources.\r
+ */\r
+public class MediaInfo implements AutoCloseable {\r
+\r
+ public static void setXMLOutput(MediaInfo m) {\r
+ m.option("Inform", "XML");\r
+ }\r
+\r
+ private Pointer pointer;\r
+\r
+ private MediaInfo() {\r
+ pointer = LibMediaInfo.INSTANCE.New();\r
+ }\r
+\r
+ public MediaInfo(SeekableByteChannel channel) throws IOException {\r
+ this();\r
+ // open, read and finalize the data in the buffer\r
+ long len = channel.size();\r
+ final byte[] buff = new byte[64 * 1024];\r
+ final ByteBuffer dst = ByteBuffer.wrap(buff);\r
+ int read;\r
+ LibMediaInfo.INSTANCE.Open_Buffer_Init(pointer, len, 0L);\r
+ while ((read = channel.read(dst)) != -1) {\r
+ int status = LibMediaInfo.INSTANCE.Open_Buffer_Continue(pointer, buff, read);\r
+ if ((status & Status.Finalized.val) == Status.Finalized.val) {\r
+ break;\r
+ }\r
+ long seekPos = LibMediaInfo.INSTANCE.Open_Buffer_Continue_GoTo_Get(pointer);\r
+ if (seekPos != -1) {\r
+ channel.position(seekPos);\r
+ LibMediaInfo.INSTANCE.Open_Buffer_Init(pointer, len, seekPos);\r
+ }\r
+ dst.clear();\r
+ }\r
+ LibMediaInfo.INSTANCE.Open_Buffer_Finalize(pointer);\r
+ }\r
+\r
+ public MediaInfo(String fileName) throws IOException {\r
+ this();\r
+ int opened = LibMediaInfo.INSTANCE.Open(pointer, new WString(fileName));\r
+ if (opened == 0) {\r
+ throw new IOException("Unable to open file with libmediainfo: " + fileName);\r
+ }\r
+ }\r
+\r
+ /**\r
+ * Closes the underlying file handle, and releases the native instance.\r
+ *\r
+ * @throws Exception\r
+ */\r
+ @Override\r
+ public void close() throws Exception {\r
+ if (pointer != null) {\r
+ LibMediaInfo.INSTANCE.Close(pointer);\r
+ LibMediaInfo.INSTANCE.Delete(pointer);\r
+ pointer = null;\r
+ }\r
+ }\r
+\r
+ /**\r
+ * Get a piece of information about a file (parameter is an integer).\r
+ *\r
+ *\r
+ * @param streamKind\r
+ * Kind of Stream (general, video, audio...)\r
+ * @param streamNumber\r
+ * Stream number in Kind of Stream (first, second...)\r
+ * @param parameterIndex\r
+ * Parameter you are looking for in the Stream (Codec, width, bitrate...), in integer format (first parameter, second parameter...)\r
+ * @return information requested, empty string if not found\r
+ */\r
+ public String get(StreamKind streamKind, int streamNumber, int parameterIndex) {\r
+ return get(streamKind, streamNumber, parameterIndex, InfoKind.Text);\r
+ }\r
+\r
+ /**\r
+ * Get a piece of information about a file (parameter is an integer).\r
+ *\r
+ *\r
+ * @param streamKind\r
+ * Kind of Stream (general, video, audio...)\r
+ * @param streamNumber\r
+ * Stream number in Kind of Stream (first, second...)\r
+ * @param parameterIndex\r
+ * Parameter you are looking for in the Stream (Codec, width, bitrate...), in integer format (first parameter, second parameter...)\r
+ * @param infoKind\r
+ * Kind of information you want about the parameter (the text, the measure, the help...)\r
+ * @return a string about information you search, an empty string if there is a problem\r
+ */\r
+ public String get(StreamKind streamKind, int streamNumber, int parameterIndex, InfoKind infoKind) {\r
+ return LibMediaInfo.INSTANCE.GetI(pointer, streamKind.ordinal(), streamNumber, parameterIndex, infoKind.ordinal()).toString();\r
+ }\r
+\r
+ /**\r
+ * Get a piece of information about a file (parameter is a string).\r
+ *\r
+ * @param streamKind\r
+ * Kind of Stream (general, video, audio...)\r
+ * @param streamNumber\r
+ * Stream number in Kind of Stream (first, second...)\r
+ * @param parameter\r
+ * Parameter you are looking for in the Stream (Codec, width, bitrate...), in string format ("Codec", "Width"...)\r
+ * @return a string about information you search, an empty string if there is a problem\r
+ */\r
+ public String get(StreamKind streamKind, int streamNumber, String parameter) {\r
+ return get(streamKind, streamNumber, parameter, InfoKind.Text, InfoKind.Name);\r
+ }\r
+\r
+ /**\r
+ * Get a piece of information about a file (parameter is a string).\r
+ *\r
+ * @param streamKind\r
+ * Kind of Stream (general, video, audio...)\r
+ * @param streamNumber\r
+ * Stream number in Kind of Stream (first, second...)\r
+ * @param parameter\r
+ * Parameter you are looking for in the Stream (Codec, width, bitrate...), in string format ("Codec", "Width"...)\r
+ * @param infoKind\r
+ * Kind of information you want about the parameter (the text, the measure, the help...)\r
+ * @return information requested, empty string if not found\r
+ */\r
+ public String get(StreamKind streamKind, int streamNumber, String parameter, InfoKind infoKind) {\r
+ return get(streamKind, streamNumber, parameter, infoKind, InfoKind.Name);\r
+ }\r
+\r
+ /**\r
+ * Get a piece of information about a file (parameter is a string).\r
+ *\r
+ * @param streamKind\r
+ * Kind of Stream (general, video, audio...)\r
+ * @param streamNumber\r
+ * Stream number in Kind of Stream (first, second...)\r
+ * @param parameter\r
+ * Parameter you are looking for in the Stream (Codec, width, bitrate...), in string format ("Codec", "Width"...)\r
+ * @param infoKind\r
+ * Kind of information you want about the parameter (the text, the measure, the help...)\r
+ * @param searchKind\r
+ * Where to look for the parameter\r
+ * @return a string about information you search, an empty string if there is a problem\r
+ */\r
+ public String get(StreamKind streamKind, int streamNumber, String parameter, InfoKind infoKind, InfoKind searchKind) {\r
+ return LibMediaInfo.INSTANCE.Get(pointer, streamKind.ordinal(), streamNumber, new WString(parameter), infoKind.ordinal(), searchKind.ordinal())\r
+ .toString();\r
+ }\r
+\r
+ /**\r
+ * Count of Streams of a Stream kind (StreamNumber not filled), or count of piece of information in this Stream.\r
+ *\r
+ *\r
+ * @param streamKind\r
+ * Kind of Stream (general, video, audio...)\r
+ * @return number of Streams of the given Stream kind\r
+ */\r
+ public int getCount(StreamKind streamKind) {\r
+ //We should use NativeLong for -1, but it fails on 64-bit\r
+ //int Count_Get(Pointer Handle, int StreamKind, NativeLong StreamNumber);\r
+ //return MediaInfoDLL_Internal.INSTANCE.Count_Get(Handle, StreamKind.ordinal(), -1);\r
+ //so we use slower Get() with a character string\r
+ String streamCount = get(streamKind, 0, "StreamCount");\r
+ if (streamCount == null || streamCount.length() == 0) {\r
+ return 0;\r
+ }\r
+ return Integer.parseInt(streamCount);\r
+ }\r
+\r
+ /**\r
+ * Count of Streams of a Stream kind in the Stream Number.\r
+ *\r
+ * @param streamKind\r
+ * Kind of Stream (general, video, audio...)\r
+ * @param streamNumber\r
+ * Stream number in this kind of Stream (first, second...)\r
+ * @return number of Streams of the given Stream kind\r
+ */\r
+ public int getCount(StreamKind streamKind, int streamNumber) {\r
+ return LibMediaInfo.INSTANCE.Count_Get(pointer, streamKind.ordinal(), streamNumber);\r
+ }\r
+\r
+ /**\r
+ * Get all details about a file.\r
+ *\r
+ * @return All details about a file in one string\r
+ */\r
+ public String inform() {\r
+ return LibMediaInfo.INSTANCE.Inform(pointer, 0).toString();\r
+ }\r
+\r
+ /**\r
+ * Configure or get information about MediaInfo.\r
+ *\r
+ * @param option\r
+ * The name of option\r
+ * @return Depends on the option: by default "" (nothing) means No, other means Yes\r
+ */\r
+ public String option(String option) {\r
+ return option(option, "");\r
+ }\r
+\r
+ /**\r
+ * Configure or get information about MediaInfo.\r
+ *\r
+ * @param option\r
+ * The name of option\r
+ * @param value\r
+ * The value of option\r
+ * @return Depends on the option: by default "" (nothing) means No, other means Yes\r
+ */\r
+ public String option(String option, String value) {\r
+ return LibMediaInfo.INSTANCE.Option(pointer, new WString(option), new WString(value)).toString();\r
+ }\r
+}\r
--- /dev/null
+package user.commons.mediaarea;\r
+\r
+import java.util.Collections;\r
+import java.util.LinkedHashMap;\r
+import java.util.Map;\r
+\r
+import javax.xml.bind.annotation.XmlElement;\r
+import javax.xml.bind.annotation.XmlType;\r
+\r
+/**\r
+ * Simple data object to hold MediaInfo inform results.\r
+ */\r
+@XmlType\r
+public final class MediaMetadata {\r
+ @XmlElement\r
+ String type;\r
+\r
+ @XmlElement\r
+ Map<String, String> metaData;\r
+\r
+ /* JAXB */\r
+ MediaMetadata() {\r
+ }\r
+\r
+ public MediaMetadata(String type, Map<String, String> metaData) {\r
+ this.type = type;\r
+ this.metaData = Collections.unmodifiableMap(new LinkedHashMap<>(metaData));\r
+ }\r
+\r
+ /**\r
+ * The meta data information for this type. The underlying implementation is an ordered map, but order may not be maintained if the object is constructed\r
+ * with an unordered Map.\r
+ * \r
+ * @return Unmodifiable meta map\r
+ */\r
+ public Map<String, String> getMetaData() {\r
+ return metaData;\r
+ }\r
+\r
+ /**\r
+ * The meta info type (General, Video, Audio, etc)\r
+ * \r
+ * @return\r
+ */\r
+ public String getType() {\r
+ return type;\r
+ }\r
+\r
+ /**\r
+ * Returns a single meta data value from the meta map.\r
+ * \r
+ * @param key\r
+ * @return value if present or null\r
+ */\r
+ public String getValue(final String key) {\r
+ return metaData.get(key);\r
+ }\r
+\r
+ @Override\r
+ public String toString() {\r
+ return "MediaMetadata{" + "type=" + type + ", metaData=" + metaData + '}';\r
+ }\r
+\r
+}\r
--- /dev/null
+package user.commons.mediaarea;\r
+\r
+/**\r
+ * Status codes when reading from a buffer.\r
+ */\r
+public enum Status {\r
+ None(0x00), Accepted(0x01), Filled(0x02), Updated(0x04), Finalized(0x08);\r
+\r
+ public final int val;\r
+\r
+ Status(int val) {\r
+ this.val = val;\r
+ }\r
+}\r
--- /dev/null
+package user.commons.mediaarea;\r
+\r
+/**\r
+ * Enumeration of the StreamKind.\r
+ */\r
+public enum StreamKind {\r
+ General, Video, Audio, Text, Other, Image, Menu;\r
+}\r
--- /dev/null
+package user.commons.strings;\r
+\r
+import java.text.DecimalFormat;\r
+\r
+public class FileSizeUtils {\r
+ private static final long K = 1024;\r
+ private static final long M = K * K;\r
+ private static final long G = M * K;\r
+ private static final long T = G * K;\r
+\r
+ private static String format(final long value, final long divider, final String unit) {\r
+ final double result = divider > 1 ? (double) value / (double) divider : (double) value;\r
+ return new DecimalFormat("#,##0.#").format(result) + " " + unit;\r
+ }\r
+\r
+ public static String sizeAsString(final long value) {\r
+ final long[] dividers = new long[] { T, G, M, K, 1 };\r
+ final String[] units = new String[] { "TB", "GB", "MB", "KB", "B" };\r
+ if (value < 1)\r
+ throw new IllegalArgumentException("Invalid file size: " + value);\r
+ String result = null;\r
+ for (int i = 0; i < dividers.length; i++) {\r
+ final long divider = dividers[i];\r
+ if (value >= divider) {\r
+ result = format(value, divider, units[i]);\r
+ break;\r
+ }\r
+ }\r
+ return result;\r
+ }\r
+}\r
+++ /dev/null
--- // Insert DEMO nyers itemtype
--- Migration SQL that makes the change goes here.
-
-INSERT INTO ITEMTYPE (NAME) VALUES ('DEMO nyers')
-@
-
--- //@UNDO
--- SQL to undo the change goes here.
-
-DELETE FROM ITEMTYPE WHERE NAME='DEMO nyers'
-@
\ No newline at end of file
--- /dev/null
+-- // Insert Muszetr DEMO itemtype
+-- Migration SQL that makes the change goes here.
+
+INSERT INTO ITEMTYPE (NAME, DESCRIPTION, ISSTATIC) VALUES ('Muszter DEMO', 'Muszter DEMO', 'N')
+@
+
+-- //@UNDO
+-- SQL to undo the change goes here.
+
+DELETE FROM ITEMTYPE WHERE NAME='Muszter DEMO'
+@
--- /dev/null
+--
+-- Copyright 2010-2016 the original author or authors.
+--
+-- Licensed under the Apache License, Version 2.0 (the "License");
+-- you may not use this file except in compliance with the License.
+-- You may obtain a copy of the License at
+--
+-- http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+--
+
+-- // Alter PASA STOREURI change to FTP protocol
+-- Migration SQL that makes the change goes here.
+
+update storeuri set protocol='FTP', URI='10.170.100.21', username='10.170.100.21\pbadmin', password='Txhkkmot52', rootpath='MEDIA_FS/PasaPool' where storeid in (select id from store where name = 'PASAPOOL');
+@
+update storeuri set protocol='FTP', URI='10.170.100.21', username='10.170.100.21\pbadmin', password='Txhkkmot52', rootpath='MEDIA_FS/BeachPool' where storeid in (select id from store where name = 'PEABLEBEACH');
+@
+update storeuri set protocol='FTP', URI='10.170.100.21', username='10.170.100.21\pbadmin', password='Txhkkmot52', rootpath='MEDIA_FS/SelenioPool' where storeid in (select id from store where name = 'SELENIOPOOL');
+@
+update storeuri set protocol='FTP', URI='10.170.100.21', username='10.170.100.21\pbadmin', password='Txhkkmot52', rootpath='MEDIA_FS/SelenioPool/16_9' where storeid in (select id from store where name = 'SELENIOPOOL_16_9');
+@
+update storeuri set protocol='FTP', URI='10.170.100.21', username='10.170.100.21\pbadmin', password='Txhkkmot52', rootpath='MEDIA_FS/SelenioPool/16_9/Processiong' where storeid in (select id from store where name = 'SELENIOPOOL_16_9_PROCESSING');
+@
+update storeuri set protocol='FTP', URI='10.170.100.21', username='10.170.100.21\pbadmin', password='Txhkkmot52', rootpath='MEDIA_FS/SelenioPool/4_3' where storeid in (select id from store where name = 'SELENIOPOOL_4_3');
+@
+update storeuri set protocol='FTP', URI='10.170.100.21', username='10.170.100.21\pbadmin', password='Txhkkmot52', rootpath='MEDIA_FS/SelenioPool/4_3/Processiong' where storeid in (select id from store where name = 'SELENIOPOOL_4_3_PROCESSING');
+@
+
+-- //@UNDO
+-- SQL to undo the change goes here.
+
+update storeuri set protocol='LOCAL', URI='/mnt/PEABLEBEACH/PASAPOOL', username=null, password=null, rootpath=null where storeid in (select id from store where name = 'PASAPOOL');
+@
+update storeuri set protocol='LOCAL', URI='/mnt/PEABLEBEACH/BEACHPOOL',username=null, password=null, rootpath=null where storeid in (select id from store where name = 'PEABLEBEACH');
+@
+update storeuri set protocol='LOCAL', URI='/mnt/PEABLEBEACH/SELENIOPOOL', username=null, password=null, rootpath=null where storeid in (select id from store where name = 'SELENIOPOOL');
+@
+update storeuri set protocol='LOCAL', URI='/mnt/PEABLEBEACH/SELENIOPOOL/16_9', username=null, password=null, rootpath=null where storeid in (select id from store where name = 'SELENIOPOOL_16_9');
+@
+update storeuri set protocol='LOCAL', URI='/mnt/PEABLEBEACH/SELENIOPOOL/16_9/PROCESSING', username=null, password=null, rootpath=null where storeid in (select id from store where name = 'SELENIOPOOL_16_9_PROCESSING');
+@
+update storeuri set protocol='LOCAL', URI='/mnt/PEABLEBEACH/SELENIOPOOL/4_3', username=null, password=null, rootpath=null where storeid in (select id from store where name = 'SELENIOPOOL_4_3');
+@
+update storeuri set protocol='LOCAL', URI='/mnt/PEABLEBEACH/SELENIOPOOL/4_3/PROCESSING', username=null, password=null, rootpath=null where storeid in (select id from store where name = 'SELENIOPOOL_4_3_PROCESSING');
+@
+
--- /dev/null
+-- // Insert Musor CLEAN itemtype
+-- Migration SQL that makes the change goes here.
+
+INSERT INTO ITEMTYPE (NAME, DESCRIPTION, ISSTATIC) VALUES ('Műsor CLEAN', 'Műsor CLEAN', 'N')
+@
+
+-- //@UNDO
+-- SQL to undo the change goes here.
+
+DELETE FROM ITEMTYPE WHERE NAME='Műsor CLEAN'
+@
\ No newline at end of file
<artifactId>user.jobengine.osgi.db</artifactId>\r
<packaging>eclipse-plugin</packaging>\r
<version>1.0.0</version>\r
+ \r
+ <build>\r
+ <plugins>\r
+\r
+ <plugin>\r
+ <groupId>org.apache.maven.plugins</groupId>\r
+ <artifactId>maven-resources-plugin</artifactId>\r
+ <version>2.7</version>\r
+ <executions>\r
+ <execution>\r
+ <id>copy-jar</id>\r
+ <phase>install</phase>\r
+ <goals>\r
+ <goal>copy-resources</goal>\r
+ </goals>\r
+ <configuration>\r
+ <outputDirectory>${project.basedir}}/../-product/target/deploy</outputDirectory>\r
+ <resources>\r
+ <resource>\r
+ <directory>target</directory>\r
+ <includes>\r
+ <include>${project.artifactId}_${project.version}.jar</include>\r
+ </includes>\r
+ </resource>\r
+ </resources>\r
+ </configuration>\r
+ </execution>\r
+ </executions>\r
+ </plugin>\r
+ </plugins>\r
+ </build>\r
+ \r
</project>
\ No newline at end of file
<!-- <local.location>${project.build.directory}</local.location> -->\r
<!-- <remote.location>/opt/mediacube/plugins</remote.location> -->\r
<!-- </properties> -->\r
+ \r
+ <build>\r
+ <plugins>\r
+\r
+ <plugin>\r
+ <groupId>org.apache.maven.plugins</groupId>\r
+ <artifactId>maven-resources-plugin</artifactId>\r
+ <version>2.7</version>\r
+ <executions>\r
+ <execution>\r
+ <id>copy-jar</id>\r
+ <phase>install</phase>\r
+ <goals>\r
+ <goal>copy-resources</goal>\r
+ </goals>\r
+ <configuration>\r
+ <outputDirectory>${project.basedir}}/../-product/target/deploy</outputDirectory>\r
+ <resources>\r
+ <resource>\r
+ <directory>target</directory>\r
+ <includes>\r
+ <include>${project.artifactId}_${project.version}.jar</include>\r
+ </includes>\r
+ </resource>\r
+ </resources>\r
+ </configuration>\r
+ </execution>\r
+ </executions>\r
+ </plugin>\r
+ </plugins>\r
+ </build>\r
+ \r
</project>
\ No newline at end of file
void putOutputsToStack(IJobRuntime jobRuntime, Object[] outputs);
+ void reloadGracefully() throws Exception;
+
void removeFromExecutorQueue(IJobRuntime jobRuntime);
void removeFromRunQueue(IJobRuntime jobRuntime);
void revoke(IJobRuntime jobRuntime);
+ void setJobEngine(IJobEngine jobEngine);
+
+ void setMaxConcurrent(int maxConcurrent);
+
/**
* V�grehajt� le�ll�t�sa. Minden sz�l le�ll�t�sra ker�l.
*/
/**
* A v�grehajt� elind�t�sa.
*/
- void startup(IJobEngine jobEngine);
+ void startup();
ClusteredJob steelJob() throws InterruptedException;
@Override
public void addStepExecutor(IJobStepExecutor executor) {
//Class<IJobStep> stepClass = executor.getStepClass();
+ executor.setJobEngine(this);
String unitName = executor.getStepUnitName();
if (!executors.containsKey(unitName)) {
- logger.info("Executor registered {}", unitName);
+ logger.info("Executor now registered for {}", unitName);
executors.put(unitName, executor);
- } else
- logger.debug("Executor already registered {}", unitName);
+ } else {
+ logger.info("Executor already registered for {}", unitName);
+ IJobStepExecutor stepExecutor = executors.get(unitName);
+ int currentMaxConcurrent = stepExecutor.getMaxConcurrent();
+ int newMaxConcurrent = executor.getMaxConcurrent();
+ if (currentMaxConcurrent != newMaxConcurrent) {
+ stepExecutor.setMaxConcurrent(newMaxConcurrent);
+ logger.info("Executor maxConcurrent changed from {} to {}", currentMaxConcurrent, newMaxConcurrent);
+ }
+ }
}
public void loadExecutors() {
// TODO
// shutdownExecutors();
- executors.clear();
+ //executors.clear();
InputStream stream = null;
try {
String stepRoot = DirectoryUtils.normalize(System.getProperty(STEPSROOT), File.separator);
}
}
+ @Override
+ public void reloadGracefully() throws Exception {
+ if (schedulerService != null)
+ schedulerService.shutdown();
+
+ loadPrograms();
+ loadExecutors();
+
+ //startupExecutors();
+
+ schedulerService = new SchedulerService(this);
+ schedulerService.startup();
+ logger.info("JobEngine gracefully reloaded");
+ isRunning = true;
+ }
+
@Override
public void removeFromExecutorQueue(IJobRuntime jobRuntime) {
for (IJobStepExecutor executor : executors.values())
private void startupExecutors() {
for (IJobStepExecutor executor : executors.values())
- executor.startup(this);
+ executor.startup();
}
@Override
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.PriorityBlockingQueue;
try {
Thread.sleep(IJobEngine.QUEUE_POLL_INTERVAL_MS);
+ if (jobEngine == null)
+ logger.info("JobEngine is null");
+
if (jobEngine.isWorker() && isRemote) {
//a worker is csak azokat akarja vegrehajtani
ClusteredJob job = jobEngine.getRemoteEngine().getRemoteJob(getStepUnitName());
}
if (jobRuntime != null) {
- long submitted = jobRuntime.getSubmitted().getTime();
- long current = System.currentTimeMillis();
- boolean timeout = current - submitted > WAIT_FOR_REMOTE;
-
//ha remote, de nem jelentkezik senki, akkor helyi vegrehajtas
if (isRemote) {
+ long submitted = jobRuntime.getSubmitted().getTime();
+ long current = System.currentTimeMillis();
+ boolean timeout = current - submitted > WAIT_FOR_REMOTE;
if (timeout) {
logger.info("Remote JobStep timed out, processing locally.");
} else {
logger.info("Executing locally {}", jobRuntime.getId());
//jobRuntime.setDescription(PROCESSING_LOCALLY);
Object[] inputs = jobEngine.getInputsFromStack(jobRuntime);
- runStepObject(jobRuntime, inputs);
+ IJobStep stepObject = runStepObject(jobRuntime, inputs);
+ if (stepObject.isTest()) {
+ logger.trace("Finishing test worker");
+ break;
+ }
}
if (shutdown) {
jobRuntime = null;
step = null;
}
+ if (retireUnusedWorker(this)) {
+ break;
+
+ }
+
}
}
}
- private void runStepObject(IJobRuntime jobRuntime, Object[] inputs) throws Throwable {
+ private IJobStep runStepObject(IJobRuntime jobRuntime, Object[] inputs) throws Throwable {
+ IJobStep step = null;
+
jobRuntime.setStatus(JobStatus.EXECUTING);
jobRuntime.NotifyUpdate();
- IJobStep step = createStepObject();
+ step = createStepObject();
if (step == null)
throw new Exception("Step object is null");
logger.debug("{} executing", jobRuntime);
// jobEngine.sendMessage(new JobStepCompletedMessage(jobRuntime.getId(), outputs));
// }
jobEngine.sendMessage(new JobStepCompletedMessage(jobRuntime.getId(), outputs));
+ return step;
}
public void shutdown() {
private Logger logger;
private PriorityBlockingQueue<IJobRuntime> queue;
- private List<Worker> workers;
+ private List<Worker> workers = Collections.synchronizedList(new ArrayList<Worker>());
protected IJobEngine jobEngine;
private CountDownLatch barrier;
private Class<IJobStep> stepClass;
create(className, maxConcurrent, false);
}
+ private void addWorkers(int count) {
+ barrier = new CountDownLatch(count);
+
+ for (int index = 0; index < count; index++) {
+ Worker worker = new Worker();
+ worker.start();
+ workers.add(worker);
+ }
+
+ try {
+ barrier.await();
+ } catch (Exception e) {
+ }
+ }
+
@Override
public void changePriority(IJobRuntime runtime) {
if (queue != null && runtime != null) {
queue = new PriorityBlockingQueue<IJobRuntime>();
this.maxConcurrent = maxConcurrent;
- if (maxConcurrent > 0) {
- barrier = new CountDownLatch(maxConcurrent);
- workers = new ArrayList<Worker>();
- for (int index = 0; index < maxConcurrent; index++)
- workers.add(new Worker());
- }
}
protected IJobStep createStepObject() throws Exception {
}
@Override
- public int getMaxConcurrent() {
+ public synchronized int getMaxConcurrent() {
return maxConcurrent;
}
return result;
}
+ protected synchronized boolean retireUnusedWorker(Worker worker) {
+ boolean result = false;
+ if (getMaxConcurrent() < workers.size()) {
+ workers.remove(worker);
+ logger.info("Worker {} is retired, max {} current {}", getStepUnitName(), getMaxConcurrent(), workers.size());
+ result = true;
+ }
+
+ return result;
+ }
+
@Override
public void revoke(IJobRuntime jobRuntime) {
queue.remove(jobRuntime);
}
@Override
- public void shutdown() {
- for (Worker w : workers)
- w.shutdown();
+ public void setJobEngine(IJobEngine jobEngine) {
+ this.jobEngine = jobEngine;
}
@Override
- public void startup(IJobEngine jobEngine) {
- this.jobEngine = jobEngine;
- if (workers != null) {
- for (Worker w : workers)
- w.start();
- }
- if (barrier != null) {
- try {
- barrier.await();
- } catch (Exception e) {
- }
- //barrier.reset();
+ public synchronized void setMaxConcurrent(int maxConcurrent) {
+ if (this.maxConcurrent == maxConcurrent)
+ return;
+
+ if (this.maxConcurrent < maxConcurrent) {
+ int diff = maxConcurrent - this.maxConcurrent;
+ addWorkers(diff);
}
+
+ this.maxConcurrent = maxConcurrent;
+ }
+
+ @Override
+ public void shutdown() {
+ if (workers == null)
+ return;
+
+ workers.forEach(worker -> worker.shutdown());
+ workers.clear();
+ }
+
+ @Override
+ public void startup() {
+ if (maxConcurrent == 0)
+ return;
+
+ addWorkers(maxConcurrent);
}
@Override
@Override
public void waitShutdown() {
- for (Worker w : workers)
- w.waitShutdown();
+ workers.forEach(worker -> worker.waitShutdown());
}
}
\r
void cleanup();\r
\r
- Object[] run(IJobEngine jobEngine, IJobRuntime jobRuntime, Object[] inputs) throws Throwable;\r
+ boolean isTest();\r
\r
+ Object[] run(IJobEngine jobEngine, IJobRuntime jobRuntime, Object[] inputs) throws Throwable;\r
}\r
return (MediaCubeMarker) jobRuntime.getSessionMarker();\r
}\r
\r
+ @Override\r
+ public boolean isTest() {\r
+ return false;\r
+ }\r
+\r
@Override\r
public Object[] run(IJobEngine jobEngine, IJobRuntime jobRuntime, Object[] inputs) throws Throwable {\r
this.jobEngine = jobEngine;\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<Configuration status="INFO">\r
+ <Appenders>\r
+ <Console name="LogToConsole" target="SYSTEM_OUT">\r
+ <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>\r
+ </Console>\r
+ </Appenders>\r
+ <Loggers>\r
+ <Root level="INFO">\r
+ <AppenderRef ref="LogToConsole"/>\r
+ </Root>\r
+ </Loggers>\r
+</Configuration>
\ No newline at end of file
};
jobStep = new IJobStep() {
@Override
- public Object[] run(IJobEngine jobEngine, IJobRuntime jobRuntime, Object[] inputs) throws Exception {
- called[0] = true;
- if (threadCounter != null)
- threadCounter.increment();
- return null;
+ public boolean canContinue() {
+ return false;
}
@Override
- public boolean canContinue() {
+ public void cleanup() {
+ }
+
+ @Override
+ public boolean isTest() {
return false;
}
@Override
- public void cleanup() {
+ public Object[] run(IJobEngine jobEngine, IJobRuntime jobRuntime, Object[] inputs) throws Exception {
+ called[0] = true;
+ if (threadCounter != null)
+ threadCounter.increment();
+ return null;
}
};
}
};
- sut.startup(jobEngine);
+ sut.startup();
jobRuntime1 = new JobRuntime(jobEngine, new Program());
jobRuntime1.pushToStack("var1");
}
@Test
- public void testSendJobCompletedMessage() {
+ public void testConstructor_Dynamic_ExistingClass() throws Exception {
// Fixture
- messageCounter = new ThreadCounter(2);
+ System.setProperty("jobengine.jobsteps.root", "c:\\$Work\\USER\\JobEngine\\plugins");
// Exercise
- sut.submit(jobRuntime1);
- sut.submit(jobRuntime2);
+ sut = new JobStepExecutor("user.jobengine.server.steps.JobStepDyn", 1);
// Verify
- messageCounter.waitFinish();
- assertEquals(2, messages.size());
- assertEquals(JobStepCompletedMessage.class, messages.get(0).getClass());
- assertEquals(1, messages.get(0).getJobId());
- assertEquals(JobStepCompletedMessage.class, messages.get(1).getClass());
- assertEquals(2, messages.get(1).getJobId());
- }
-
- @Test
- public void testRunStep() {
- // Fixture
- threadCounter = new ThreadCounter(1);
-
- // Exercise
- sut.submit(jobRuntime1);
-
- // Validate
- threadCounter.waitFinish();
- assertTrue(called[0]);
- }
-
- @Test(expected = NullPointerException.class)
- public void testSubmit_NullParameter() {
- // Exercise
- sut.submit(null);
+ assertTrue(sut.getStepClass() != null);
}
@Test(expected = RuntimeException.class)
new JobStepExecutor("user.jobengine.server.steps.JobStepDyn", 1);
}
- @Test
- public void testConstructor_Dynamic_ExistingClass() throws Exception {
- // Fixture
- System.setProperty("jobengine.jobsteps.root", "c:\\$Work\\USER\\JobEngine\\plugins");
-
- // Exercise
- sut = new JobStepExecutor("user.jobengine.server.steps.JobStepDyn", 1);
-
- // Verify
- assertTrue(sut.getStepClass() != null);
- }
-
@Test
public void testDynamicExecutor() throws Exception {
// Fixture
jobRuntime1.pushToStack(2);
System.setProperty("jobengine.jobsteps.root", "c:\\$Work\\USER\\JobEngine\\plugins");
sut = new JobStepExecutor("user.jobengine.server.steps.JobStepDyn", 1);
- sut.startup(jobEngine);
+ sut.startup();
messageCounter = new ThreadCounter(1);
// Exercise
//check stack
}
+ @Test
+ public void testRunStep() {
+ // Fixture
+ threadCounter = new ThreadCounter(1);
+
+ // Exercise
+ sut.submit(jobRuntime1);
+
+ // Validate
+ threadCounter.waitFinish();
+ assertTrue(called[0]);
+ }
+
+ @Test
+ public void testSendJobCompletedMessage() {
+ // Fixture
+ messageCounter = new ThreadCounter(2);
+
+ // Exercise
+ sut.submit(jobRuntime1);
+ sut.submit(jobRuntime2);
+
+ // Verify
+ messageCounter.waitFinish();
+ assertEquals(2, messages.size());
+ assertEquals(JobStepCompletedMessage.class, messages.get(0).getClass());
+ assertEquals(1, messages.get(0).getJobId());
+ assertEquals(JobStepCompletedMessage.class, messages.get(1).getClass());
+ assertEquals(2, messages.get(1).getJobId());
+ }
+
+ @Test(expected = NullPointerException.class)
+ public void testSubmit_NullParameter() {
+ // Exercise
+ sut.submit(null);
+ }
+
}
--- /dev/null
+package user.jobengine.server;
+
+import static org.junit.Assert.assertEquals;
+
+import java.sql.Timestamp;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import user.jobengine.server.steps.IJobStep;
+
+public class JobStepExecutorTest1 {
+ @BeforeClass
+ public static void beforeClass() {
+ //System.setProperty("org.apache.logging.log4j.simplelog.StatusLogger.level", "TRACE");
+ }
+
+ @Before
+ public void setup() throws Exception {
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ }
+
+ @Test
+ public void testTicketBase() throws Exception {
+ // Fixture
+ int expectedJobCount = 3;
+ IJobEngine jobEngine = new JobEngine();
+ final AtomicInteger stepCallCount = new AtomicInteger();
+ final CountDownLatch stepStartBarrier = new CountDownLatch(expectedJobCount);
+
+ final IJobStep jobStep = new IJobStep() {
+ @Override
+ public boolean canContinue() {
+ return true;
+ }
+
+ @Override
+ public void cleanup() {
+ }
+
+ @Override
+ public boolean isTest() {
+ return true;
+ }
+
+ @Override
+ public Object[] run(IJobEngine jobEngine, IJobRuntime jobRuntime, Object[] inputs) throws Exception {
+ stepCallCount.getAndIncrement();
+ stepStartBarrier.countDown();
+ return null;
+ }
+ };
+
+ final IJobStepExecutor sut = new JobStepExecutor(IJobStep.class, expectedJobCount) {
+ @Override
+ protected IJobStep createStepObject() throws InstantiationException, IllegalAccessException {
+ return jobStep;
+ }
+
+ };
+ sut.setJobEngine(jobEngine);
+ sut.startup();
+
+ // Exercise
+ for (int i = 0; i < expectedJobCount; i++) {
+ JobRuntime jobRuntime = new JobRuntime(jobEngine, new Program());
+ jobRuntime.setSubmitted(new Timestamp(System.currentTimeMillis()));
+ jobRuntime.pushToStack(0);
+ jobRuntime.saveStack();
+ sut.submit(jobRuntime);
+ }
+ stepStartBarrier.await();
+ // Verify
+ assertEquals(expectedJobCount, stepCallCount.get());
+ }
+
+ @Test
+ public void testTicketIncrement() throws Exception {
+ // Fixture
+ int expectedJobCount = 3;
+ IJobEngine jobEngine = new JobEngine();
+ final int[] stepCallCount = { 0 };
+ final CountDownLatch stepStartBarrier = new CountDownLatch(expectedJobCount);
+ final IJobStep jobStep = new IJobStep() {
+ @Override
+ public boolean canContinue() {
+ return true;
+ }
+
+ @Override
+ public void cleanup() {
+ }
+
+ @Override
+ public boolean isTest() {
+ return true;
+ }
+
+ @Override
+ public Object[] run(IJobEngine jobEngine, IJobRuntime jobRuntime, Object[] inputs) throws Exception {
+
+ stepCallCount[0]++;
+ stepStartBarrier.countDown();
+
+ return null;
+ }
+
+ };
+
+ final IJobStepExecutor sut = new JobStepExecutor(IJobStep.class, 1) {
+ @Override
+ protected IJobStep createStepObject() throws InstantiationException, IllegalAccessException {
+ return jobStep;
+ }
+
+ };
+ sut.startup();
+
+ // Exercise
+
+ sut.setMaxConcurrent(sut.getMaxConcurrent() + 1);
+
+ for (int i = 0; i < expectedJobCount; i++) {
+ JobRuntime jobRuntime = new JobRuntime(jobEngine, new Program());
+ jobRuntime.setSubmitted(new Timestamp(System.currentTimeMillis()));
+ jobRuntime.pushToStack(0);
+ sut.submit(jobRuntime);
+ }
+ stepStartBarrier.await();
+
+ // Verify
+ assertEquals(expectedJobCount, stepCallCount[0]);
+ }
+
+}
</profile>\r
</profiles>\r
\r
+<!-- <build> -->\r
+<!-- <plugins> -->\r
+<!-- <plugin> -->\r
+<!-- <groupId>org.codehaus.mojo</groupId> -->\r
+<!-- <artifactId>exec-maven-plugin</artifactId> -->\r
+<!-- <version>1.5.0</version> -->\r
+<!-- <executions> -->\r
+<!-- <execution> -->\r
+<!-- <id>install</id> -->\r
+<!-- <phase>install</phase> -->\r
+<!-- <goals> -->\r
+<!-- <goal>exec</goal> -->\r
+<!-- </goals> -->\r
+<!-- <configuration> -->\r
+<!-- <executable>echo</executable> -->\r
+<!-- <arguments> -->\r
+<!-- <argument>yyy</argument> -->\r
+<!-- </arguments> -->\r
+<!-- </configuration> -->\r
+<!-- </execution> -->\r
+<!-- </executions> -->\r
+<!-- </plugin> -->\r
+\r
+<!-- </plugins> -->\r
+<!-- </build> -->\r
+\r
<build>\r
<plugins>\r
+\r
<plugin>\r
- <groupId>org.codehaus.mojo</groupId>\r
- <artifactId>exec-maven-plugin</artifactId>\r
- <version>1.5.0</version>\r
+ <groupId>org.apache.maven.plugins</groupId>\r
+ <artifactId>maven-resources-plugin</artifactId>\r
+ <version>2.7</version>\r
<executions>\r
<execution>\r
- <id>install</id>\r
+ <id>copy-jar</id>\r
<phase>install</phase>\r
<goals>\r
- <goal>exec</goal>\r
+ <goal>copy-resources</goal>\r
</goals>\r
<configuration>\r
- <executable>echo</executable>\r
- <arguments>\r
- <argument>yyy</argument>\r
- </arguments>\r
+ <outputDirectory>${project.basedir}}/../-product/target/deploy</outputDirectory>\r
+ <resources>\r
+ <resource>\r
+ <directory>target</directory>\r
+ <includes>\r
+ <include>${project.artifactId}_${project.version}.jar</include>\r
+ </includes>\r
+ </resource>\r
+ </resources>\r
</configuration>\r
</execution>\r
</executions>\r
</plugin>\r
-\r
</plugins>\r
</build>\r
\r
<separator orient="vertical"/>\r
<toolbarbutton label="Leállítás" iconSclass="z-icon-level-down" onClick="@command('shutdown')" disabled="@load(jlm.shutdownDisabled)" autodisable="self"/>\r
<toolbarbutton label="Elindítás" iconSclass="z-icon-level-up" onClick="@command('startup')" disabled="@load(jlm.startupDisabled)" autodisable="self"/>\r
+ <toolbarbutton label="Újratöltés" iconSclass="z-icon-dot-circle-o" onClick="@command('reload')" autodisable="self"/>\r
<separator orient="vertical"/>\r
<toolbarbutton label="Takarítás" iconSclass="z-icon-eraser" onClick="@command('cleanupSuspended')" autodisable="self"/>\r
<separator orient="vertical"/>\r
<artifactId>user.mediacube.gui</artifactId>\r
<packaging>eclipse-plugin</packaging>\r
<version>1.0.0</version>\r
-</project>
\ No newline at end of file
+\r
+ <build>\r
+ <plugins>\r
+\r
+ <plugin>\r
+ <groupId>org.apache.maven.plugins</groupId>\r
+ <artifactId>maven-resources-plugin</artifactId>\r
+ <version>2.7</version>\r
+ <executions>\r
+ <execution>\r
+ <id>copy-jar</id>\r
+ <phase>install</phase>\r
+ <goals>\r
+ <goal>copy-resources</goal>\r
+ </goals>\r
+ <configuration>\r
+ <outputDirectory>${project.basedir}}/../-product/target/deploy</outputDirectory>\r
+ <resources>\r
+ <resource>\r
+ <directory>target</directory>\r
+ <includes>\r
+ <include>${project.artifactId}_${project.version}.jar</include>\r
+ </includes>\r
+ </resource>\r
+ </resources>\r
+ </configuration>\r
+ </execution>\r
+ </executions>\r
+ </plugin>\r
+ </plugins>\r
+ </build>\r
+</project>\r
+\r
+
\ No newline at end of file
-version=2.7.0\r
+version=2.7.1\r
footer=2016-2020 © Copyright User Rendszerház Kft.\r
\r
login_info=Információ\r
package user.jobengine.zk.model;\r
\r
-import org.apache.commons.io.FileUtils;\r
import org.zkoss.bind.BindContext;\r
import org.zkoss.bind.Converter;\r
import org.zkoss.zul.Label;\r
\r
-public class FileSizeConverter implements Converter<String, Long, Label> {\r
+import user.commons.strings.FileSizeUtils;\r
\r
- @Override\r
- public String coerceToUi(Long fileSize, Label paramC, BindContext context) {\r
- return FileUtils.byteCountToDisplaySize(fileSize);\r
- }\r
+public class FileSizeConverter implements Converter<String, Long, Label> {\r
\r
@Override\r
public Long coerceToBean(String paramU, Label paramC, BindContext paramBindContext) {\r
// TODO Auto-generated method stub\r
return null;\r
}\r
+\r
+ @Override\r
+ public String coerceToUi(Long fileSize, Label paramC, BindContext context) {\r
+ return FileSizeUtils.sizeAsString(fileSize);\r
+ }\r
}\r
t.start();\r
}\r
\r
+ @Command\r
+ public void reload() {\r
+ try {\r
+ jobEngine.reloadGracefully();\r
+ } catch (Exception e) {\r
+ Messagebox.show(e.getMessage(), "Hiba!", Messagebox.OK, Messagebox.ERROR);\r
+ }\r
+ }\r
+\r
@Command\r
@NotifyChange("searchStatus")\r
public void resetSearchRelated() {\r
<artifactId>user.mediacube.metadata</artifactId>\r
<packaging>eclipse-plugin</packaging>\r
<version>1.0.0</version>\r
+ <build>\r
+ <plugins>\r
+\r
+ <plugin>\r
+ <groupId>org.apache.maven.plugins</groupId>\r
+ <artifactId>maven-resources-plugin</artifactId>\r
+ <version>2.7</version>\r
+ <executions>\r
+ <execution>\r
+ <id>copy-jar</id>\r
+ <phase>install</phase>\r
+ <goals>\r
+ <goal>copy-resources</goal>\r
+ </goals>\r
+ <configuration>\r
+ <outputDirectory>${project.basedir}}/../-product/target/deploy</outputDirectory>\r
+ <resources>\r
+ <resource>\r
+ <directory>target</directory>\r
+ <includes>\r
+ <include>${project.artifactId}_${project.version}.jar</include>\r
+ </includes>\r
+ </resource>\r
+ </resources>\r
+ </configuration>\r
+ </execution>\r
+ </executions>\r
+ </plugin>\r
+ </plugins>\r
+ </build>\r
\r
</project>
\ No newline at end of file
<artifactId>user.tsm.client</artifactId>\r
<packaging>eclipse-plugin</packaging>\r
<version>1.2.0</version>\r
+ <build>\r
+ <plugins>\r
+\r
+ <plugin>\r
+ <groupId>org.apache.maven.plugins</groupId>\r
+ <artifactId>maven-resources-plugin</artifactId>\r
+ <version>2.7</version>\r
+ <executions>\r
+ <execution>\r
+ <id>copy-jar</id>\r
+ <phase>install</phase>\r
+ <goals>\r
+ <goal>copy-resources</goal>\r
+ </goals>\r
+ <configuration>\r
+ <outputDirectory>${project.basedir}}/../-product/target/deploy</outputDirectory>\r
+ <resources>\r
+ <resource>\r
+ <directory>target</directory>\r
+ <includes>\r
+ <include>${project.artifactId}_${project.version}.jar</include>\r
+ </includes>\r
+ </resource>\r
+ </resources>\r
+ </configuration>\r
+ </execution>\r
+ </executions>\r
+ </plugin>\r
+ </plugins>\r
+ </build>\r
+ \r
</project>
\ No newline at end of file