git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Wed, 29 Nov 2017 21:33:08 +0000 (21:33 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Wed, 29 Nov 2017 21:33:08 +0000 (21:33 +0000)
client/MaestroShared/Targets/FTPTargetProcessor.cs
client/MaestroShared/Targets/UNCTargetProcessor.cs
server/-configuration/mediacube-dev-bsh.properties [moved from server/-configuration/mediacube-dev.properties with 100% similarity]
server/user.jobengine.osgi.commons/src/user/commons/nexio/NexioClipEventDispatcher.java
server/user.jobengine.osgi.commons/src/user/commons/octopus/IOctopusAPI.java
server/user.jobengine.osgi.commons/src/user/commons/octopus/OctopusDataMiner.java
server/user.jobengine.osgi.commons/test/user/common/octopus/test/OctopusDataMinerTest.java

index c193ef7f550558c128a44684bcce7919e1270489..d4ba5da2b7b429285cb47e6744eca00128a55445 100644 (file)
@@ -58,6 +58,18 @@ namespace MaestroShared.Targets {
             targetFTP.DeleteFile(currentFile);\r
         }\r
 \r
+        private void CopyStream(Stream istream, long ilength, Stream ostream) {\r
+            byte[] buffer = new byte[32768];\r
+            int read = 0;\r
+            long overall = 0;\r
+            while ((read = istream.Read(buffer, 0, buffer.Length)) > 0) {\r
+                ostream.Write(buffer, 0, read);\r
+                ostream.Flush();\r
+                overall += read;\r
+                Progress = (int)((double)overall / ilength * 100);\r
+            }\r
+        }\r
+\r
         protected override void UploadFile() {\r
             using (FileStream istream = File.OpenRead(Input)) {\r
                 using (Stream ostream = targetFTP.OpenWrite(OutputName)) {\r
index e6d1b1549a2606ee81e87ab75d187b6c95d82539..3b54649548aff71774fc076555b95a3f10064cfa 100644 (file)
@@ -331,17 +331,6 @@ namespace MaestroShared.Targets {
             UploadContent(ouputPath, content);\r
         }\r
 \r
-        protected void CopyStream(Stream istream, long ilength, Stream ostream) {\r
-            byte[] buffer = new byte[32768];\r
-            int read, overall = 0;\r
-            while ((read = istream.Read(buffer, 0, buffer.Length)) > 0) {\r
-                ostream.Write(buffer, 0, read);\r
-                ostream.Flush();\r
-                overall += read;\r
-                Progress = (int)((double)overall / ilength * 100);\r
-            }\r
-        }\r
-\r
         protected virtual void UploadContent(string outputPath, byte[] content) {\r
             File.WriteAllBytes(outputPath, content);\r
         }\r
@@ -361,19 +350,6 @@ namespace MaestroShared.Targets {
             return "/".Equals(workingDir) ? fileName : Path.Combine(path, fileName);\r
         }\r
 \r
-        public static String RemoveDiacritics(String s) {\r
-            String normalizedString = s.Normalize(NormalizationForm.FormD);\r
-            StringBuilder stringBuilder = new StringBuilder();\r
-\r
-            for (int i = 0; i < normalizedString.Length; i++) {\r
-                Char c = normalizedString[i];\r
-                if (CharUnicodeInfo.GetUnicodeCategory(c) != UnicodeCategory.NonSpacingMark)\r
-                    stringBuilder.Append(c);\r
-            }\r
-\r
-            return stringBuilder.ToString();\r
-        }\r
-\r
         protected string GetDynamicText(string pattern) {\r
             return PatternNameMaker.Get(pattern, ID, InputName, Parameters.MetadataText);\r
         }\r
index a0a11137edcff99c5a995d2441ae3ebd429e51cb..23359c047e52e09fecb2eee699ad999895581f25 100644 (file)
@@ -117,7 +117,7 @@ public class NexioClipEventDispatcher implements ClipEventListener {
                        this.controller = new Controller(NEXIO_HOST);\r
                        this.controller.connect();\r
                        //this.controller.getMediabase().getMediaListener().addClipEventListener(this);\r
-                       logger.info("NexioClipEventDispatcher nexio server is connected.");\r
+                       logger.info("NEXIO server is connected.");\r
 \r
                        this.progressListenerList = new EventListenerList();\r
 \r
@@ -338,14 +338,14 @@ public class NexioClipEventDispatcher implements ClipEventListener {
                }\r
 \r
                /*\r
-\r
+               \r
                                int c = connection.read(buffer, 0, 2);\r
                                //2 bytes hosszan az idokozben hozzaadott id-k szamossaga\r
                                if (c < 2) {\r
                                        throw new ProtocolException("c, 2, 2");\r
                                }\r
                                //MSB, LSB\r
-\r
+               \r
                                return nofIds;\r
                        */\r
                return ret;\r
index 3266b69ce6f2f8c782c017b306b56002f9b5abe6..69d3e8d4afbfde6487f8d62835cededcc355fad0 100644 (file)
@@ -6,9 +6,9 @@ import java.util.List;
 import com.ibm.nosql.json.api.DBObject;\r
 \r
 public interface IOctopusAPI {\r
-       static final String RUNDOWN_COLLECTION_NAME = "rundowns";\r
-       static final String STORY_COLLECTION_NAME = "stories";\r
-       static final String STORY_FOLDER_COLLECTION_NAME = "story_folders";\r
+       static final String RUNDOWN_COLLECTION = "rundowns";\r
+       static final String STORY_COLLECTION = "stories";\r
+       static final String FOLDER_COLLECTION = "story_folders";\r
        static final String TIME_COLLECTION_NAME = "time";\r
        static final String LASTUPDATE_TIME = "lastUpdateTime";\r
        static final String NEXIO_MOS = "NEXIO.MOS";\r
index d5df0df1be739f22089be947e5cd1d5abb101903..5f427ad4940a6be270f38ca48f31250d4e6c9904 100644 (file)
@@ -34,6 +34,7 @@ import user.commons.remotestore.IProgressEventListener;
 import user.commons.remotestore.ProgressEvent;\r
 \r
 public class OctopusDataMiner implements Runnable {\r
+       private static final String _TMP = "_tmp";\r
        private static final Logger logger = LogManager.getLogger();\r
        private static final String LINEFEED = "\r\n";\r
        private static final String SIMPLE_LINEFEED = "\n";\r
@@ -70,6 +71,9 @@ public class OctopusDataMiner implements Runnable {
        private Map<Long, BasicDBList> storedStoryRundowns;\r
        private Map<Long, BasicDBList> storedStoryStoryFolders;\r
        private Map<Long, BasicDBList> storedStoryMosObjects;\r
+       private String RUNDOWN_COLLECTION = IOctopusAPI.RUNDOWN_COLLECTION;\r
+       private String FOLDER_COLLECTION = IOctopusAPI.FOLDER_COLLECTION;\r
+       private String STORY_COLLECTION = IOctopusAPI.STORY_COLLECTION;\r
 \r
        public OctopusDataMiner() {\r
                String jdbcUrl = System.getProperty("jobengine.nosql.db.url");\r
@@ -121,7 +125,7 @@ public class OctopusDataMiner implements Runnable {
        }\r
 \r
        private void buildStoriesReferences() {\r
-               DBCollection collection = db.getCollection(IOctopusAPI.STORY_COLLECTION_NAME);\r
+               DBCollection collection = db.getCollection(STORY_COLLECTION);\r
                DBCursor cursor = collection.find(null, new BasicDBObject(IOctopusAPI.ID, 1).append(IOctopusAPI.REF_RUNDOWN, 1).append(IOctopusAPI.REF_STORYFOLDER, 1)\r
                                .append(IOctopusAPI.MOS_OBJECTS, 1));\r
                //DBCursor find = collection.find(QueryBuilder.start(ID).greaterThan(0).get());\r
@@ -158,7 +162,7 @@ public class OctopusDataMiner implements Runnable {
                }\r
        }\r
 \r
-       private Map<Long, BasicDBList> buildStoryFolderReferences(BasicDBList storyFolders) {\r
+       private Map<Long, BasicDBList> buildFolderReferences(BasicDBList storyFolders) {\r
                Map<Long, BasicDBList> result = new HashMap<>();\r
                List<BasicDBObject> storyFolderList = NoSQLUtils.asList(storyFolders);\r
                for (BasicDBObject storyFolder : storyFolderList) {\r
@@ -181,9 +185,9 @@ public class OctopusDataMiner implements Runnable {
        }\r
 \r
        public void clear() {\r
-               db.getCollection(IOctopusAPI.RUNDOWN_COLLECTION_NAME).remove();\r
-               db.getCollection(IOctopusAPI.STORY_COLLECTION_NAME).remove();\r
-               db.getCollection(IOctopusAPI.STORY_FOLDER_COLLECTION_NAME).remove();\r
+               db.getCollection(RUNDOWN_COLLECTION).remove();\r
+               db.getCollection(STORY_COLLECTION).remove();\r
+               db.getCollection(FOLDER_COLLECTION).remove();\r
                db.getCollection(IOctopusAPI.TIME_COLLECTION_NAME).remove();\r
        }\r
 \r
@@ -205,7 +209,7 @@ public class OctopusDataMiner implements Runnable {
 \r
        private void deleteOrphanStories() {\r
                try {\r
-                       DBCollection collection = db.getCollection(IOctopusAPI.STORY_COLLECTION_NAME);\r
+                       DBCollection collection = db.getCollection(STORY_COLLECTION);\r
                        BasicDBObject query = (BasicDBObject) QueryBuilder.start().put("id").notIn(storyIDs.toArray()).get();\r
                        WriteResult res = collection.remove(query);\r
                        logger.trace(String.format("Deleted orphan stories: %d", res.getN()));\r
@@ -215,19 +219,116 @@ public class OctopusDataMiner implements Runnable {
        }\r
 \r
        private void ensureIndexes() {\r
-               DBCollection collection = db.getCollection(IOctopusAPI.STORY_FOLDER_COLLECTION_NAME);\r
+               DBCollection collection = db.getCollection(FOLDER_COLLECTION);\r
                if (collection.count() == 0)\r
                        collection.ensureIndex(IOctopusAPI.ID);\r
-               collection = db.getCollection(IOctopusAPI.RUNDOWN_COLLECTION_NAME);\r
+               collection = db.getCollection(RUNDOWN_COLLECTION);\r
                if (collection.count() == 0) {\r
                        collection.ensureIndex(IOctopusAPI.ID);\r
                        collection.ensureIndex(IOctopusAPI.SCHEDULED_START);\r
                }\r
-               collection = db.getCollection(IOctopusAPI.STORY_COLLECTION_NAME);\r
+               collection = db.getCollection(STORY_COLLECTION);\r
                if (collection.count() == 0)\r
                        collection.ensureIndex(IOctopusAPI.ID);\r
        }\r
 \r
+       public void execute() {\r
+               logger.trace(STARTING);\r
+               try {\r
+                       RUNDOWN_COLLECTION = IOctopusAPI.RUNDOWN_COLLECTION + _TMP;\r
+                       FOLDER_COLLECTION = IOctopusAPI.FOLDER_COLLECTION + _TMP;\r
+                       STORY_COLLECTION = IOctopusAPI.STORY_COLLECTION + _TMP;\r
+\r
+                       logger.info("Fetch rundowns");\r
+                       BasicDBList rundowns = queryRundowns();\r
+                       logger.info("Fetch rundown story references");\r
+                       storyRundowns = buildRundownReferences(rundowns);\r
+                       logger.info("Fetch story folders");\r
+                       BasicDBList storyFolders = queryStoryFolders();\r
+                       logger.info("Fetch folder story references");\r
+                       storyStoryFolders = buildFolderReferences(storyFolders);\r
+\r
+                       if (rundowns == null || rundowns.size() == 0) {\r
+                               progressEvent.setProgress(50);\r
+                               fireProgressEvent(progressEvent);\r
+                       } else {\r
+                               logger.info("Process rundowns");\r
+                               storeRundowns(rundowns, null);\r
+                       }\r
+\r
+                       if (storyFolders == null || storyFolders.size() == 0) {\r
+                               progressEvent.setProgress(100);\r
+                               fireProgressEvent(progressEvent);\r
+                       } else {\r
+                               logger.info("Process story folders");\r
+                               storeStoryFolders(storyFolders, null);\r
+                       }\r
+                       setLastUpdateTime(new Date());\r
+                       logger.info("Activate");\r
+                       db.getCollection(RUNDOWN_COLLECTION).rename(IOctopusAPI.RUNDOWN_COLLECTION, true);\r
+                       db.getCollection(FOLDER_COLLECTION).rename(IOctopusAPI.FOLDER_COLLECTION, true);\r
+                       db.getCollection(STORY_COLLECTION).rename(IOctopusAPI.STORY_COLLECTION, true);\r
+\r
+               } catch (Exception e) {\r
+                       logger.catching(e);\r
+                       throw e;\r
+               }\r
+               logger.trace(FINISHED);\r
+\r
+       }\r
+\r
+       private BasicDBList extractRelevantMOSObjects(BasicDBObject story) {\r
+               List<BasicDBObject> mosObjects = NoSQLUtils.asList(story, IOctopusAPI.MOS_OBJECTS);\r
+               if (mosObjects == null)\r
+                       return null;\r
+               BasicDBList result = null;\r
+               for (BasicDBObject mosObject : mosObjects) {\r
+                       if (!mosObject.containsKey(IOctopusAPI.MOS_ID))\r
+                               continue;\r
+                       String mosId = mosObject.getString(IOctopusAPI.MOS_ID);\r
+                       if (!IOctopusAPI.NEXIO_MOS.equals(mosId))\r
+                               continue;\r
+                       if (result == null)\r
+                               result = new BasicDBList();\r
+                       result.add(mosObject);\r
+               }\r
+               return result;\r
+       }\r
+\r
+       //      private boolean isModified(Date date, BasicDBObject object, String name) {\r
+       //              Date actualModifiedString = toDate(object, name);\r
+       //              if (actualModifiedString == null)\r
+       //                      logger.trace(ACTUAL_MODIFIED_STRING_IS_NULL);\r
+       //              int result = date.compareTo(actualModifiedString);\r
+       //              return result <= 0;\r
+       //      }\r
+\r
+       private String extractScriptContent(BasicDBObject story) {\r
+               BasicDBObject script = NoSQLUtils.asDBObject(story, IOctopusAPI.SCRIPT);\r
+               if (script == null || script.isEmpty())\r
+                       return null;\r
+\r
+               List<BasicDBObject> body = NoSQLUtils.asList(script, IOctopusAPI.BODY);\r
+               if (body == null || body.size() == 0)\r
+                       return null;\r
+\r
+               StringBuilder sb = new StringBuilder();\r
+\r
+               for (BasicDBObject bodyItem : body) {\r
+                       if (bodyItem.containsKey(IOctopusAPI.LABEL)) {\r
+                               sb.append(bodyItem.getString(IOctopusAPI.LABEL));\r
+                               sb.append(LINEFEED);\r
+                       }\r
+                       List<BasicDBObject> contents = NoSQLUtils.asList(bodyItem, IOctopusAPI.CONTENT);\r
+                       if (contents == null)\r
+                               continue;\r
+                       for (BasicDBObject content : contents) {\r
+                               sb.append(extractContent(content));\r
+                       }\r
+               }\r
+               return sb.length() == 0 ? null : sb.toString();\r
+       }\r
+\r
        private void fireProgressEvent(ProgressEvent evt) {\r
                logger.debug("Progress changed to " + evt.getProgress() + "%");\r
                if (progressListenerList == null)\r
@@ -239,7 +340,7 @@ public class OctopusDataMiner implements Runnable {
                }\r
        }\r
 \r
-       private String GetContent(BasicDBObject content) {\r
+       private String extractContent(BasicDBObject content) {\r
                String scriptContent = "";\r
                if (!content.containsKey(IOctopusAPI.TYPE))\r
                        return scriptContent;\r
@@ -269,7 +370,7 @@ public class OctopusDataMiner implements Runnable {
                                if (innerContents != null) {\r
                                        for (BasicDBObject actualInnerContent : innerContents) {\r
                                                if (actualInnerContent != null && actualInnerContent.isEmpty())\r
-                                                       scriptContent += GetContent(actualInnerContent);\r
+                                                       scriptContent += extractContent(actualInnerContent);\r
                                        }\r
                                }\r
                        }\r
@@ -279,15 +380,7 @@ public class OctopusDataMiner implements Runnable {
                return scriptContent;\r
        }\r
 \r
-       //      private boolean isModified(Date date, BasicDBObject object, String name) {\r
-       //              Date actualModifiedString = toDate(object, name);\r
-       //              if (actualModifiedString == null)\r
-       //                      logger.trace(ACTUAL_MODIFIED_STRING_IS_NULL);\r
-       //              int result = date.compareTo(actualModifiedString);\r
-       //              return result <= 0;\r
-       //      }\r
-\r
-       private String GetCustomColumnValue(String columnName, BasicDBObject story) {\r
+       private String extractCustomColumnValue(String columnName, BasicDBObject story) {\r
                List<BasicDBObject> customColumns = NoSQLUtils.asList(story, IOctopusAPI.CUSTOM_COLUMNS);\r
                if (customColumns == null)\r
                        return null;\r
@@ -317,50 +410,6 @@ public class OctopusDataMiner implements Runnable {
                return result;\r
        }\r
 \r
-       private BasicDBList GetRelevantMOSObjects(BasicDBObject story) {\r
-               List<BasicDBObject> mosObjects = NoSQLUtils.asList(story, IOctopusAPI.MOS_OBJECTS);\r
-               if (mosObjects == null)\r
-                       return null;\r
-               BasicDBList result = null;\r
-               for (BasicDBObject mosObject : mosObjects) {\r
-                       if (!mosObject.containsKey(IOctopusAPI.MOS_ID))\r
-                               continue;\r
-                       String mosId = mosObject.getString(IOctopusAPI.MOS_ID);\r
-                       if (!IOctopusAPI.NEXIO_MOS.equals(mosId))\r
-                               continue;\r
-                       if (result == null)\r
-                               result = new BasicDBList();\r
-                       result.add(mosObject);\r
-               }\r
-               return result;\r
-       }\r
-\r
-       private String GetScriptContent(BasicDBObject story) {\r
-               BasicDBObject script = NoSQLUtils.asDBObject(story, IOctopusAPI.SCRIPT);\r
-               if (script == null || script.isEmpty())\r
-                       return null;\r
-\r
-               List<BasicDBObject> body = NoSQLUtils.asList(script, IOctopusAPI.BODY);\r
-               if (body == null || body.size() == 0)\r
-                       return null;\r
-\r
-               StringBuilder sb = new StringBuilder();\r
-\r
-               for (BasicDBObject bodyItem : body) {\r
-                       if (bodyItem.containsKey(IOctopusAPI.LABEL)) {\r
-                               sb.append(bodyItem.getString(IOctopusAPI.LABEL));\r
-                               sb.append(LINEFEED);\r
-                       }\r
-                       List<BasicDBObject> contents = NoSQLUtils.asList(bodyItem, IOctopusAPI.CONTENT);\r
-                       if (contents == null)\r
-                               continue;\r
-                       for (BasicDBObject content : contents) {\r
-                               sb.append(GetContent(content));\r
-                       }\r
-               }\r
-               return sb.length() == 0 ? null : sb.toString();\r
-       }\r
-\r
        private boolean isModified(Date date, BasicDBObject object) {\r
                if (date == null)\r
                        return true;\r
@@ -451,7 +500,7 @@ public class OctopusDataMiner implements Runnable {
                        BasicDBList rundowns = queryRundowns();\r
                        storyRundowns = buildRundownReferences(rundowns);\r
                        BasicDBList storyFolders = queryStoryFolders();\r
-                       storyStoryFolders = buildStoryFolderReferences(storyFolders);\r
+                       storyStoryFolders = buildFolderReferences(storyFolders);\r
 \r
                        if (rundowns == null || rundowns.size() == 0) {\r
                                progressEvent.setProgress(50);\r
@@ -477,10 +526,6 @@ public class OctopusDataMiner implements Runnable {
 \r
        public void run(boolean forceFull) {\r
                if (forceFull) {\r
-                       //                      RUNDOWN_COLLECTION_NAME = "rundowns_tmp";\r
-                       //                      STORY_COLLECTION_NAME = "stories_tmp";\r
-                       //                      STORY_FOLDER_COLLECTION_NAME = "storyfolders_tmp";\r
-                       //                      TIME_COLLECTION_NAME = "octopusSyncTime_tmp";\r
                        clear();\r
                }\r
                run();\r
@@ -520,7 +565,7 @@ public class OctopusDataMiner implements Runnable {
                        storeRundownStories(stories, lastUpdateTime);\r
                rundown.put(IOctopusAPI.SCHEDULED_START, toDate(rundown, IOctopusAPI.SCHEDULED_START));\r
                rundown.put(IOctopusAPI.MODIFIED, toDate(rundown, IOctopusAPI.MODIFIED));\r
-               DBCollection collection = db.getCollection(IOctopusAPI.RUNDOWN_COLLECTION_NAME);\r
+               DBCollection collection = db.getCollection(RUNDOWN_COLLECTION);\r
                if (lastUpdateTime == null || (lastUpdateTime != null && isModified(lastUpdateTime, rundown))) {\r
                        logger.debug(SAVING_RUNDOWN, rundownID, name);\r
                        collection.save(rundown);\r
@@ -565,35 +610,38 @@ public class OctopusDataMiner implements Runnable {
                storyIDs.add(storyID);\r
                story.put(IOctopusAPI.MODIFIED, toDate(story, IOctopusAPI.MODIFIED));\r
                BasicDBList rundownRef = storyRundowns.get(storyID);\r
-               rundownRef = (rundownRef == null) ? new BasicDBList() : rundownRef;\r
                BasicDBList storyFolderRef = storyStoryFolders.get(storyID);\r
-               storyFolderRef = (storyFolderRef == null) ? new BasicDBList() : storyFolderRef;\r
-               BasicDBList modifiedMOS = GetRelevantMOSObjects(story);\r
-               modifiedMOS = (modifiedMOS == null) ? new BasicDBList() : modifiedMOS;\r
-\r
-               boolean uptodate = true;\r
-               if (!isModified(lastUpdateTime, story)) {\r
-                       BasicDBList storedRundownRef = storedStoryRundowns.get(storyID);\r
-                       storedRundownRef = (storedRundownRef == null) ? new BasicDBList() : storedRundownRef;\r
-                       uptodate = storedRundownRef.equals(rundownRef);\r
-\r
-                       if (uptodate) {\r
-                               BasicDBList storedStoryFolderRef = storedStoryStoryFolders.get(storyID);\r
-                               storedStoryFolderRef = (storedStoryFolderRef == null) ? new BasicDBList() : storedStoryFolderRef;\r
-                               uptodate = storedStoryFolderRef.equals(storyFolderRef);\r
-                       }\r
+               BasicDBList modifiedMOS = extractRelevantMOSObjects(story);\r
 \r
-                       if (uptodate) {\r
-                               BasicDBList storedMOS = storedStoryMosObjects.get(storyID);\r
-                               storedMOS = (storedMOS == null) ? new BasicDBList() : storedMOS;\r
-                               uptodate = storedMOS.equals(modifiedMOS);\r
-                       }\r
+               if (lastUpdateTime != null) {\r
+                       rundownRef = (rundownRef == null) ? new BasicDBList() : rundownRef;\r
+                       storyFolderRef = (storyFolderRef == null) ? new BasicDBList() : storyFolderRef;\r
+                       modifiedMOS = (modifiedMOS == null) ? new BasicDBList() : modifiedMOS;\r
+\r
+                       boolean uptodate = true;\r
+                       if (!isModified(lastUpdateTime, story)) {\r
+                               BasicDBList storedRundownRef = storedStoryRundowns.get(storyID);\r
+                               storedRundownRef = (storedRundownRef == null) ? new BasicDBList() : storedRundownRef;\r
+                               uptodate = storedRundownRef.equals(rundownRef);\r
+\r
+                               if (uptodate) {\r
+                                       BasicDBList storedStoryFolderRef = storedStoryStoryFolders.get(storyID);\r
+                                       storedStoryFolderRef = (storedStoryFolderRef == null) ? new BasicDBList() : storedStoryFolderRef;\r
+                                       uptodate = storedStoryFolderRef.equals(storyFolderRef);\r
+                               }\r
+\r
+                               if (uptodate) {\r
+                                       BasicDBList storedMOS = storedStoryMosObjects.get(storyID);\r
+                                       storedMOS = (storedMOS == null) ? new BasicDBList() : storedMOS;\r
+                                       uptodate = storedMOS.equals(modifiedMOS);\r
+                               }\r
 \r
-                       if (uptodate)\r
-                               return;\r
+                               if (uptodate)\r
+                                       return;\r
+                       }\r
                }\r
 \r
-               DBCollection collection = db.getCollection(IOctopusAPI.STORY_COLLECTION_NAME);\r
+               DBCollection collection = db.getCollection(STORY_COLLECTION);\r
                if (lastUpdateTime != null) {\r
                        BasicDBObject orig = (BasicDBObject) collection.findOne(new BasicDBObject(IOctopusAPI.ID, storyID), new BasicDBObject(IOctopusAPI.ID, 1));\r
                        if (orig != null)\r
@@ -603,7 +651,7 @@ public class OctopusDataMiner implements Runnable {
                        story.put(IOctopusAPI.REF_RUNDOWN, rundownRef);\r
                if (storyFolderRef != null)\r
                        story.put(IOctopusAPI.REF_STORYFOLDER, storyFolderRef);\r
-               String scriptContent = GetScriptContent(story);\r
+               String scriptContent = extractScriptContent(story);\r
                story.put(SCRIPT_CONTENT, scriptContent);\r
                if (modifiedMOS == null || modifiedMOS.isEmpty()) {\r
                        if (story.containsKey(IOctopusAPI.MOS_OBJECTS))\r
@@ -611,7 +659,7 @@ public class OctopusDataMiner implements Runnable {
                } else\r
                        story.put(IOctopusAPI.MOS_OBJECTS, modifiedMOS);\r
 \r
-               String parentStoryId = GetCustomColumnValue(IOctopusAPI.PARENT_STORY_ID, story);\r
+               String parentStoryId = extractCustomColumnValue(IOctopusAPI.PARENT_STORY_ID, story);\r
                if (parentStoryId == null)\r
                        story.append(IOctopusAPI.PARENT_STORY_ID, storyID);\r
                else\r
@@ -630,7 +678,7 @@ public class OctopusDataMiner implements Runnable {
                if (stories != null)\r
                        storeStoryFolderStories(stories, lastUpdateTime);\r
                storyFolder.put(IOctopusAPI.MODIFIED, toDate(storyFolder, IOctopusAPI.MODIFIED));\r
-               DBCollection collection = db.getCollection(IOctopusAPI.STORY_FOLDER_COLLECTION_NAME);\r
+               DBCollection collection = db.getCollection(FOLDER_COLLECTION);\r
                if (lastUpdateTime == null || (lastUpdateTime != null && isModified(lastUpdateTime, storyFolder))) {\r
                        String name = storyFolder.getString(IOctopusAPI.NAME);\r
                        logger.debug("Storing story folder {}", name);\r
index 65657911401bbcf44a84b6c36d87e31c63ddf371..80e0bcc7267979fd81d2433e7cc77cb399cadeeb 100644 (file)
@@ -44,7 +44,7 @@ public class OctopusDataMinerTest {
 \r
                Properties properties = new Properties();\r
                URL srcLocation = MethodHandles.lookup().lookupClass().getProtectionDomain().getCodeSource().getLocation();\r
-               URL location = new URL(srcLocation, "../../-configuration/mediacube-dev.properties");\r
+               URL location = new URL(srcLocation, "../../-configuration/mediacube-dev-bsh.properties");\r
                //URL location = new URL(srcLocation, "../../-configuration/mediacube-dev-user.properties");\r
                properties.load(new FileInputStream(location.toURI().getPath().toString()));\r
                System.getProperties().putAll(properties);\r
@@ -97,6 +97,14 @@ public class OctopusDataMinerTest {
                }\r
        }\r
 \r
+       @Test\r
+       public void integrationExecute() {\r
+               // fixture\r
+               sut = new OctopusDataMiner();\r
+               // Exercise\r
+               sut.execute();\r
+       }\r
+\r
        @Test\r
        public void integrationTestClear() {\r
                // fixture\r