git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Mon, 16 Oct 2017 16:05:47 +0000 (16:05 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Mon, 16 Oct 2017 16:05:47 +0000 (16:05 +0000)
server/-configuration/log4j2.xml
server/-configuration/run-mediacube-server-localhost.launch
server/user.jobengine.osgi.commons/src/user/commons/nexio/NexioClipEventDispatcher.java
server/user.jobengine.osgi.commons/src/user/commons/nexio/api/Clip.java
server/user.jobengine.osgi.commons/src/user/commons/nexio/api/ClipImpl.java

index b549b8196074984d23bbb0d083bfdb214c0e14d5..49bce29b1f2d0be9b43a77eb722bca69ecf7d145 100644 (file)
@@ -57,6 +57,6 @@
                <logger name="org.jboss.resteasy.specimpl" level="debug" />\r
                <logger name="org.jboss.resteasy.plugins.server" level="debug" />\r
                <logger name="org.jboss.resteasy.plugins.providers" level="debug" />\r
-               <logger name="user.commons.nexio" level="error" />\r
+               <logger name="user.commons.nexio" level="debug" />\r
        </Loggers>\r
 </Configuration>
\ No newline at end of file
index 1da64ac2c8c3c3bd9b2de630b4427afea822cafb..62c83bb5763c5a6a599c4ef7c8522f8914f7ae1d 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.equinox.http.jetty.http.port=8080&#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://localhost:50000/mc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.db.user=db2admin&#13;&#10;-Djobengine.db.password=salabakter&#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/user/jobengine/server/steps&quot;&#13;&#10;-Djobengine.transcoder.source=c:\_Movie\hires\&#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;-Djobengine.octopus.api.address=http://10.10.1.21/api/v1&#13;&#10;-Djobengine.octopus.api.user=mam&#13;&#10;-Djobengine.octopus.api.password=napocska&#13;&#10;-Djobengine.nosql.db.url=jdbc:db2://localhost:50000/mc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.nosql.db.user=db2admin&#13;&#10;-Djobengine.nosql.db.password=salabakter&#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_v4.zenium&#13;&#10;-Djobengine.jobscheduling.config=&quot;${workspace_loc}/-configuration/scheduledjobs.json&quot;&#13;&#10;-Dnexio.host=10.10.1.55"/>\r
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory&#13;&#10;-Dorg.eclipse.equinox.http.jetty.http.port=8080&#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://localhost:50000/mc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.db.user=db2admin&#13;&#10;-Djobengine.db.password=salabakter&#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/user/jobengine/server/steps&quot;&#13;&#10;-Djobengine.transcoder.source=c:\_Movie\hires\&#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;-Djobengine.octopus.api.address=http://10.10.1.21/api/v1&#13;&#10;-Djobengine.octopus.api.user=mam&#13;&#10;-Djobengine.octopus.api.password=napocska&#13;&#10;-Djobengine.nosql.db.url=jdbc:db2://localhost:50000/mc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.nosql.db.user=db2admin&#13;&#10;-Djobengine.nosql.db.password=salabakter&#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_v4.zenium&#13;&#10;-Djobengine.jobscheduling.config=&quot;${workspace_loc}/-configuration/scheduledjobs.json&quot;&#13;&#10;-Dnexio.host=10.10.1.56"/>\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,javassist@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.jdt.core.compiler.batch@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:true,org.jmock.junit4@default:default,org.jmock@default:default,org.junit@default:default,org.jvnet.mimepull@default:default,org.objectweb.asm.commons@default:default,org.objectweb.asm.tree@default:default,org.objectweb.asm@default:default,org.reflections@default:default,slf4j.api@default:default,slf4j.simple@default:false"/>\r
index 62d090f51b341039f584f53702b6a5279113b051..95065b8f3434f2ef3612469b14aa2922a654ce30 100644 (file)
@@ -36,20 +36,14 @@ import user.commons.remotestore.ProgressEvent;
  */\r
 \r
 public class NexioClipEventDispatcher implements ClipEventListener {\r
-\r
        private static final Logger logger = LogManager.getLogger();\r
 \r
        private static final String ID = "id";\r
        private static final String VIDEO_FORMAT = "videoformat";\r
        private static final String VIDEO_BITRATE = "videobitrate";\r
        private static final String FILESIZE = "filesize";\r
-\r
-       private static final String SQLSERVER_JDBC_SQL_SERVER_DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";\r
-       private static final String JOBENGINE_NEXIO_DB_PASSWORD = "jobengine.nexio.db.password";\r
-       private static final String JOBENGINE_NEXIO_DB_USER = "jobengine.nexio.db.user";\r
-       private static final String JOBENGINE_NEXIO_DB_URL = "jobengine.nexio.db.url";\r
+       private static final String KILLDATE = "killdate";\r
        private static final String DURATION = "duration";\r
-       private static final String START = "start";\r
        private static final String MODIFIEDTIMESTAMP = "modifiedtimestamp";\r
        private static final String EXTAGENCY = "extagency";\r
        private static final String RECORDDATE = "recorddate";\r
@@ -123,7 +117,6 @@ public class NexioClipEventDispatcher implements ClipEventListener {
                                }\r
                        });\r
                        importThread.start();\r
