Feature #107 Folyamat futtatás és monitorozás kiajánlása WS-en
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Thu, 29 Nov 2018 15:15:47 +0000 (15:15 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Thu, 29 Nov 2018 15:15:47 +0000 (15:15 +0000)
git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C31359

server/-configuration/run-mediacube-server-bsh.launch
server/user.jobengine.osgi.db/src/user/jobengine/db/JSONBase.java
server/user.jobengine.osgi.services/src/user/jobengine/osgi/mediacube/MediaCubeService.java [moved from server/user.jobengine.osgi.services/src/user/jobengine/osgi/rest/jobengine/JobengineService.java with 70% similarity]
server/user.jobengine.osgi.services/src/user/jobengine/osgi/rest/RESTApplications.java

index f81b80d978fd9697dae7ff9f6fd4cdb7ce30c763..73dd62c3c035c671229206097a83d39e025fec3e 100644 (file)
@@ -19,7 +19,7 @@
 <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>\r
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console"/>\r
 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>\r
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory&#13;&#10;-Dorg.eclipse.epp.logging.aeri.skipReports=true &#13;&#10;-Declipse.ignoreApp=true &#13;&#10;-Dosgi.noShutdown=true&#13;&#10;-Djobengine.jobsteps.root=&quot;${workspace_loc}/user.jobengine.executors/config&quot;&#13;&#10;-Djobengine.jobtemplates.root=&quot;${workspace_loc}/user.jobengine.executors/jobtemplates&quot;&#13;&#10;-Djobengine.db.url=jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.db.user=db2admin&#13;&#10;-Djobengine.db.password=password&#13;&#10;-Djobengine.loglevel=INFO&#13;&#10;-Dlog4j.configurationFile=&quot;${workspace_loc}/-configuration/log4j2.xml&quot;&#13;&#10;-Djobengine.jobsteps.alternate.root=&quot;${workspace_loc}/user.jobengine.executors/bin/&quot;&#13;&#10;-Djetty.home=&quot;${workspace_loc:}/-configuration/jetty&quot;&#13;&#10;-Djetty.etc.config.urls=etc/user-jetty.xml,etc/user-jetty-ssl.xml,etc/user-jetty-ssl-context.xml,,etc/user-jetty-http.xml,etc/user-jetty-https.xml&#13;&#10;-Dorg.eclipse.jetty.webapp.basetempdir=c:\temp\jetty&#13;&#10;-Djava.io.tmpdir=c:\temp\jetty&#13;&#10;-Djobengine.octopus.api.address=http://10.10.1.11/api/v1&#13;&#10;-Djobengine.octopus.api.user=mam&#13;&#10;-Djobengine.octopus.api.password=napocska&#13;&#10;-Djobengine.nosql.db.url=jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.nosql.db.user=db2admin&#13;&#10;-Djobengine.nosql.db.password=password&#13;&#10;-Djobengine.nosql.db.schema=test&#13;&#10;-Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl&#13;&#10;-Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC.zenium&#13;&#10;-Djobengine.jobscheduling.config=&quot;${workspace_loc}/-configuration/scheduledjobs.json&quot;&#13;&#10;-Dnexio.host=192.168.10.105&#13;&#10;-Djobengine.nexio.name=testnexioclips&#13;&#10;-Dnexio.disable=false&#13;&#10;-Djobengine.octopus.rundowns.name=rundowns&#13;&#10;-Djobengine.octopus.storyfolders.name=storyfolders&#13;&#10;-Djobengine.octopus.stories.name=stories&#13;&#10;-Dmediacube.auth.location=&quot;${workspace_loc}/-configuration/mediacube-auth.properties&quot;"/>\r
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory&#13;&#10;-Dorg.eclipse.epp.logging.aeri.skipReports=true &#13;&#10;-Declipse.ignoreApp=true &#13;&#10;-Dosgi.noShutdown=true&#13;&#10;-Djobengine.jobsteps.root=&quot;${workspace_loc}/user.jobengine.executors/config&quot;&#13;&#10;-Djobengine.jobtemplates.root=&quot;${workspace_loc}/user.jobengine.executors/jobtemplates&quot;&#13;&#10;-Djobengine.db.url=jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.db.user=db2admin&#13;&#10;-Djobengine.db.password=password&#13;&#10;-Djobengine.loglevel=INFO&#13;&#10;-Dlog4j.configurationFile=&quot;${workspace_loc}/-configuration/log4j2.xml&quot;&#13;&#10;-Djobengine.jobsteps.alternate.root=&quot;${workspace_loc}/user.jobengine.executors/bin/&quot;&#13;&#10;-Djetty.home=&quot;${workspace_loc:}/-configuration/jetty&quot;&#13;&#10;-Djetty.etc.config.urls=etc/user-jetty.xml,etc/user-jetty-ssl.xml,etc/user-jetty-ssl-context.xml,,etc/user-jetty-http.xml,etc/user-jetty-https.xml&#13;&#10;-Dorg.eclipse.jetty.webapp.basetempdir=c:\temp\jetty&#13;&#10;-Djava.io.tmpdir=c:\temp\jetty&#13;&#10;-Djobengine.octopus.api.address=http://10.10.1.11/api/v1&#13;&#10;-Djobengine.octopus.api.user=mam&#13;&#10;-Djobengine.octopus.api.password=napocska&#13;&#10;-Djobengine.nosql.db.url=jdbc:db2://10.10.1.27:50000/mc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.nosql.db.user=db2admin&#13;&#10;-Djobengine.nosql.db.password=password&#13;&#10;-Djobengine.nosql.db.schema=test&#13;&#10;-Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl&#13;&#10;-Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC.zenium&#13;&#10;-Djobengine.jobscheduling.config=&quot;${workspace_loc}/-configuration/scheduledjobs.json&quot;&#13;&#10;-Dnexio.host=192.168.10.105&#13;&#10;-Djobengine.nexio.name=testnexioclips&#13;&#10;-Dnexio.disable=true&#13;&#10;-Djobengine.octopus.rundowns.name=rundowns&#13;&#10;-Djobengine.octopus.storyfolders.name=storyfolders&#13;&#10;-Djobengine.octopus.stories.name=stories&#13;&#10;-Dmediacube.auth.location=&quot;${workspace_loc}/-configuration/mediacube-auth.properties&quot;"/>\r
 <stringAttribute key="pde.version" value="3.3"/>\r
 <booleanAttribute key="show_selected_only" value="false"/>\r
 <stringAttribute key="target_bundles" value="cglib@default:default,com.auth0.java-jwt@default:default,com.fasterxml.jackson.core.jackson-annotations@default:default,com.fasterxml.jackson.core.jackson-core@default:default,com.fasterxml.jackson.core.jackson-databind@default:default,com.fasterxml.jackson.datatype.jackson-datatype-joda@default:default,com.fasterxml.jackson.jaxrs.jackson-jaxrs-base@default:default,com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider@default:default,com.fasterxml.jackson.module.jackson-module-jaxb-annotations@default:default,com.google.guava@default:default,com.ibm.db2jcc4@default:default,com.ibm.nosql@default:default,com.microsoft.sqlserver.sqljdbc@default:default,com.sun.el.javax.el@default:default,commons-logging@default:default,humble.video.noarch@default:default,humble.video.windows@default:default,javax.annotation-api@default:default,javax.inject@default:default,javax.mail@default:default,javax.servlet-api@default:default,javax.servlet.jsp-api@default:default,javax.validation.api@default:default,javax.ws.rs-api@default:default,jcifs@default:default,joda-time@default:default,org.apache.aries.spifly.dynamic.bundle@default:default,org.apache.aries.util@default:default,org.apache.commons.beanutils@default:default,org.apache.commons.codec@default:default,org.apache.commons.collections@default:default,org.apache.commons.digester@default:default,org.apache.commons.io@default:default,org.apache.commons.lang3@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging@default:default,org.apache.commons.net@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.apache.jasper.glassfish@default:default,org.apache.logging.log4j.api@1:true,org.apache.logging.log4j.core@default:default,org.apache.logging.log4j.slf4j-impl@default:default,org.apache.servicemix.bundles.quartz@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.util@default:default,org.eclipse.jetty.client@default:default,org.eclipse.jetty.deploy@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.jsp@default:default,org.eclipse.jetty.osgi.boot.jsp@default:false,org.eclipse.jetty.osgi.boot@default:true,org.eclipse.jetty.schemas@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.jetty.webapp@default:default,org.eclipse.jetty.websocket.api@default:default,org.eclipse.jetty.websocket.client@default:default,org.eclipse.jetty.websocket.common@default:default,org.eclipse.jetty.websocket.server@default:default,org.eclipse.jetty.websocket.servlet@default:default,org.eclipse.jetty.xml@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.jboss.resteasy.client@default:default,org.jboss.resteasy.jaxrs@default:default,org.jmock.junit4@default:default,org.jmock@default:default,org.junit@default:default,org.objectweb.asm.commons@default:default,org.objectweb.asm.tree@default:default,org.objectweb.asm@default:default,slf4j.api@default:default,slf4j.simple@default:false"/>\r
index 93b4da48e45ce1d1e7aae321f52234010ae34241..f35936de7911ee9049ecb4e6861de8e85666e0ad 100644 (file)
@@ -7,7 +7,7 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import user.commons.EntityBase;
 
 @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "$type")