-                       \r
 \r
                } catch (Exception exc) {\r
                        logger.error("", exc);\r
@@ -141,19 +134,19 @@ public class NexioClipEventDispatcher implements ClipEventListener {
                        if (evt.getEventType() == ClipEventType.CLIP_ADDED) {\r
                                //                              if (isValidClip(evt.getClip())) {\r
                                BasicDBObject jsClip = convertClipToJSON(evt.getClip());\r
-                               \r
+\r
                                String fileName = jsClip.getString(LONGNAMEID);\r
-                               if(fileName != null && !"".equals(fileName)){\r
+                               if (fileName != null && !"".equals(fileName)) {\r
                                        logger.debug("clipEventPerformed clip: {} {}", evt.getClip().getId(), fileName);\r
                                        //cache???\r
-                                       \r
+\r
                                        HashMap<String, BasicDBObject> clipsForId = new HashMap<String, BasicDBObject>();\r
                                        Map<String, BasicDBObject> clipsForXID = loadClipsFromMongo(clipsForId);\r
-                                       saveClipIntoMongo(jsClip, clipsForXID, clipsForId);     \r
-                               }else{\r
+                                       saveClipIntoMongo(jsClip, clipsForXID, clipsForId);\r
+                               } else {\r
                                        logger.debug("clipEventPerformed clip: {}", evt.getClip() == null ? "null" : evt.getClip().getId());\r
                                }\r
-                               \r
+\r
                                //                              }\r
                        } else if (evt.getEventType() == ClipEventType.CLIP_DELETED) {\r
                                BasicDBObject jsClip = new BasicDBObject();\r
@@ -200,6 +193,13 @@ public class NexioClipEventDispatcher implements ClipEventListener {
                } catch (Exception e) {\r
                        //                      System.out.println(e);\r
                }\r
+\r
+               try {\r
+                       if ("2931346-3".equals(jsClip.getString(LONGNAMEID)))\r
+                               jsClip.put(KILLDATE, clip.getKillDate());\r
+               } catch (Exception e) {\r
+                       //                      System.out.println(e);\r
+               }\r
                try {\r
                        jsClip.put(MODIFIEDTIMESTAMP, clip.getModifiedTimestamp().getTime());\r
                } catch (Exception e) {\r
@@ -253,17 +253,17 @@ public class NexioClipEventDispatcher implements ClipEventListener {
                Iterator<Clip> clips = controller.getMediabase().getClips();\r
                while (clips.hasNext()) {\r
                        Clip clip = null;\r
-                       try{\r
+                       try {\r
                                clip = clips.next();\r
                                BasicDBObject jsonClip = convertClipToJSON(clip);\r
                                String fileName = jsonClip.getString(LONGNAMEID);\r
-                               if(fileName != null && !"".equals(fileName)){\r
-                                       logger.debug("Found NEXIO clip: {} {}", clip.getId(), fileName);        //clip.getXid() hibat dob\r
+                               if (fileName != null && !"".equals(fileName)) {\r
+                                       logger.debug("Found NEXIO clip: {} {}", clip.getId(), fileName); //clip.getXid() hibat dob\r
                                        this.saveClipIntoMongo(jsonClip, emptyMap, emptyMap);\r
-                               }else{\r
+                               } else {\r
                                        logger.debug("Found NEXIO clip: {} XID IS MISSING!!", clip.getId());\r
                                }\r
-                       }catch(Exception e){\r
+                       } catch (Exception e) {\r
                                logger.error("", e);\r
                        }\r
                }\r
@@ -335,9 +335,9 @@ public class NexioClipEventDispatcher implements ClipEventListener {
                if (find.hasNext()) {\r
                        List<BasicDBObject> clips = ListUtils.cast(find.toArray());\r
                        result = ListUtils.map(clips, item -> item.getString(LONGNAMEID));\r
-                       for (BasicDBObject clip : clips){\r
+                       for (BasicDBObject clip : clips) {\r
                                result.put(clip.getString(LONGNAMEID), clip);\r
-                               if(clipsForId != null){\r
+                               if (clipsForId != null) {\r
                                        clipsForId.put(clip.getString(ID), clip);\r
                                }\r
                        }\r
@@ -390,20 +390,20 @@ public class NexioClipEventDispatcher implements ClipEventListener {
        }\r
        */\r
 \r
-       private void saveClipIntoMongo(BasicDBObject clip, Map<String, BasicDBObject> clipsForXID,  Map<String, BasicDBObject> clipsForID) {\r
+       private void saveClipIntoMongo(BasicDBObject clip, Map<String, BasicDBObject> clipsForXID, Map<String, BasicDBObject> clipsForID) {\r
                DBCollection collection = db.getCollection(CLIP_COLLECTION_NAME);\r
                String xid = clip.getString(LONGNAMEID);\r
                String id = clip.getString(ID);\r
-               \r
+\r
                BasicDBObject clipForXID = clipsForXID.get(xid);\r
                BasicDBObject clipForID = clipsForID.get(id);\r
-               \r
-               //rename-nel a clipForXID null lesz de a clipForID nem ezert nem kell create \r
+\r
+               //rename-nel a clipForXID null lesz de a clipForID nem ezert nem kell create\r
                if (clipForXID == null && clipForID == null) {\r
                        collection.save(clip);\r
                        onCreate(clip);\r
                } else {\r
-                       if(clipForID != null){\r
+                       if (clipForID != null) {\r
                                clip.put("_id", clipForID.get("_id"));\r
                                if (!clip.equals(clipForID)) {\r
                                        collection.save(clip);\r
index 58cd56db50d734576dd9c3ca9adb5aaffd8076a3..114fb300c5fced44135b5d1ae0f4fb4e6720e3b5 100644 (file)
@@ -16,6 +16,8 @@ public interface Clip {
 
        public Id getId();
 
+       public Calendar getKillDate() throws ClipNotFoundException, IOException, ProtocolException;
+
        public Calendar getModifiedTimestamp() throws ClipNotFoundException, IOException, ProtocolException;
 
        Calendar getRecordDateTimestamp() throws ClipNotFoundException, IOException, ProtocolException;
index 1a92f3e20f09c0f894c290debd9e4eba1d040ddb..a722d73e4eed4ce389dd13533e82799320377212 100644 (file)
@@ -84,6 +84,19 @@ class ClipImpl implements Clip {
                return id;
        }
 
+       @Override
+       public Calendar getKillDate() throws ClipNotFoundException, IOException, ProtocolException {
+               if (metadata == null) {
+                       metadata = protocol.executeGetIDMetadata(id);
+                       checkClipExists(metadata);
+               }
+               byte[] filetime = { metadata[42], metadata[43] };
+
+               Calendar result = Calendar.getInstance();
+
+               return null;
+       }
+
        @Override
        public Calendar getModifiedTimestamp() throws ClipNotFoundException, IOException, ProtocolException {
                if (timestamp == null) {