-@JsonSubTypes({ @Type(WorkflowAction.class), @Type(MasterId.class) })
+@JsonSubTypes({ @Type(WorkflowAction.class), @Type(MasterId.class), @Type(Media.class) })
 public class JSONBase extends EntityBase {
 
 }
\ No newline at end of file
similarity index 70%
rename from server/user.jobengine.osgi.services/src/user/jobengine/osgi/rest/jobengine/JobengineService.java
rename to server/user.jobengine.osgi.services/src/user/jobengine/osgi/mediacube/MediaCubeService.java
index b7053bff95c4457d93f6a036155dcf31d7f02acb..a5b0ce8ade43de4c96090127c41925e0b04bde86 100644 (file)
@@ -1,4 +1,8 @@
-package user.jobengine.osgi.rest.jobengine;\r
+package user.jobengine.osgi.mediacube;\r
+\r
+import java.sql.ResultSetMetaData;\r
+import java.util.ArrayList;\r
+import java.util.List;\r
 \r
 import javax.ws.rs.Consumes;\r
 import javax.ws.rs.GET;\r
@@ -13,8 +17,12 @@ import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;\r
 import org.eclipse.core.runtime.adaptor.EclipseStarter;\r
 \r
+import com.ibm.nosql.json.api.BasicDBObject;\r
+\r
 import user.commons.MediaCubeMarker;\r
 import user.jobengine.db.IItemManager;\r
+import user.jobengine.db.IResultSetConsumer;\r
+import user.jobengine.db.IStatementDecorator;\r
 import user.jobengine.db.Item;\r
 import user.jobengine.db.JSONBase;\r
 import user.jobengine.osgi.rest.ComponentBinder;\r
@@ -22,12 +30,12 @@ import user.jobengine.server.IJobEngine;
 \r
 @Path("/jobengine")\r
 @SuppressWarnings("restriction")\r
-public class JobengineService {\r
+public class MediaCubeService {\r
 \r
        private static final Logger logger = LogManager.getLogger();\r
        private IItemManager itemManager = ComponentBinder.getItemManager();\r
 \r
-       public JobengineService() {\r
+       public MediaCubeService() {\r
                //logger.info("Created");\r
        }\r
 \r
@@ -79,6 +87,38 @@ public class JobengineService {
                return result;\r
        }\r
 \r
+       @GET\r
+       @Path("/media")\r
+       @Consumes({ MediaType.APPLICATION_JSON })\r
+       @Produces({ MediaType.APPLICATION_JSON })\r
+       public Response getMedia(@QueryParam("mediaHouseId") String mediaHouseId) {\r
+               Response result = null;\r
+               try {\r
+                       if (itemManager == null)\r
+                               throw new Exception("No ItemManager found");\r
+\r
+                       List<BasicDBObject> items = new ArrayList<>();\r
+                       String sql = "select * from VW_ITEMS where mediafilehouseid = ? order by mediafilehouseid";\r
+                       IStatementDecorator decorator = ps -> {\r
+                               ps.setString(1, mediaHouseId);\r
+                       };\r
+                       IResultSetConsumer consumer = rs -> {\r
+                               ResultSetMetaData metaData = rs.getMetaData();\r
+                               BasicDBObject o = new BasicDBObject();\r
+                               for (int i = 1; i <= metaData.getColumnCount(); i++) {\r
+                                       o.put(metaData.getColumnName(i), rs.getObject(i));\r
+                               }\r
+                               items.add(o);\r
+                               return true;\r
+                       };\r
+                       itemManager.executeQuery(sql, consumer, decorator);\r
+                       result = Response.ok(items).build();\r
+               } catch (Exception e) {\r
+                       result = Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(e.getMessage()).build();\r
+               }\r
+               return result;\r
+       }\r
+\r
        @GET\r
        @Path("/halt")\r
        public Response halt() {\r
index ab81c22f3afc11731bef622384f5386e36d3ca4d..66a40075a80c8c53a5214f600f42a2b290e7775a 100644 (file)
@@ -6,7 +6,7 @@ import java.util.Set;
 \r
 import javax.ws.rs.core.Application;\r
 \r
-import user.jobengine.osgi.rest.jobengine.JobengineService;\r
+import user.jobengine.osgi.mediacube.MediaCubeService;\r
 import user.jobengine.osgi.rest.octopus.OctopusRESTService;\r
 \r
 public class RESTApplications extends Application {\r
@@ -19,6 +19,6 @@ public class RESTApplications extends Application {
 \r
        @Override\r
        public Set<Class<?>> getClasses() {\r
-               return new HashSet<>(Arrays.asList(OctopusRESTService.class, JobengineService.class, JacksonJsonProvider.class, TextMessageBodyReaderWriter.class));\r
+               return new HashSet<>(Arrays.asList(OctopusRESTService.class, MediaCubeService.class, JacksonJsonProvider.class, TextMessageBodyReaderWriter.class));\r
        }\r
 }\r