Server changes
authorelgekko <vasary@elgekko.net>
Mon, 7 Nov 2022 07:53:45 +0000 (08:53 +0100)
committerelgekko <vasary@elgekko.net>
Mon, 7 Nov 2022 07:53:45 +0000 (08:53 +0100)
109 files changed:
server/-product/production/LOCAL/settings/mediacube.yaml
server/-product/production/OMAR/configuration/etc/gosh_profile [deleted file]
server/-product/production/OMAR/jobs/executors.xml [deleted file]
server/-product/production/OMAR/jobs/schedules.json [deleted file]
server/-product/production/OMAR/jobs/steps/AnalyzeMediaFilesStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/ArchiveListBuilderStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/ArchiveMaterialSubmitStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/ArchiveRecursive.java [deleted file]
server/-product/production/OMAR/jobs/steps/BatchRetrieveForkStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/CalculateMD5Step.java [deleted file]
server/-product/production/OMAR/jobs/steps/CancelableStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/CleanupMountedLocationStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/CreateArchiveItemStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/CreateMissingLowresStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/DeleteFile.java [deleted file]
server/-product/production/OMAR/jobs/steps/DummyTestStep1.java [deleted file]
server/-product/production/OMAR/jobs/steps/DummyTestStep2.java [deleted file]
server/-product/production/OMAR/jobs/steps/DummyTestStep3.java [deleted file]
server/-product/production/OMAR/jobs/steps/FileCopyStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/GenerateJSONMetadataStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/HSMMigrateStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/IntegrationTestStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/MXFCutterStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/MediaToolStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/MetadataTransformStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/MetadataUpdater.java [deleted file]
server/-product/production/OMAR/jobs/steps/MoveJpegToIsilonStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/OutputPathAndNameSelectorStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/PrepareMediaRestoreStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/PrepareRemoteTranscodeStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/QueryMissingProxyMediaStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/RemoteJobStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/SafeDeleteRecursiveStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/SaveMediaProxy.java [deleted file]
server/-product/production/OMAR/jobs/steps/TSMBackupStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/TSMExtendedRetrieveStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/TSMRestoreStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/TSMSimpleRestoreStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/TestForkCancelableStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/TranscodeFFAStranStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/TransferStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/UpdateGhostMediaDataStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/ValidateProResStep.java [deleted file]
server/-product/production/OMAR/jobs/steps/shared/EscortFiles.java [deleted file]
server/-product/production/OMAR/jobs/steps/shared/ExternalCommand.java [deleted file]
server/-product/production/OMAR/jobs/steps/shared/ExternalCommandExecutor.java [deleted file]
server/-product/production/OMAR/jobs/steps/shared/ExternalProfile.java [deleted file]
server/-product/production/OMAR/jobs/steps/shared/ExternalProfilesConfig.java [deleted file]
server/-product/production/OMAR/jobs/steps/shared/FileSearchFilterOptions.java [deleted file]
server/-product/production/OMAR/jobs/steps/shared/IExternalCallback.java [deleted file]
server/-product/production/OMAR/jobs/steps/shared/ItemManagerExtensions.java [deleted file]
server/-product/production/OMAR/jobs/steps/shared/MediaCubeClient.java [deleted file]
server/-product/production/OMAR/jobs/steps/shared/MediaFileSearchFilterOptions.java [deleted file]
server/-product/production/OMAR/jobs/steps/shared/MetadataType.java [deleted file]
server/-product/production/OMAR/jobs/steps/shared/MetadataTypeDetector.java [deleted file]
server/-product/production/OMAR/jobs/steps/shared/TestLib.java [deleted file]
server/-product/production/OMAR/jobs/steps/shared/TestLib1.java [deleted file]
server/-product/production/OMAR/jobs/templates/archive-limited.xml [deleted file]
server/-product/production/OMAR/jobs/templates/archive-material.xml [deleted file]
server/-product/production/OMAR/jobs/templates/archive-ondemand.xml [deleted file]
server/-product/production/OMAR/jobs/templates/archive-recursive.xml [deleted file]
server/-product/production/OMAR/jobs/templates/batch-retrieve-ondemand.xml [deleted file]
server/-product/production/OMAR/jobs/templates/calculatemd5.xml [deleted file]
server/-product/production/OMAR/jobs/templates/cancelable.xml [deleted file]
server/-product/production/OMAR/jobs/templates/common-copy.xml [deleted file]
server/-product/production/OMAR/jobs/templates/create-lowres-ondemand.xml [deleted file]
server/-product/production/OMAR/jobs/templates/create-proxy-ffmpeg.xml [deleted file]
server/-product/production/OMAR/jobs/templates/delete-materials.xml [deleted file]
server/-product/production/OMAR/jobs/templates/dummy-test-job.xml [deleted file]
server/-product/production/OMAR/jobs/templates/integration-test.xml [deleted file]
server/-product/production/OMAR/jobs/templates/metadata-updater.xml [deleted file]
server/-product/production/OMAR/jobs/templates/migrate-hsm.xml [deleted file]
server/-product/production/OMAR/jobs/templates/move-jpeg-to-isilon.xml [deleted file]
server/-product/production/OMAR/jobs/templates/prores-archive.xml [deleted file]
server/-product/production/OMAR/jobs/templates/remote-transcode.xml [deleted file]
server/-product/production/OMAR/jobs/templates/retrieve-ondemand.xml [deleted file]
server/-product/production/OMAR/jobs/templates/retrieve.xml [deleted file]
server/-product/production/OMAR/jobs/templates/safe-delete-recursive.xml [deleted file]
server/-product/production/OMAR/jobs/templates/sync-subtitles.xml [deleted file]
server/-product/production/OMAR/jobs/templates/sys-recreate-lowres.xml [deleted file]
server/-product/production/OMAR/jobs/templates/test-fork-cancelable.xml [deleted file]
server/-product/production/OMAR/log/.gitignore [deleted file]
server/-product/production/OMAR/log/2022-05/.gitignore [deleted file]
server/-product/production/OMAR/log/2022-05/markered-mediacube-05-09-2022-1.log.gz [deleted file]
server/-product/production/OMAR/log/2022-05/mediacube-05-09-2022-1.log.gz [deleted file]
server/-product/production/OMAR/log/2022-05/mediacube-err-05-09-2022-1.log.gz [deleted file]
server/-product/production/OMAR/mediacube.bat [deleted file]
server/-product/production/OMAR/settings/application.yaml [deleted file]
server/-product/production/OMAR/settings/dsm.opt [deleted file]
server/-product/production/OMAR/settings/dsmopt.lock [deleted file]
server/-product/production/OMAR/settings/external-commands.yaml [deleted file]
server/-product/production/OMAR/settings/jetty.xml [deleted file]
server/-product/production/OMAR/settings/log4j2.xml [deleted file]
server/-product/production/OMAR/settings/maestro.yaml [deleted file]
server/-product/production/OMAR/settings/mediacube.yaml [deleted file]
server/hu.user.mediacube.executors.tests/.settings/org.eclipse.core.resources.prefs
server/hu.user.mediacube.executors.tests/src/hu/user/mediacube/executors/tests/SmallTests.java
server/user.jobengine.osgi.commons/src/user/commons/remotestore/TSMLister.java
server/user.jobengine.osgi.server/src/user/jobengine/server/JobEngineConfiguration.java
server/user.mediacube.gui/pages/jobs.zul
server/user.mediacube.gui/pages/menu.zul
server/user.mediacube.gui/resources/i3-label_hu.properties
server/user.mediacube.gui/src/user/jobengine/zk/model/AlternateRetrieveBatchSelectorModel.java
server/user.mediacube.gui/src/user/jobengine/zk/model/MediaCubeAuthentication.java
server/user.mediacube.gui/src/user/jobengine/zk/model/MediaCubeConfig.java
server/user.mediacube.gui/src/user/jobengine/zk/util/AdminAuthInitiator.java
server/user.mediacube.gui/src/user/jobengine/zk/util/LocalUserHandler.java
server/user.mediacube.gui/src/user/jobengine/zk/util/SessionUtil.java
server/user.mediacube.gui/src/user/jobengine/zk/util/UserPrincipal.java

index 347ca896d3f5618fc6c5c9a9bbd9b6d3c4246154..b86d5b7bbb590439fb6ec4fb8fc35e6c9245869c 100644 (file)
@@ -1,7 +1,12 @@
 jobQueuePollInterval: 1000\r
 disableHelp: true\r
 maestroDisabled: false\r
-alternateRetrieveSelector: false\r
+alternateRetrieveSelector: true\r
+targetRestoreFilters:\r
+- name: Alternate Low-res\r
+- name: Alternate Low-res1\r
+  allowedGroups:\r
+  - Pooler\r
 disableStatistics: true\r
 disableEditor: false\r
 topTypeFilters:\r
@@ -18,8 +23,8 @@ bottomTypeFilters:
 - name: Reklám nyers\r
 authentication:\r
   authEnabled: true\r
-  defaultUser: root\r
-  defaultPassword: password\r
+#  defaultUser: root\r
+#  defaultPassword: password\r
   adHost: intra.mediavivantis.hu\r
   adNonSecurePort: 3268\r
   adBaseDn: DC=intra,DC=mediavivantis,DC=hu\r
@@ -44,6 +49,12 @@ authentication:
   - user: root\r
     password: 5F4DCC3B5AA765D61D8327DEB882CF99\r
     email: vasary@elgekko.net\r
+  - user: library\r
+    password: 5F4DCC3B5AA765D61D8327DEB882CF99\r
+    email: library@net\r
+  - user: engineer\r
+    password: 5F4DCC3B5AA765D61D8327DEB882CF99\r
+    email: engineer@net\r
   localAdmins:\r
   - root\r
   - admin\r
@@ -51,3 +62,6 @@ authentication:
   - lebony\r
   localEditors:\r
   - editor\r
+  localPoolers:\r
+  - library\r
+  - engineer\r
diff --git a/server/-product/production/OMAR/configuration/etc/gosh_profile b/server/-product/production/OMAR/configuration/etc/gosh_profile
deleted file mode 100644 (file)
index 1c659f4..0000000
+++ /dev/null
@@ -1 +0,0 @@
-prompt=mc>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/executors.xml b/server/-product/production/OMAR/jobs/executors.xml
deleted file mode 100644 (file)
index 0fd7a2f..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!DOCTYPE xml>\r
-\r
-<executors>\r
-       <executor className="QueryMissingProxyMediaStep.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="PrepareRemoteTranscodeJobParametersStep.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="TransferStep.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="PrepareMediaRestoreStep.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="TranscodeFFMpegStep.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="RemoteJobStep.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="PathItemsCollectorStep.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="TestForkCancelableStep.java" maxConcurrent="3" isRemote="false" />\r
-       <executor className="ArchiveRecursive.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="ArchiveListBuilderStep.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="ArchiveMaterialSubmitStep.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="BatchRetrieveForkStep.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="CancelableStep.java" maxConcurrent="20" isRemote="false" />\r
-       <executor className="CalculateMD5Step.java" maxConcurrent="1" isRemote="false "/>\r
-       <executor className="CleanupMountedLocationStep.java" maxConcurrent="5" isRemote="false" />\r
-       <executor className="CreateArchiveItemStep.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="CreateMissingLowresStep.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="DummyTestStep1.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="DummyTestStep2.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="DummyTestStep3.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="FileCopyStep.java" maxConcurrent="20" isRemote="false" />\r
-       <executor className="HSMMigrateStep.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="MediaToolStep.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="MetadataTransformStep.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="MoveJpegToIsilonStep.java" maxConcurrent="1" isRemote="false"/>\r
-       <executor className="MXFCutterStep.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="OutputPathAndNameSelectorStep.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="TranscodeFFAStranStep.java" maxConcurrent="2" isRemote="false" />\r
-       <executor className="TSMBackupStep.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="TSMExtendedRetrieveStep.java" maxConcurrent="1"  isRemote="false" />\r
-       <executor className="TSMRestoreStep.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="TSMSimpleRestoreStep.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="UpdateGhostMediaDataStep.java" maxConcurrent="1" isRemote="false" />\r
-       \r
-       <executor className="ProResArchiveStep.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="AnalyzeMediaFilesStep.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="ValidateProResStep.java" maxConcurrent="1" isRemote="false" />\r
-       <executor className="GenerateJSONMetadataStep.java" maxConcurrent="1" isRemote="false" />\r
-</executors>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/schedules.json b/server/-product/production/OMAR/jobs/schedules.json
deleted file mode 100644 (file)
index a42bbeb..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-{
-"joblist":[
-  
-    {
-    "name":"n1",
-    "template":"cancelable.xml",
-    "active":true,
-    "executeimmediate":true,
-    "parameters":[{"name":"param","value":1000,"type":"java.lang.Integer"}]
-    },
-  
-    {
-    "name":"n2",
-    "template":"cancelable.xml",
-    "active":true,
-    "executeimmediate":true,
-    "parameters":[{"name":"param","value":1000,"type":"java.lang.Integer"}]
-    },
-  
-    {
-    "name":"Limitált archiválás",
-    "template":"archive-limited.xml",
-    "cronexpression":"0 */10 * * * ?",
-    "parameters":[
-      
-        {
-        "name":"sourcePath",
-        "value":"/opt/mediacube/ARCHIVE",
-        "type":"java.lang.String"
-        },
-      
-        {
-        "name":"globalSourcePath",
-        "value":"\\\\10.11.1.90\\data\\ARCHIVE",
-        "type":"java.lang.String"
-        },
-      
-        {
-        "name":"transcoderTargetPath",
-        "value":"/mnt/PROMISE/TRANSCODER/FFASTRANSCODER/Out",
-        "type":"java.lang.String"
-        },
-      
-        {
-        "name":"killDateDays",
-        "value":-1,
-        "type":"java.lang.Integer"
-        },
-      
-        {
-        "name":"limit",
-        "value":1000,
-        "type":"java.lang.Integer"
-        }
-      ]
-    },
-  
-    {
-    "name":"SYS: batch-retrieve-ondemand",
-    "template":"batch-retrieve-ondemand.xml"
-    },
-  
-    {
-    "template":"calculatemd5.xml",
-    "name":"MD5 kiszámítása",
-    "parameters":[
-      
-        {
-        "name":"fileName",
-        "value":"C:\\Users\\machine\\Downloads\\sample.mxf",
-        "type":"java.lang.String"
-        }
-      ]
-    },
-  
-    {
-    "template":"dummy-test-job.xml",
-    "name":"dummy test job",
-    "parameters":[{"name":"param1","value":"Jozsi","type":"java.lang.String"}],
-    "cronexpression":"0/3 * * * * ?"
-    },
-  
-    {
-    "template":"move-jpeg-to-isilon.xml",
-    "name":"JPEG másolása ISILON-ba",
-    "parameters":[
-      
-        {
-        "name":"sourceUri",
-        "value":"localhost",
-        "type":"java.lang.String"
-        },
-      
-        {
-        "name":"sourceProtocol",
-        "value":"LOCAL",
-        "type":"java.lang.String"
-        },
-      
-        {
-        "name":"sourceFolder",
-        "value":"c:\\data\\video",
-        "type":"java.lang.String"
-        },
-      
-        {
-        "name":"targetUri",
-        "value":"localhost",
-        "type":"java.lang.String"
-        },
-      
-        {
-        "name":"targetProtocol",
-        "value":"LOCAL",
-        "type":"java.lang.String"
-        },
-      
-        {
-        "name":"targetFolder",
-        "value":"c:\\data\\video2",
-        "type":"java.lang.String"
-        },
-      
-        {
-        "name":"userName",
-        "value":"dani",
-        "type":"java.lang.String"
-        },
-      
-        {
-        "name":"password",
-        "value":"dani",
-        "type":"java.lang.String"
-        },
-      
-        {
-        "name":"port",
-        "value":"21",
-        "type":"java.lang.Integer"
-        }
-      ]
-    },
-  
-    {
-    "template":"prores-archive.xml",
-    "name":"ProRes archiválás",
-    "parameters":[
-      
-        {
-        "name":"sourceStoreFolder",
-        "value":"c:\\data",
-        "type":"java.lang.String"
-        },
-      
-        {
-        "name":"sourceStoreName",
-        "value":"AMC_LOCAL",
-        "type":"java.lang.String"
-        },
-      
-        {
-        "name":"filter",
-        "value":{"fileName":".*\\.(mov)$"},
-        "type":"com.ibm.nosql.json.api.BasicDBObject"
-        },
-      
-        {
-        "name":"targetStoreName",
-        "value":"AMC_LOCAL",
-        "type":"java.lang.String"
-        },
-      
-        {
-        "name":"escortStoreFolder",
-        "value":"AMC_LOCAL",
-        "type":"java.lang.String"
-        }
-      ]
-    }
-  ]
-}
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/steps/AnalyzeMediaFilesStep.java b/server/-product/production/OMAR/jobs/steps/AnalyzeMediaFilesStep.java
deleted file mode 100644 (file)
index 98cf7fa..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.nio.file.Paths;\r
-import java.util.HashMap;\r
-import java.util.List;\r
-import java.util.Map;\r
-\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-\r
-import user.commons.mediaarea.MediaArea;\r
-\r
-public class AnalyzeMediaFilesStep extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger();\r
-\r
-       @StepEntry\r
-       public Object[] execute(List<String> foundFiles) {\r
-               Map<String, MediaArea> proResFiles = new HashMap<String, MediaArea>(foundFiles.size());\r
-\r
-               for (int i = 0; i < foundFiles.size(); i++) {\r
-                       MediaArea mediaArea = new MediaArea(Paths.get(foundFiles.get(i)));\r
-                       mediaArea.process();\r
-                       proResFiles.put(Paths.get(foundFiles.get(i)).toAbsolutePath().toString(), mediaArea);\r
-               }\r
-\r
-               return new Object[] { proResFiles };\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/ArchiveListBuilderStep.java b/server/-product/production/OMAR/jobs/steps/ArchiveListBuilderStep.java
deleted file mode 100644 (file)
index b232182..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.io.File;\r
-import java.io.IOException;\r
-import java.nio.file.DirectoryStream;\r
-import java.nio.file.Files;\r
-import java.nio.file.Path;\r
-import java.nio.file.Paths;\r
-import java.util.LinkedList;\r
-import java.util.List;\r
-\r
-import org.apache.commons.lang.StringUtils;\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.jobengine.server.IJobEngine;\r
-import user.jobengine.server.IJobRuntime;\r
-\r
-/**\r
- * Az archivalhato mediak listazasa MediaFileWrapper objektumokban. A listazott media allomanyokat megjeloli .catched signal allomannyal, hogy a legkozelebbi\r
- * listazas figyelmen kivul hagyja.\r
- *\r
- * @author robi\r
- */\r
-public class ArchiveListBuilderStep extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger();\r
-       //      private static final String UTF8 = "utf-8";\r
-       private static final String STATUSFOLDER = ".STATUS";\r
-       private static final String JSONEXT = ".json";\r
-       private static final String CATCHEDEXT = ".catched";\r
-\r
-       public static final String ITEM_TITLE = "itemTitle";\r
-       public static final String ITEM_HOUSEID = "itemHouseId";\r
-       public static final String ITEM_DESCRIPTION = "itemDescription";\r
-       public static final String MEDIA_HOUSEID = "mediaHouseId";\r
-       public static final String MEDIA_TITLE = "mediaTitle";\r
-       public static final String MEDIA_DESCRIPTION = "mediaDescription";\r
-       public static final String MEDIA_TYPE = "mediaType";\r
-       private static final String DURATION = "duration";\r
-       private static final String EXISTING_MEDIAID = "existingMediaId";\r
-       private static final String TAGS = "tags";\r
-\r
-       private Marker marker;\r
-\r
-       private ArchiveItem createArchiveItem(Path jsonFilePath, Path mediaFilePath, Path catchedFilePath) {\r
-               ArchiveItem result = null;\r
-               try {\r
-                       result = ArchiveItem.fromFile(jsonFilePath);\r
-                       result.setMediaFile(mediaFilePath.toString());\r
-                       result.setCatchedFile(catchedFilePath.toString());\r
-               } catch (Exception e) {\r
-                       logger.catching(e);\r
-               }\r
-\r
-               return result;\r
-       }\r
-\r
-       private void createCatchedFile(Path catchedFilePath) {\r
-               try {\r
-                       Files.createFile(catchedFilePath);\r
-                       //Files.write(catchedFilePath, CATCHED.getBytes(UTF8), StandardOpenOption.CREATE);\r
-               } catch (Exception e) {\r
-                       logger.catching(e);\r
-               }\r
-       }\r
-\r
-       @StepEntry\r
-       public Object[] execute(String sourcePath, int limit, IJobEngine jobEngine, IJobRuntime jobRuntime) {\r
-               marker = jobRuntime.getSessionMarker();\r
-               List<ArchiveItem> archiveList = new LinkedList<ArchiveItem>();\r
-               DirectoryStream<Path> directoryStream = null;\r
-               try {\r
-                       DirectoryStream<Path> stream = Files.newDirectoryStream(Paths.get(sourcePath));\r
-                       for (Path p : stream) {\r
-                               processPathItem(p, archiveList);\r
-                       }\r
-               } catch (Exception e) {\r
-                       logger.catching(e);\r
-                       logger.error(marker, "Az '{}' mappa elérése sikertelen. A rendszer hibaüzenete: {}", e.getMessage());\r
-               } finally {\r
-                       if (directoryStream != null) {\r
-                               try {\r
-                                       directoryStream.close();\r
-                               } catch (IOException e) {\r
-                               }\r
-                       }\r
-               }\r
-\r
-               if (limit > 0 && archiveList.size() > limit) {\r
-                       archiveList = archiveList.subList(0, limit);\r
-                       logger.info(marker, "A folyamat alkalmazza a beállított {} limitet.", limit);\r
-               }\r
-\r
-               if (archiveList.size() == 0)\r
-                       logger.info(marker, "Nincs archiválandó anyag.");\r
-               else\r
-                       logger.info(marker, "Az archiváló folyamat {} új anyagot érzékelt.", archiveList == null ? 0 : archiveList.size());\r
-\r
-               for (ArchiveItem archiveItem : archiveList) {\r
-                       createCatchedFile(Paths.get(archiveItem.getCatchedFile()));\r
-               }\r
-\r
-               return new Object[] { archiveList };\r
-       }\r
-\r
-       private boolean processPathItem(Path mediaFilePath, final List<ArchiveItem> archiveList) {\r
-               File mediaFile = mediaFilePath.toFile();\r
-\r
-               //              if (mediaFile.length() > 0)\r
-               //                      return false;\r
-\r
-               if (mediaFile.isDirectory()) {\r
-                       return false;\r
-               }\r
-\r
-               Path dotStorePath = Paths.get(mediaFilePath.getParent().toString(), STATUSFOLDER);\r
-               Path catchedFilePath = Paths.get(dotStorePath.toString(), mediaFile.getName() + CATCHEDEXT);\r
-               File catchedFile = catchedFilePath.toFile();\r
-               if (catchedFile.exists()) {\r
-                       logger.warn("{} file is already catched.", mediaFile.getName());\r
-                       return false;\r
-               }\r
-\r
-               Path jsonFilePath = Paths.get(dotStorePath.toString(), mediaFile.getName() + JSONEXT);\r
-               File jsonFile = jsonFilePath.toFile();\r
-               if (!jsonFile.exists()) {\r
-                       logger.warn("{} has no json metadata.", mediaFile.getName());\r
-                       return false;\r
-               }\r
-\r
-               ArchiveItem archiveItem = createArchiveItem(jsonFilePath, mediaFilePath, catchedFilePath);\r
-\r
-               if (archiveItem == null) {\r
-                       logger.warn("{} has no metadata specified.", mediaFile.getName());\r
-                       return false;\r
-               }\r
-\r
-               if (StringUtils.isBlank(archiveItem.getItemHouseId())) {\r
-                       logger.warn("{} has no Item HouseID specified in metadata.", mediaFile.getName());\r
-                       return false;\r
-               }\r
-\r
-               if (StringUtils.isBlank(archiveItem.getItemTitle())) {\r
-                       logger.warn("{} has no Item Title specified in metadata.", mediaFile.getName());\r
-                       return false;\r
-               }\r
-\r
-               if (StringUtils.isBlank(archiveItem.getMediaHouseId())) {\r
-                       logger.warn("{} has no Media HouseID specified in metadata.", mediaFile.getName());\r
-                       return false;\r
-               }\r
-\r
-               if (StringUtils.isBlank(archiveItem.getMediaTitle())) {\r
-                       logger.warn("{} has no Media Title specified in metadata.", mediaFile.getName());\r
-                       return false;\r
-               }\r
-\r
-               //A tenyleges archivalast vesszuk elore\r
-               if (mediaFile.length() == 0)\r
-                       archiveList.add(archiveItem);\r
-               else\r
-                       archiveList.add(0, archiveItem);\r
-               //createCatchedFile(catchedFilePath);\r
-               return true;\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/ArchiveMaterialSubmitStep.java b/server/-product/production/OMAR/jobs/steps/ArchiveMaterialSubmitStep.java
deleted file mode 100644 (file)
index 0aedbbe..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.io.File;\r
-import java.util.List;\r
-\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.ListUtils;\r
-import user.jobengine.server.IJobEngine;\r
-import user.jobengine.server.IJobRuntime;\r
-\r
-public class ArchiveMaterialSubmitStep extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger();\r
-       private static final String JOBTEMPLATE = "archive-material.xml";\r
-       private static final String KILL_DATE_DAYS = "killDateDays";\r
-       private static final String ARCHIVE = "Archiválás";\r
-       private static final String ARCHIVE_ITEM = "archiveItem";\r
-       private Marker marker;\r
-\r
-       @StepEntry\r
-       public Object[] execute(List<ArchiveItem> archiveList, int killDateDays, IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
-               marker = jobRuntime.getSessionMarker();\r
-               if (archiveList == null || archiveList.size() == 0)\r
-                       return null;\r
-\r
-               if (jobRuntime.forkPrepare()) {\r
-                       for (int i = 0; i < archiveList.size(); i++) {\r
-                               ArchiveItem archiveItem = archiveList.get(i);\r
-                               try {\r
-                                       IJobRuntime runtime = jobEngine.submit(jobRuntime, null, JOBTEMPLATE, ARCHIVE,\r
-                                                       ListUtils.asMap(ARCHIVE_ITEM, archiveItem, KILL_DATE_DAYS, killDateDays));\r
-                                       int progress = (i + 1) * 100 / archiveList.size();\r
-                                       setProgress(progress);\r
-                                       //TODO kivezetni a submit hibaüzenetet\r
-                                       if (runtime == null)\r
-                                               throw new Exception("Submit returned null runtime");\r
-                               } catch (Exception e) {\r
-                                       logger.catching(e);\r
-                                       String fileName = new File(archiveItem.getMediaFile()).getName();\r
-                                       logger.error(marker, "A(z) '{}' állomány archiválási kísérlete sikertelen. A rendszer üzenete: {}", fileName, e.getMessage());\r
-                                       if (!archiveItem.removeCatchedFile())\r
-                                               logger.error(marker, "A(z) '{}' állomány .catched jelző állománya nem törölhető.", fileName);\r
-                                       throw e;\r
-                               }\r
-                       }\r
-               }\r
-               jobRuntime.forkWaitComplete();\r
-               return null;\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/ArchiveRecursive.java b/server/-product/production/OMAR/jobs/steps/ArchiveRecursive.java
deleted file mode 100644 (file)
index 3f01f32..0000000
+++ /dev/null
@@ -1,324 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.io.File;\r
-import java.io.IOException;\r
-import java.nio.file.FileVisitResult;\r
-import java.nio.file.FileVisitor;\r
-import java.nio.file.Files;\r
-import java.nio.file.Path;\r
-import java.nio.file.Paths;\r
-import java.nio.file.attribute.BasicFileAttributes;\r
-import java.text.SimpleDateFormat;\r
-import java.util.Arrays;\r
-import java.util.HashSet;\r
-import java.util.List;\r
-import java.util.Map;\r
-import java.util.Set;\r
-\r
-import org.apache.commons.io.FilenameUtils;\r
-import org.apache.commons.lang.StringUtils;\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-import org.apache.logging.log4j.message.Message;\r
-import org.apache.logging.log4j.message.ParameterizedMessage;\r
-\r
-import com.ibm.nosql.json.api.BasicDBObject;\r
-\r
-import user.commons.JobStatus;\r
-import user.commons.ListUtils;\r
-import user.commons.log4j2.marker.MediaCubeMarker;\r
-import user.commons.mediatool.MediaInfo;\r
-import user.jobengine.server.IJobEngine;\r
-import user.jobengine.server.IJobRuntime;\r
-import user.jobengine.server.steps.shared.EscortFiles;\r
-import user.mediacube.metadata.interfaces.IMetadata;\r
-import user.mediacube.metadata.interfaces.IMetadataProvider;\r
-import user.mediacube.metadata.interfaces.IMetadataProviderFactory;\r
-import user.mediacube.metadata.interfaces.MetadataProviderType;\r
-import user.mediacube.metadata.interfaces.MetadataType;\r
-import user.mediacube.metadata.interfaces.PlanAirMetadataListOptions;\r
-\r
-public class ArchiveRecursive extends JobStep implements FileVisitor<Path> {\r
-       private static final Logger logger = LogManager.getLogger();\r
-       private static final String JOBTEMPLATE = "archive-material.xml";\r
-       private static final String ITEM_TITLE = "itemTitle";\r
-       private static final String ITEM_HOUSEID = "itemHouseId";\r
-       private static final String MEDIA_HOUSEID = "mediaHouseId";\r
-       private static final String MEDIA_TITLE = "mediaTitle";\r
-       private static final String MEDIA_DESCRIPTION = "mediaDescription";\r
-       private static final String MEDIA_TYPE = "mediaType";\r
-       private static final String ARCHIVE = "Archiválás";\r
-       private static final String ARCHIVE_ITEM = "archiveItem";\r
-       private static final String KILL_DATE_DAYS = "killDateDays";\r
-       private SimpleDateFormat df = new SimpleDateFormat("yyyy.MM.dd");\r
-\r
-       private List<String> skipPathNames = Arrays.asList("!ARCHIVALAS_ALATT", EscortFiles.STATUSFOLDER,\r
-                       EscortFiles.CONFLICTFOLDER);\r
-       private int limit;\r
-       private int submitted;\r
-       private int killDateDays;\r
-       private boolean disableProxy;\r
-\r
-       private boolean canReadMediaInfo(Path mediaFilePath) {\r
-               boolean result = false;\r
-               try {\r
-                       MediaInfo mi = new MediaInfo(mediaFilePath);\r
-                       mi.process();\r
-                       result = true;\r
-               } catch (Exception e) {\r
-                       logger.warn(getSessionMarker(), e.getMessage());\r
-               }\r
-               return result;\r
-       }\r
-\r
-       private void checkArchiveItem(ArchiveItem archiveItem) throws Exception {\r
-               if (archiveItem == null)\r
-                       throw new Exception("No metadata specified.");\r
-\r
-               if (StringUtils.isBlank(archiveItem.getItemHouseId()))\r
-                       throw new Exception("No Item HouseID specified in metadata.");\r
-\r
-               if (StringUtils.isBlank(archiveItem.getItemTitle()))\r
-                       throw new Exception("No Item Title specified in metadata.");\r
-\r
-               if (StringUtils.isBlank(archiveItem.getMediaHouseId()))\r
-                       throw new Exception("No Media HouseID specified in metadata.");\r
-\r
-               if (StringUtils.isBlank(archiveItem.getMediaTitle()))\r
-                       throw new Exception("No Media Title specified in metadata.");\r
-       }\r
-\r
-       private String archiveItemJSON(ArchiveItem result) {\r
-               BasicDBObject obj = new BasicDBObject();\r
-               obj.put("itemHouseId", result.getItemHouseId());\r
-               obj.put("itemTitle", result.getItemTitle());\r
-               obj.put("mediaHouseId", result.getMediaHouseId());\r
-               obj.put("mediaTitle", result.getMediaTitle());\r
-               obj.put("mediaDescription", result.getMediaDescription());\r
-               obj.put("mediaType", result.getMediaType());\r
-               return obj.toPrettyString("");\r
-       }\r
-\r
-       private ArchiveItem createArchiveItem(Path filePath) throws Exception {\r
-               ArchiveItem result = null;\r
-\r
-               String fileName = filePath.getFileName().toString();\r
-               String mediaHouseId = FilenameUtils.removeExtension(fileName);\r
-               try {\r
-                       result = getPlanAirMetadata(mediaHouseId);\r
-\r
-                       if (result != null) {\r
-                               result.setMediaFile(filePath.toString());\r
-                               // 210617 proxy keszites tiltasa\r
-                               result.setDisableProxy(disableProxy);\r
-                       }\r
-\r
-                       logger.info(getSessionMarker(), "PlanAir query done for {}", filePath);\r
-               } catch (Exception e) {\r
-                       logger.error(getSessionMarker(), "PlanAir metadata error", e);\r
-                       // nem latja a drivert pl.\r
-                       throw e;\r
-               }\r
-\r
-//210616 Ha nincs metaadat, nem archivalunk\r
-               if (result == null) {\r
-                       result = new ArchiveItem();\r
-                       BasicFileAttributes attr = Files.readAttributes(filePath, BasicFileAttributes.class);\r
-                       result.setItemHouseId(df.format(attr.lastModifiedTime().toMillis()));\r
-                       result.setItemTitle(filePath.getParent().toString());\r
-                       result.setMediaHouseId(mediaHouseId);\r
-                       result.setMediaTitle(fileName);\r
-                       result.setMediaDescription("/ARCHIVE-TEST");\r
-                       result.setMediaType("Generic");\r
-                       result.setMediaFile(filePath.toString());\r
-               }\r
-\r
-               return result;\r
-       }\r
-\r
-       @StepEntry\r
-       public Object[] execute(String sourcePath, int killDateDays, int limit, boolean disableProxy) throws Exception {\r
-               this.killDateDays = killDateDays;\r
-               this.limit = limit;\r
-               this.disableProxy = disableProxy;\r
-               logger.info(getSessionMarker(), "Starting in {}", sourcePath);\r
-               try {\r
-                       if (getJobRuntime().forkPrepare()) {\r
-                               Files.walkFileTree(Paths.get(sourcePath), this);\r
-                       }\r
-               } catch (Exception e) {\r
-                       logger.error(getSessionMarker(), "Az '{}' mappa elérése sikertelen. A rendszer hibaüzenete: {}", sourcePath,\r
-                                       e.getMessage());\r
-               } finally {\r
-                       if (submitted > 0)\r
-                               getJobRuntime().forkWaitComplete();\r
-                       else\r
-                               getJobRuntime().cancelForkPrepare();\r
-               }\r
-               return null;\r
-       }\r
-\r
-       private ArchiveItem getPlanAirMetadata(String mediaHouseId) throws Exception {\r
-               PlanAirMetadataListOptions opt = new PlanAirMetadataListOptions();\r
-               opt.setSearch(mediaHouseId);\r
-               opt.setType(MetadataType.Material);\r
-\r
-               BasicDBObject json = null;\r
-               List<IMetadata> data = null;\r
-\r
-               IMetadataProviderFactory factory = getService(IMetadataProviderFactory.class);\r
-               if (factory == null)\r
-                       logger.info(getSessionMarker(), "IMetadataProviderFactory is null");\r
-\r
-               IMetadataProvider planairProvider = factory.getProvider(MetadataProviderType.PLANAIR);\r
-               if (planairProvider == null)\r
-                       logger.info(getSessionMarker(), "IMetadataProvider is null");\r
-\r
-               ArchiveItem result = null;\r
-               data = planairProvider.list(opt);\r
-               if (data.size() != 0)\r
-                       json = data.get(0).asJSON();\r
-               else {\r
-                       opt.setType(MetadataType.Promo);\r
-                       data = planairProvider.list(opt);\r
-                       if (data.size() != 0)\r
-                               json = data.get(0).asJSON();\r
-                       else {\r
-                               opt.setType(MetadataType.AD);\r
-                               data = planairProvider.list(opt);\r
-                               if (data.size() != 0)\r
-                                       json = data.get(0).asJSON();\r
-                       }\r
-               }\r
-               if (json != null) {\r
-                       result = new ArchiveItem();\r
-                       result.setItemHouseId(json.getString(ITEM_HOUSEID));\r
-                       result.setItemTitle(json.getString(ITEM_TITLE));\r
-                       result.setMediaHouseId(json.getString(MEDIA_HOUSEID));\r
-                       result.setMediaTitle(json.getString(MEDIA_TITLE));\r
-                       result.setMediaDescription(json.getString(MEDIA_DESCRIPTION));\r
-                       result.setMediaType(json.getString(MEDIA_TYPE));\r
-               }\r
-               return result;\r
-       }\r
-\r
-       private boolean handleArchiveConflict(Path mediaPath) throws Exception {\r
-               boolean result = false;\r
-               String sourceFileName = mediaPath.getFileName().toString();\r
-               if (getManager().isMediaFileExists(sourceFileName)) {\r
-                       EscortFiles.createMediaCatch(mediaPath);\r
-                       result = true;\r
-               }\r
-               return result;\r
-       }\r
-\r
-       @Override\r
-       public FileVisitResult postVisitDirectory(Path paramT, IOException paramIOException) throws IOException {\r
-               return FileVisitResult.CONTINUE;\r
-       }\r
-\r
-       @Override\r
-       public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes paramBasicFileAttributes)\r
-                       throws IOException {\r
-               Path dirName = dir.getFileName();\r
-\r
-               if (skipPathNames.contains(dirName.toString())) {\r
-                       logger.info(getSessionMarker(), "PreVisit skip {}", dir);\r
-                       return FileVisitResult.SKIP_SUBTREE;\r
-               } else\r
-                       logger.info(getSessionMarker(), "PreVisit {}", dir);\r
-\r
-               return FileVisitResult.CONTINUE;\r
-       }\r
-\r
-       private boolean processPathItem(Path mediaPath) throws Exception {\r
-               if (limit != 0 && submitted == limit) {\r
-                       logger.info(getSessionMarker(), "Limit reached {}, canceling", limit);\r
-                       return false;\r
-               }\r
-\r
-               String fileName = mediaPath.getFileName().toString();\r
-               if (fileName.startsWith(".") || fileName.endsWith(".nomd"))\r
-                       return false;\r
-\r
-               logger.info(getSessionMarker(), "Processing {}", mediaPath);\r
-\r
-               File mediaFile = mediaPath.toFile();  \r
-               if (mediaFile.isDirectory()) {\r
-                       //logger.info(getSessionMarker(), "Skipping directory {}", mediaPath);\r
-                       return false;\r
-               }\r
-\r
-               if (EscortFiles.isMediaCatched(mediaPath)) {\r
-                       //logger.info(getSessionMarker(), "Skipping already catched {}", mediaPath);\r
-                       return false;\r
-               }\r
-\r
-               Path nomdFile = Paths.get(mediaPath.toString() + ".nomd");\r
-\r
-               if (Files.exists(nomdFile)) {\r
-                       //logger.info(getSessionMarker(), "Skipping nomd file exists {}", nomdFile);\r
-                       return false;\r
-               }\r
-\r
-               if (handleArchiveConflict(mediaPath)) {\r
-                       logger.info(getSessionMarker(), "Skipping archive db already contains {}", mediaPath);\r
-                       return false;\r
-               }\r
-\r
-               if (!canReadMediaInfo(mediaPath)) {\r
-                       logger.info(getSessionMarker(), "Skipping cant read mediainfo {}", mediaPath);\r
-                       return false;\r
-               }\r
-\r
-               ArchiveItem archiveItem = createArchiveItem(mediaPath);\r
-\r
-               if (archiveItem == null) {\r
-                       Message msg = new ParameterizedMessage("Nincs metaadat!");\r
-                       logger.info(new MediaCubeMarker("vasary@elgekko.net,muszak@mediavivantis.hu",\r
-                                       "Értesítés problémás " + mediaPath.getFileName().toString() + " archiválásról"), msg);\r
-                       Files.createFile(nomdFile);\r
-                       return false;\r
-               }\r
-\r
-               try {\r
-                       checkArchiveItem(archiveItem);\r
-\r
-                       Map<String, Object> parameters = ListUtils.asMap(ARCHIVE_ITEM, archiveItem, KILL_DATE_DAYS, killDateDays);\r
-                       IJobRuntime runtime = getEngine().submit(getJobRuntime(), e -> {\r
-                               if (e.getStatus().equals(JobStatus.CANCELED) || e.getStatus().equals(JobStatus.SUSPENDED))\r
-                                       EscortFiles.removeMediaCatch(mediaPath);\r
-                       }, JOBTEMPLATE, ARCHIVE, 1, IJobEngine.DEFAULT_OWNER, parameters);\r
-                       if (runtime == null)\r
-                               throw new Exception("Submit returned null runtime");\r
-                       runtime.setRelated(mediaPath.toString());\r
-                       EscortFiles.createMediaCatch(mediaPath);\r
-                       String metadata = archiveItemJSON(archiveItem);\r
-                       EscortFiles.createMetadata(mediaPath.getParent().toString(), mediaPath.getFileName().toString(), metadata);\r
-                       submitted++;\r
-               } catch (Exception e) {\r
-                       logger.error(getSessionMarker(),\r
-                                       "A(z) '{}' állomány archiválási kísérlete sikertelen. A rendszer üzenete: {}", mediaPath,\r
-                                       e.getMessage());\r
-               }\r
-\r
-               return true;\r
-       }\r
-\r
-       @Override\r
-       public FileVisitResult visitFile(Path filePath, BasicFileAttributes paramBasicFileAttributes) throws IOException {\r
-               logger.info(getSessionMarker(), "Will checked {}", filePath);\r
-               try {\r
-                       processPathItem(filePath);\r
-               } catch (Exception e) {\r
-                       logger.catching(e);\r
-               }\r
-               return FileVisitResult.CONTINUE;\r
-       }\r
-\r
-       @Override\r
-       public FileVisitResult visitFileFailed(Path filePath, IOException paramIOException) throws IOException {\r
-               logger.info("Error archive {}", filePath);\r
-               return FileVisitResult.CONTINUE;\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/BatchRetrieveForkStep.java b/server/-product/production/OMAR/jobs/steps/BatchRetrieveForkStep.java
deleted file mode 100644 (file)
index 4f6b130..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.util.List;\r
-import java.util.Map;\r
-\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-\r
-import user.commons.log4j2.marker.MediaCubeFinishMarker;\r
-import user.commons.log4j2.marker.MediaCubeMarker;\r
-import user.jobengine.db.ArchivedMedia;\r
-import user.jobengine.server.IJobEngine;\r
-import user.jobengine.server.IJobRuntime;\r
-import user.jobengine.server.scheduler.ScheduledJob;\r
-\r
-public class BatchRetrieveForkStep extends JobStep {\r
-       private static final String TARGET_PATH_TYPE = "targetPathType";\r
-       private static final Logger logger = LogManager.getLogger();\r
-       private static final String CHILD_TEMPLATE = "retrieve-ondemand.xml";\r
-       private static final String ARCHIVEDMEDIA = "archivedMedia";\r
-       private static final String RECIPIENT = "successRecipient";\r
-       private static final String HOUSEID = "houseId";\r
-       private MediaCubeMarker marker;\r
-\r
-       @StepEntry\r
-       public Object[] execute(List<ArchivedMedia> basket, String houseId, String recipient, String targetPathType, IJobEngine jobEngine, IJobRuntime jobRuntime)\r
-                       throws Exception {\r
-               marker = (MediaCubeMarker) jobRuntime.getSessionMarker();\r
-\r
-               //session szinten csak a finishMarker cimzettje az erdekes, es ezt a cimet pluszban hasznalja a konfigban megadott cimmel\r
-               //a finishMarker orokli a cim bellitast a sessionMarkertol\r
-               marker.setTo(recipient);\r
-\r
-               ((MediaCubeMarker) jobRuntime.getFinishMarker()).setTo(recipient);\r
-\r
-               if (basket == null || basket.size() == 0)\r
-                       return null;\r
-               setProgress(10);\r
-\r
-               MediaCubeMarker mailMarker = new MediaCubeMarker(recipient);\r
-               mailMarker.setSessionName("Archívum viszatöltés");\r
-               mailMarker.setSessionID(houseId);\r
-               logger.info(mailMarker, "A visszatöltések elindultak az alábbi állományokra:");\r
-\r
-               if (jobRuntime.forkPrepare()) {\r
-                       for (ArchivedMedia archivedMedia : basket) {\r
-                               logger.info(mailMarker, archivedMedia.getMedia().getMediaFilesName());\r
-                               submit(archivedMedia, recipient, houseId, targetPathType, jobEngine, jobRuntime);\r
-                       }\r
-               }\r
-               setProgress(50);\r
-               logger.info(new MediaCubeFinishMarker(mailMarker), "A visszatöltések végeztével megerősítő üzenetet küldünk.");\r
-               jobRuntime.forkWaitComplete();\r
-               setProgress(100);\r
-               return null;\r
-       }\r
-\r
-       public void submit(ArchivedMedia archivedMedia, String recipient, String houseId, String targetPathType, IJobEngine jobEngine, IJobRuntime jobRuntime)\r
-                       throws Exception {\r
-               try {\r
-                       ScheduledJob scheduledJob = jobEngine.getScheduledJob(CHILD_TEMPLATE);\r
-                       Map<String, Object> parameters = scheduledJob.getJobParameters();\r
-                       parameters.put(ARCHIVEDMEDIA, archivedMedia);\r
-                       parameters.put(HOUSEID, houseId);\r
-                       parameters.put(RECIPIENT, recipient);\r
-                       parameters.put(TARGET_PATH_TYPE, targetPathType);\r
-                       IJobRuntime child = jobEngine.submit(jobRuntime, null, CHILD_TEMPLATE, String.format("Visszatöltés %s részére", recipient), parameters);\r
-                       ((MediaCubeMarker) child.getSessionMarker()).setTo(recipient);\r
-               } catch (Exception e) {\r
-                       logger.catching(e);\r
-                       logger.error(marker, "Hiba a kötegelt visszatöltésben. A rendszer üzenete: {}", e.getMessage());\r
-               }\r
-\r
-       }\r
-\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/CalculateMD5Step.java b/server/-product/production/OMAR/jobs/steps/CalculateMD5Step.java
deleted file mode 100644 (file)
index 75af596..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.io.InputStream;\r
-import java.nio.file.Files;\r
-import java.nio.file.Paths;\r
-import java.security.DigestInputStream;\r
-import java.security.MessageDigest;\r
-\r
-import javax.xml.bind.DatatypeConverter;\r
-\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-\r
-public class CalculateMD5Step extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger(CalculateMD5Step.class);\r
-\r
-       @StepEntry\r
-       public Object[] execute(String fileName) throws Exception {\r
-               logger.info(getMarker(), "Executing");\r
-\r
-               MessageDigest messageDigest = MessageDigest.getInstance("MD5");\r
-               InputStream is = Files.newInputStream(Paths.get(fileName));\r
-               DigestInputStream dis = new DigestInputStream(is, messageDigest);\r
-               byte[] digest = new byte[32768]; //32k buffer\r
-\r
-               while ((dis.read(digest)) != -1) {\r
-                       messageDigest.update(digest);\r
-               }\r
-\r
-               String md5String = DatatypeConverter.printHexBinary(digest).toUpperCase();\r
-               logger.info("calculated MD5 hash= {}", md5String);\r
-               dis.close();\r
-               is.close();\r
-               return new Object[] { md5String };\r
-       }\r
-}
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/steps/CancelableStep.java b/server/-product/production/OMAR/jobs/steps/CancelableStep.java
deleted file mode 100644 (file)
index 9293427..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-\r
-public class CancelableStep extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger();\r
-       int count = 10;\r
-\r
-       @StepEntry\r
-       public Object[] execute(int param) throws Exception {\r
-\r
-               getJobRuntime().setRelated("TESZT" + param);\r
-               for (int i = 0; i < count; i++) {\r
-                       if (getJobRuntime().isWaitingCancel())\r
-                               break;\r
-//                     if (i == 1)\r
-//                             throw new Exception("AAAAAAAAAA");\r
-\r
-                       Thread.sleep(1000);\r
-                       int progress = (i + 1) * 100 / count;\r
-                       setProgress(progress);\r
-               }\r
-\r
-//             try {\r
-//\r
-//                     logger.warn("Ez a fo logba megy");\r
-//\r
-//                     //marker="MEDIACUBE"\r
-//                     logger.warn(getMarker(), "Ez a markered logba megy");\r
-//\r
-//                     //marker="MEDIACUBE | folyamat_nev"\r
-//                     logger.warn(getJobRuntime().getSessionMarker(), "Ez a markered logba megy es a nevesitett logba");\r
-//\r
-//             } catch (Exception e) {\r
-//                     e.printStackTrace();\r
-//                     throw e;\r
-//             }\r
-               return new Object[] { param };\r
-       }\r
-\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/CleanupMountedLocationStep.java b/server/-product/production/OMAR/jobs/steps/CleanupMountedLocationStep.java
deleted file mode 100644 (file)
index 95fff73..0000000
+++ /dev/null
@@ -1,283 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.io.File;\r
-import java.io.IOException;\r
-import java.nio.file.DirectoryStream;\r
-import java.nio.file.FileVisitResult;\r
-import java.nio.file.FileVisitor;\r
-import java.nio.file.Files;\r
-import java.nio.file.Path;\r
-import java.nio.file.Paths;\r
-import java.nio.file.SimpleFileVisitor;\r
-import java.nio.file.attribute.BasicFileAttributes;\r
-import java.text.ParseException;\r
-import java.text.SimpleDateFormat;\r
-import java.util.ArrayList;\r
-import java.util.Collections;\r
-import java.util.Date;\r
-import java.util.List;\r
-\r
-import org.apache.commons.io.FileUtils;\r
-import org.apache.commons.lang.StringUtils;\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.jobengine.server.steps.shared.ItemManagerExtensions;\r
-\r
-public class CleanupMountedLocationStep extends JobStep implements FileVisitor<Path> {\r
-\r
-       private static final Logger logger = LogManager.getLogger();\r
-       private static final String PROJECTFOLDER = "PROJECT";\r
-       private static final String DATEFORMAT = "yyyyMMdd";\r
-       private static final String DOT = ".";\r
-       private static final String STATUSFOLDER = ".STATUS";\r
-       private static final String EWC2EXT = ".ewc2";\r
-       private static final String XMPEXT = ".xmp";\r
-       private static final String CATCHEDEXT = ".catched";\r
-       private static final String KILLDATEEXT = ".killdate";\r
-       private static final String JSONEXT = ".json";\r
-\r
-       private static boolean isEmpty(final Path directory) throws IOException {\r
-               try (DirectoryStream<Path> dirStream = Files.newDirectoryStream(directory)) {\r
-                       final int[] count = new int[] { 0 };\r
-                       final int[] specialCount = new int[] { 0 };\r
-                       dirStream.forEach(p -> {\r
-                               count[0]++;\r
-                               //                              if (p.getFileName().toString().toLowerCase().equals(PROJECTFOLDER.toLowerCase()))\r
-                               //                                      specialCount[0]++;\r
-                               if (p.getFileName().toString().toLowerCase().equals(STATUSFOLDER.toLowerCase()))\r
-                                       specialCount[0]++;\r
-\r
-                       });\r
-                       if (specialCount[0] == count[0])\r
-                               return true;\r
-               }\r
-               return false;\r
-       }\r
-\r
-       private Marker marker;\r
-\r
-       final int[] allCount = new int[] { 0 };\r
-       final int[] currentCount = new int[] { 0 };\r
-\r
-       private Path sourcePath;\r
-       private SimpleDateFormat dateFormat;\r
-       private boolean skipArchiveCheck;\r
-\r
-       private Date checkExpiration(List<Path> killDateFiles) {\r
-               Date killDate = null;\r
-               for (Path killDateFile : killDateFiles) {\r
-                       Date currentKillDate = getKillDate(killDateFile);\r
-                       if (currentKillDate == null)\r
-                               continue;\r
-                       if ((killDate != null && currentKillDate.after(killDate)) || killDate == null)\r
-                               killDate = currentKillDate;\r
-               }\r
-               return new Date().after(killDate) ? killDate : null;\r
-       }\r
-\r
-       @StepEntry\r
-       public Object[] execute(String sourceFolder, boolean skipArchiveCheck) throws Exception {\r
-               this.skipArchiveCheck = skipArchiveCheck;\r
-               marker = getSessionMarker();\r
-               sourcePath = Paths.get(sourceFolder);\r
-               DirectoryStream<Path> directoryStream = null;\r
-               if (StringUtils.isBlank(sourcePath.toString())) {\r
-                       logger.error(marker, "A folyamat 'sourcePath' bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, 'sourceFolder' input parameter missing.");\r
-               }\r
-\r
-               if (!Files.exists(sourcePath) || !Files.isDirectory(sourcePath)) {\r
-                       logger.error(marker, "A {} mappa nem létezik.", sourceFolder);\r
-                       throw new NullPointerException(String.format("Directory %s does not exist.", sourceFolder));\r
-               }\r
-\r
-               try {\r
-                       setProgress(1);\r
-                       dateFormat = new SimpleDateFormat(DATEFORMAT);\r
-\r
-                       Files.walkFileTree(sourcePath, new SimpleFileVisitor<Path>() {\r
-                               @Override\r
-                               public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {\r
-                                       allCount[0]++;\r
-                                       return super.visitFile(file, attrs);\r
-                               }\r
-                       });\r
-                       Files.walkFileTree(sourcePath, this);\r
-               } catch (Exception e) {\r
-                       logger.catching(e);\r
-                       logger.error(marker, "Hiba a '{}' mappa feldolgozásában. A rendszer hibaüzenete: {}", sourcePath, e.getMessage());\r
-                       throw e;\r
-               } finally {\r
-                       if (directoryStream != null) {\r
-                               try {\r
-                                       directoryStream.close();\r
-                               } catch (IOException e) {\r
-                               }\r
-                       }\r
-               }\r
-               return null;\r
-       }\r
-\r
-       private Date getKillDate(Path killDateFile) {\r
-               String fileName = killDateFile.getFileName().toString();\r
-               int end = fileName.lastIndexOf(DOT);\r
-               if (end < 1)\r
-                       return null;\r
-               int start = fileName.lastIndexOf(DOT, end - 1);\r
-               if (start < 0)\r
-                       return null;\r
-               String strKillDate = fileName.substring(start + 1, end);\r
-               Date result = null;\r
-               if (StringUtils.isNumeric(strKillDate)) {\r
-                       try {\r
-                               result = dateFormat.parse(strKillDate);\r
-                       } catch (ParseException e) {\r
-                               logger.error(marker, "A {} fájl 'killdate' állománya hibás formátumú, a {} karaktersorozat nem konvertálható dátummá.", fileName, strKillDate);\r
-                               return null;\r
-                       }\r
-               } else\r
-                       logger.error(marker, "A {} fájl 'killdate' állománya hibás formátumú, az dátum helyett ez áll: '{}'.", fileName, strKillDate);\r
-               return result;\r
-       }\r
-\r
-       private List<Path> getKillDateFiles(Path filePath) {\r
-               String killDateFilePattern = String.format("%s.*%s", filePath.getFileName().toString(), KILLDATEEXT);\r
-               List<Path> result = new ArrayList<>();\r
-               Path statusPath = null;\r
-               try {\r
-                       statusPath = Paths.get(filePath.getParent().toString(), STATUSFOLDER);\r
-               } catch (Exception e) {\r
-                       logger.catching(e);\r
-                       return null;\r
-               }\r
-               File statusPathFile = statusPath.toFile();\r
-               if (statusPathFile.exists() && statusPathFile.isDirectory()) {\r
-                       try (DirectoryStream<Path> stream = Files.newDirectoryStream(statusPath, killDateFilePattern)) {\r
-                               stream.forEach(p -> result.add(p));\r
-                       } catch (Exception e) {\r
-                               logger.catching(e);\r
-                       }\r
-               }\r
-               Collections.sort(result);\r
-               return result;\r
-       }\r
-\r
-       @Override\r
-       public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {\r
-               if (!dir.equals(sourcePath) && isEmpty(dir)) {\r
-                       if (!removeExistingSpecialDirectory(dir, PROJECTFOLDER))\r
-                               return FileVisitResult.CONTINUE;\r
-                       if (!removeExistingSpecialDirectory(dir, STATUSFOLDER))\r
-                               return FileVisitResult.CONTINUE;\r
-                       if (removeFile(dir))\r
-                               logger.info(marker, "A {} üres mappa törlése sikeres.", dir);\r
-\r
-               }\r
-               return FileVisitResult.CONTINUE;\r
-       }\r
-\r
-       @Override\r
-       public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {\r
-\r
-               //A .-al kezdodo mappakat kihagyjuk\r
-               if (dir.getFileName().toString().startsWith("."))\r
-                       return FileVisitResult.SKIP_SUBTREE;\r
-\r
-               return FileVisitResult.CONTINUE;\r
-       }\r
-\r
-       private void processPathItem(Path filePath) {\r
-               currentCount[0]++;\r
-\r
-               if (filePath.getFileName().toString().startsWith("."))\r
-                       return;\r
-\r
-               int progress = currentCount[0] * 100 / allCount[0];\r
-               setProgress(progress);\r
-\r
-               logger.info("Checking {}", filePath);\r
-               List<Path> killDateFiles = getKillDateFiles(filePath);\r
-               if (killDateFiles == null || killDateFiles.size() == 0) {\r
-                       logger.warn(marker, "A {} fájlhoz nem található 'killdate' állomány.", filePath);\r
-                       return;\r
-               }\r
-\r
-               if (killDateFiles.size() != 1)\r
-                       logger.warn(marker, "A {} fájlhoz több 'killdate' állomány található, a legújabb dátum határozza meg a törlés időpontját.", filePath);\r
-\r
-               Date killDate = checkExpiration(killDateFiles);\r
-               if (killDate == null)\r
-                       return;\r
-\r
-               if (!skipArchiveCheck && filePath.toFile().length() > 0) {\r
-                       if (!ItemManagerExtensions.isArchived(getManager(), 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
-                       logger.info(marker, "A {} fájl és kapcsolódó állományai a {} killdate bejegyzés alapján sikeresen törlődtek.", filePath.getFileName(),\r
-                                       dateFormat.format(killDate));\r
-               else\r
-                       logger.warn(marker, "A {} fájl és kapcsolódó állományai a {} killdate bejegyzés alapján csak részlegesen vagy egyáltalán nem törlődtek.",\r
-                                       filePath.getFileName(), dateFormat.format(killDate));\r
-       }\r
-\r
-       private boolean removeExistingSpecialDirectory(Path dir, String folderName) throws IOException {\r
-               File projectPath = Paths.get(dir.toString(), folderName).toFile();\r
-               if (projectPath.exists() && projectPath.isDirectory()) {\r
-                       FileUtils.deleteDirectory(projectPath);\r
-                       if (projectPath.exists()) {\r
-                               logger.warn(marker, "A {} alatti {} mappa törlése nem sikerült.", dir, folderName);\r
-                               return false;\r
-                       }\r
-               }\r
-               return true;\r
-       }\r
-\r
-       private boolean removeFile(Path filePath) {\r
-               boolean result = false;\r
-               try {\r
-                       //logger.error("REMOVE {}", filePath);\r
-                       File file = filePath.toFile();\r
-                       if (file.exists())\r
-                               result = file.delete();\r
-               } catch (Exception e) {\r
-                       logger.error(marker, "A {} fájl nem törölhető. A rendszer hibaüzenete: {}", filePath, e.getMessage());\r
-               }\r
-               return result;\r
-       }\r
-\r
-       private boolean removeFiles(Path filePath, List<Path> killDateFiles) {\r
-               if (!removeFile(filePath))\r
-                       return false;\r
-\r
-               removeFile(Paths.get(filePath.toString() + EWC2EXT));\r
-               removeFile(Paths.get(filePath.toString() + XMPEXT));\r
-               removeFile(Paths.get(filePath.getParent().toString(), STATUSFOLDER, filePath.getFileName().toString() + CATCHEDEXT));\r
-               removeFile(Paths.get(filePath.getParent().toString(), STATUSFOLDER, filePath.getFileName().toString() + JSONEXT));\r
-\r
-               boolean result = true;\r
-               for (Path killDateFile : killDateFiles) {\r
-                       if (!removeFile(killDateFile))\r
-                               result = false;\r
-               }\r
-\r
-               return result;\r
-       }\r
-\r
-       @Override\r
-       public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {\r
-               processPathItem(file);\r
-               return FileVisitResult.CONTINUE;\r
-       }\r
-\r
-       @Override\r
-       public FileVisitResult visitFileFailed(Path file, IOException e) throws IOException {\r
-               logger.error(marker, "A {} fájl nem érhető el. A rendszer hibaüzenete: {}", file.toString(), e.getMessage());\r
-               return FileVisitResult.CONTINUE;\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/CreateArchiveItemStep.java b/server/-product/production/OMAR/jobs/steps/CreateArchiveItemStep.java
deleted file mode 100644 (file)
index ec165e8..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.nio.file.Paths;\r
-\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-\r
-import com.ibm.nosql.json.api.BasicDBObject;\r
-import com.ibm.nosql.json.api.DB;\r
-import com.ibm.nosql.json.api.DBCollection;\r
-\r
-import user.commons.nosql.NoSQLUtils;\r
-import user.jobengine.db.Media;\r
-import user.jobengine.db.Store;\r
-\r
-public class CreateArchiveItemStep extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger();\r
-\r
-       @StepEntry\r
-       public Object[] execute(Media mediaCubeMedia, String localHiresPath) throws Exception {\r
-               DB db = NoSQLUtils.getNoSQLDB();\r
-               DBCollection collection = db.getCollection("missing_lowres");\r
-               Store highResStore = getManager().getSystemStore(false);\r
-\r
-               ArchiveItem archiveItem = null;\r
-               try {\r
-                       if (mediaCubeMedia.getMediaFilesCount() != 1) {\r
-                               throw new Exception("Expected media count is 1, found " + mediaCubeMedia.getMediaFilesCount());\r
-                       }\r
-                       if (mediaCubeMedia.getMediaFiles().get(0).getStoreId() != highResStore.getId()) {\r
-                               throw new Exception("Expected media store is a high-res store");\r
-                       }\r
-\r
-                       String name = mediaCubeMedia.getMediaFileRealName();\r
-                       archiveItem = new ArchiveItem();\r
-                       archiveItem.setMediaFile(Paths.get(localHiresPath, name).toString());\r
-                       collection.save(new BasicDBObject("name", name));\r
-               } catch (Exception e) {\r
-                       logger.catching(e);\r
-                       logger.info(getMarker(), e.getMessage());\r
-                       throw e;\r
-               } finally {\r
-                       setProgress(100);\r
-               }\r
-               return new Object[] { archiveItem };\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/CreateMissingLowresStep.java b/server/-product/production/OMAR/jobs/steps/CreateMissingLowresStep.java
deleted file mode 100644 (file)
index 72b4cfb..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.nio.file.Paths;\r
-\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-\r
-import com.ibm.nosql.json.api.BasicDBObject;\r
-import com.ibm.nosql.json.api.DB;\r
-import com.ibm.nosql.json.api.DBCollection;\r
-\r
-import user.commons.log4j2.marker.MediaCubeUndoMarker;\r
-import user.commons.nosql.NoSQLUtils;\r
-import user.jobengine.db.IItemManager;\r
-import user.jobengine.db.Media;\r
-import user.jobengine.db.MediaFile;\r
-import user.jobengine.server.IJobEngine;\r
-import user.jobengine.server.IJobRuntime;\r
-\r
-public class CreateMissingLowresStep extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger();\r
-\r
-       @StepEntry\r
-       public Object[] execute(String localHiresPath, IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
-               Object[] result = new Object[] { null, null, "%s", null, 0, true };\r
-\r
-               DB db = NoSQLUtils.getNoSQLDB();\r
-               DBCollection collection = db.getCollection("missing_lowres");\r
-               IItemManager manager = jobEngine.getItemManager();\r
-               Media media = getFirstUntranscodedMedia(manager, collection);\r
-\r
-               try {\r
-                       if (media == null) {\r
-                               logger.info(new MediaCubeUndoMarker(getSessionMarker().getSessionID()), "Nincs feldolgozandó hiány.");\r
-                               // throw new Exception("Nincs feldolgozandó hiány.");\r
-                               cancel();\r
-                               return null;\r
-                       }\r
-\r
-                       String name = media.getMediaFileRealName();\r
-                       result[0] = media;\r
-                       ArchiveItem archiveItem = new ArchiveItem();\r
-                       archiveItem.setMediaFile(Paths.get(localHiresPath, name).toString());\r
-                       result[1] = archiveItem;\r
-                       collection.save(new BasicDBObject("name", name));\r
-                       logger.info(getSessionMarker(), "Processing mediaID: {}", media.getId());\r
-\r
-               } catch (Exception e) {\r
-                       logger.catching(e);\r
-                       logger.error(getSessionMarker(), e.getMessage());\r
-                       throw e;\r
-               } finally {\r
-                       setProgress(100);\r
-               }\r
-               return result;\r
-       }\r
-\r
-       private Media getFirstUntranscodedMedia(IItemManager manager, DBCollection collection) {\r
-               Media[] result = new Media[] { null };\r
-               // MV\r
-               String query = "SELECT mediaid FROM VW_MISSING_PROXY_IDS WHERE HOUSEID like 'M%' or HOUSEID like 'P%' or HOUSEID like 'R%' ORDER BY modified DESC";\r
-\r
-               // HTV\r
-               // String query = "SELECT mediaid FROM VW_MISSING_PROXY_IDS";\r
-               manager.executeQuery(query, rs -> {\r
-                       try {\r
-                               long mediaId = rs.getLong(1);\r
-                               Media media = manager.getMedia(mediaId);\r
-                               // a nevgeneralas miatt az eredeti MediaFilesName nem jo, a pontos nev kell\r
-                               // nekunk\r
-                               String name = media.getMediaFileRealName();\r
-                               //logger.info(getSessionMarker(), "Checking {}", name);\r
-                               long existing = collection.find(new BasicDBObject("name", name)).count();\r
-                               if (existing > 0) {\r
-                                       // logger.info(getSessionMarker(), "{} is on missing_lowres list", name);\r
-                                       return true;\r
-                               }\r
-\r
-                               // 210617 proxy keszites tiltasa\r
-                               MediaFile mf = manager.getSystemMediaFile(media);\r
-                               if (mf.isDisableProxy()) {\r
-                                       logger.info(getSessionMarker(), "Proxy disabled {}", name);\r
-                                       \r
-                                       return true;\r
-                               }\r
-\r
-                               result[0] = media;\r
-                       } catch (Exception e) {\r
-                               logger.error(e);\r
-                       }\r
-                       return false;\r
-               }, null);\r
-               return result[0];\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/DeleteFile.java b/server/-product/production/OMAR/jobs/steps/DeleteFile.java
deleted file mode 100644 (file)
index 539faf7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-\r
-import user.commons.RemoteFile;\r
-import user.commons.StoreUri;\r
-\r
-public class DeleteFile extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger();\r
-\r
-       @StepEntry\r
-       public Object[] execute(String fileName, StoreUri tempStoreUri) throws Exception {\r
-               try {\r
-                       RemoteFile remoteFile = tempStoreUri.getRemoteFile(fileName);\r
-                       tempStoreUri.delete(remoteFile);\r
-               } catch (Exception e) {\r
-                       logger.warn(getJobRuntime().getSessionMarker(), e.getMessage());\r
-               }\r
-               return null;\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/DummyTestStep1.java b/server/-product/production/OMAR/jobs/steps/DummyTestStep1.java
deleted file mode 100644 (file)
index 22b3ab9..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-\r
-public class DummyTestStep1 extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger(DummyTestStep1.class);\r
-\r
-       @StepEntry\r
-       public Object[] execute(String param1) {\r
-               logger.info("Executing DummyTestStep1");\r
-               int var1 = 0;\r
-               if (param1.equals("Jozsi")) {\r
-                       var1 = 1;\r
-                       Thread.sleep(1000);\r
-                       setProgress(50);\r
-                       Thread.sleep(1000);\r
-                       setProgress(50);\r
-               }\r
-\r
-               return new Object[] {var1}; \r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/DummyTestStep2.java b/server/-product/production/OMAR/jobs/steps/DummyTestStep2.java
deleted file mode 100644 (file)
index e7579f1..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-\r
-public class DummyTestStep2 extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger(DummyTestStep2.class);\r
-\r
-       @StepEntry\r
-       public Object[] execute(int var2) {\r
-               logger.info("Executing DummyTestStep2");\r
-               long var3 = 0L;\r
-               Thread.sleep(1000);\r
-               setProgress(50);\r
-               Thread.sleep(1000);\r
-               setProgress(50);\r
-\r
-               return new Object[] { var3 };\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/DummyTestStep3.java b/server/-product/production/OMAR/jobs/steps/DummyTestStep3.java
deleted file mode 100644 (file)
index 93d76a7..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-\r
-public class DummyTestStep3 extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger(DummyTestStep3.class);\r
-\r
-       @StepEntry\r
-       public void execute(long var3) {\r
-               Thread.sleep(1000);\r
-               setProgress(50);\r
-               Thread.sleep(1000);\r
-               setProgress(50);\r
-               logger.info("Executing DummyTestStep3");\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/FileCopyStep.java b/server/-product/production/OMAR/jobs/steps/FileCopyStep.java
deleted file mode 100644 (file)
index c417255..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-package user.jobengine.server.steps;\r
-\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.StoreUri;\r
-import user.commons.remotestore.IProgressEventListener;\r
-import user.commons.remotestore.ProgressEvent;\r
-import user.commons.remotestore.RemoteStoreProtocol;\r
-import user.jobengine.db.IItemManager;\r
-import user.jobengine.server.IJobEngine;\r
-import user.jobengine.server.IJobRuntime;\r
-\r
-public class FileCopyStep extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger();\r
-       private IItemManager manager;\r
-       private Marker marker;\r
-\r
-       private void check(String sourceProtocol, String sourcePath, String sourceFileName, String targetProtocol, String targetPath, String targetFileName,\r
-                       IJobEngine jobEngine, IJobRuntime jobRuntime) {\r
-               if (jobEngine == null) {\r
-                       logger.error(marker, "A folyamatkezelő réteg nem elérhető.");\r
-                       throw new NullPointerException("Internal error, missing JobEngine reference.");\r
-               }\r
-               manager = jobEngine.getItemManager();\r
-               if (manager == null) {\r
-                       logger.error(marker, "Az adatbáziskezelő réteg nem elérhető.");\r
-                       throw new NullPointerException("Internal error, missing ItemManager reference.");\r
-               }\r
-               if (sourceProtocol == null) {\r
-                       logger.error(marker, "A forrás protokol bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, 'sourceProtocol' input parameter missing.");\r
-               }\r
-               if (sourcePath == null) {\r
-                       logger.error(marker, "A forrás fájl elérés bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, 'sourcePath' input parameter missing.");\r
-               }\r
-               if (sourceFileName == null) {\r
-                       logger.error(marker, "A forrás fájlnév bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, 'sourceFileName' input parameter missing.");\r
-               }\r
-               if (targetProtocol == null) {\r
-                       logger.error(marker, "A cél protokol bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, 'targetProtocol' input parameter missing.");\r
-               }\r
-               if (targetPath == null) {\r
-                       logger.error(marker, "A cél fájl elérés bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, 'targetPath' input parameter missing.");\r
-               }\r
-               if (targetFileName == null) {\r
-                       logger.error(marker, "A cél fájlnév bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, 'targetFileName' input parameter missing.");\r
-               }\r
-       }\r
-\r
-       @StepEntry\r
-       public Object[] execute(String sourceProtocol, String sourcePath, String sourceFileName, String targetProtocol, String targetPath, String targetFileName,\r
-                       int killDateDays, IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
-               marker = jobRuntime.getSessionMarker();\r
-\r
-               check(sourceProtocol, sourcePath, sourceFileName, targetProtocol, targetPath, targetFileName, jobEngine, jobRuntime);\r
-\r
-               StoreUri source = null;\r
-               StoreUri target = null;\r
-\r
-               try {\r
-                       source = manager.createStoreUri(Enum.valueOf(RemoteStoreProtocol.class, sourceProtocol), sourcePath);\r
-                       target = manager.createStoreUri(Enum.valueOf(RemoteStoreProtocol.class, targetProtocol), targetPath);\r
-                       source.addProgressListener(new IProgressEventListener() {\r
-                               @Override\r
-                               public void progressChanged(ProgressEvent evt) {\r
-                                       jobRuntime.incrementProgress(evt.getProgress());\r
-                               }\r
-                       });\r
-\r
-                       source.transferFrom(target, sourceFileName, targetFileName);\r
-                       if (killDateDays > -1)\r
-                               EscortFiles.createUNCKillDate(targetPath, targetFileName, killDateDays, marker);\r
-\r
-               } catch (Exception e) {\r
-                       logger.catching(e);\r
-                       throw e;\r
-               } finally {\r
-                       if (source != null) {\r
-                               source.cleanUp();\r
-                       }\r
-                       if (target != null) {\r
-                               target.cleanUp();\r
-                       }\r
-               }\r
-\r
-               return null;\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/GenerateJSONMetadataStep.java b/server/-product/production/OMAR/jobs/steps/GenerateJSONMetadataStep.java
deleted file mode 100644 (file)
index 210d735..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.io.IOException;\r
-import java.nio.file.Paths;\r
-import java.sql.Timestamp;\r
-import java.util.Map;\r
-\r
-import org.apache.commons.io.FilenameUtils;\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-\r
-import user.commons.DownloadableMedia;\r
-import user.commons.StoreUri;\r
-import user.commons.mediaarea.MediaArea;\r
-import user.commons.remotestore.RemoteStoreProtocol;\r
-import user.jobengine.server.steps.shared.EscortFiles;\r
-\r
-public class GenerateJSONMetadataStep extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger();\r
-\r
-       @StepEntry\r
-       public Object[] execute(Map<String, MediaArea> files, String sourceStoreName, String targetStoreName,\r
-                       String escortStoreFolder) {\r
-               if (!files.isEmpty()) {\r
-                       for (String fullPath : files.keySet()) {\r
-                               MediaArea mediaArea = files.get(fullPath);\r
-                               String title = FilenameUtils.getBaseName(fullPath).replace(FilenameUtils.getExtension(fullPath), "");\r
-                               String pathOnly = fullPath.substring(0, fullPath.lastIndexOf("\\") + 1);\r
-                               String filenameOnly = FilenameUtils.getBaseName(fullPath);\r
-                               Timestamp created = null;\r
-                               Timestamp modified = null;\r
-                               long frameCount = mediaArea.getFrameCount();\r
-                               long mediaId = 0;\r
-                               StoreUri sourceStoreUri = getManager().getStoreUri(sourceStoreName, RemoteStoreProtocol.LOCAL);\r
-                               StoreUri targetStoreUri = getManager().getStoreUri(targetStoreName, RemoteStoreProtocol.LOCAL);\r
-                               StoreUri escortStoreUri = getManager().getStoreUri(escortStoreFolder, RemoteStoreProtocol.LOCAL);\r
-\r
-                               try {\r
-                                       String outputPath = Paths.get(escortStoreUri.toString(true)).toString();\r
-                               } catch (Exception e1) {\r
-                                       e1.printStackTrace();\r
-                               }\r
-\r
-                               DownloadableMedia downloadable = DownloadableMedia.create(title, filenameOnly, modified, created,\r
-                                               frameCount, 0, sourceStoreUri.getId(), targetStoreUri.getId(), mediaId);\r
-                               String escortFileName = targetStoreName + "." + downloadable.getString("fileName"); // needed without\r
-                                                                                                                                                                                                       // extension\r
-                               try {\r
-                                       if (EscortFiles.createMetadataIfNotExists(pathOnly, escortFileName,\r
-                                                       downloadable.toPrettyString(""))) {\r
-                                               logger.info(getMarker(), "Archive status file created for {}", fullPath);\r
-                                       } else {\r
-                                               logger.info(getMarker(), "Archive status file already exists for {}", fullPath);\r
-                                       }\r
-                               } catch (IOException e) {\r
-                                       logger.error("{}", e.getCause());\r
-                                       e.printStackTrace();\r
-                               }\r
-                       }\r
-               } else {\r
-                       logger.info("files is empty!");\r
-               }\r
-               return null;\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/HSMMigrateStep.java b/server/-product/production/OMAR/jobs/steps/HSMMigrateStep.java
deleted file mode 100644 (file)
index 895b141..0000000
+++ /dev/null
@@ -1,401 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.io.BufferedInputStream;\r
-import java.io.BufferedOutputStream;\r
-import java.io.File;\r
-import java.io.FileInputStream;\r
-import java.io.FileOutputStream;\r
-import java.io.IOException;\r
-import java.io.InputStream;\r
-import java.io.OutputStream;\r
-import java.nio.file.Files;\r
-import java.nio.file.Path;\r
-import java.nio.file.Paths;\r
-import java.nio.file.attribute.BasicFileAttributes;\r
-import java.text.SimpleDateFormat;\r
-import java.util.Arrays;\r
-import java.util.LinkedHashMap;\r
-import java.util.List;\r
-import java.util.Map;\r
-\r
-import org.apache.commons.io.FilenameUtils;\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-import org.apache.logging.log4j.Marker;\r
-\r
-import com.ibm.nosql.json.api.BasicDBObject;\r
-import com.ibm.nosql.json.api.DB;\r
-import com.ibm.nosql.json.api.DBCollection;\r
-import com.ibm.nosql.json.api.QueryBuilder;\r
-\r
-import user.commons.IEntityBase;\r
-import user.commons.log4j2.marker.MediaCubeMarker;\r
-import user.commons.nosql.NoSQLUtils;\r
-import user.jobengine.db.IItemManager;\r
-import user.jobengine.db.MediaFile;\r
-import user.jobengine.db.MediaFileDAO;\r
-import user.mediacube.metadata.interfaces.IMetadata;\r
-import user.mediacube.metadata.interfaces.IMetadataProvider;\r
-import user.mediacube.metadata.interfaces.IMetadataProviderFactory;\r
-import user.mediacube.metadata.interfaces.MetadataProviderType;\r
-import user.mediacube.metadata.interfaces.MetadataType;\r
-import user.mediacube.metadata.interfaces.PlanAirMetadataListOptions;\r
-\r
-public class HSMMigrateStep extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger();\r
-       private static final String MXFEXT = ".mxf";\r
-       private static final String MOVEXT = ".mov";\r
-       private Marker marker = null;\r
-       private IMetadataProvider hsmProvider;\r
-       private Map<String, BasicDBObject> tapeContents = new LinkedHashMap<>();\r
-       private DBCollection excludes;\r
-       private DBCollection fileHistory;\r
-       private DBCollection volumeHistory;\r
-       private DB db;\r
-       private IMetadataProvider planairProvider;\r
-       private SimpleDateFormat df = new SimpleDateFormat("yyyy.MM.dd");\r
-\r
-       private void cleanupHistory() {\r
-               if (db == null)\r
-                       db = NoSQLUtils.getNoSQLDB();\r
-               if (fileHistory == null)\r
-                       fileHistory = db.getCollection("hsm_migrate_file_history");\r
-               if (volumeHistory == null)\r
-                       volumeHistory = db.getCollection("hsm_migrate_volume_history");\r
-               fileHistory.drop();\r
-               volumeHistory.drop();\r
-       }\r
-\r
-       private BasicDBObject createMetadata(String volumeName, String fileName) throws Exception {\r
-\r
-               Path filePath = Paths.get(fileName);\r
-               String mediaHouseId = FilenameUtils.removeExtension(filePath.getFileName().toString());\r
-               BasicDBObject result = null;\r
-               try {\r
-                       result = getPlanAirMetadata(mediaHouseId);\r
-               } catch (Exception e) {\r
-\r
-                       logger.error("PlanAir metadata error", e);\r
-                       //nem latja a drivert pl.\r
-                       //throw e;\r
-               }\r
-\r
-               if (result == null) {\r
-                       result = new BasicDBObject();\r
-                       BasicFileAttributes attr = Files.readAttributes(filePath, BasicFileAttributes.class);\r
-                       result.put("itemHouseId", df.format(attr.lastModifiedTime().toMillis()));\r
-                       result.put("itemTitle", filePath.getParent().toString());\r
-                       result.put("mediaHouseId", mediaHouseId);\r
-                       result.put("mediaTitle", fileName);\r
-                       result.put("mediaDescription", volumeName);\r
-                       result.put("mediaType", "Generic");\r
-               }\r
-               result.put("userName", "mediacube");\r
-               return result;\r
-       }\r
-\r
-       @SuppressWarnings("serial")\r
-       @StepEntry\r
-       public Object[] execute(String sourceLocation, String targetLocation) throws Exception {\r
-               marker = getJobRuntime().getSessionMarker();\r
-               //remove from prod\r
-               //cleanupHistory();\r
-               hsmProvider = getMetadataProvider(MetadataProviderType.HSM);\r
-               if (hsmProvider == null)\r
-                       throw new NullPointerException("No HSM metadata provider available");\r
-               planairProvider = getMetadataProvider(MetadataProviderType.PLANAIR);\r
-               if (planairProvider == null)\r
-                       throw new NullPointerException("No PLANAIR metadata provider available");\r
-               Path targetPath = Paths.get(targetLocation);\r
-               try {\r
-                       List<IMetadata> volumes = hsmProvider.list(new BasicDBObject());\r
-                       for (IMetadata volume : volumes) {\r
-                               String volumeName = volume.getTitle();\r
-\r
-                               BasicDBObject historyResult = queryVolumeHistory(volumeName);\r
-                               if (historyResult != null) {\r
-                                       logger.info(marker, "A kazetta már feldolgozásra került: {}", volumeName);\r
-                                       continue;\r
-                               }\r
-                               logger.info(marker, "A kazetta feldolgozása elindul: {}", volumeName);\r
-                               List<IMetadata> contents = getContents(volumeName);\r
-                               int p = 0;\r
-                               boolean oneSuccess = false;\r
-                               boolean hasError = false;\r
-                               for (IMetadata content : contents) {\r
-                                       BasicDBObject c = content.asJSON();\r
-                                       String hsmFileName = c.getString("fileName");\r
-                                       long contentFileSize = NoSQLUtils.asLong(c, "fileSize");\r
-                                       if (!tapeContents.containsKey(hsmFileName)) {\r
-                                               tapeContents.put(hsmFileName, c);\r
-                                               Path sourceFilePath = Paths.get(sourceLocation, hsmFileName);\r
-                                               if (contentFileSize < Files.getFileStore(targetPath).getUsableSpace()) {\r
-                                                       Path targetFilePath = Paths.get(targetLocation, sourceFilePath.getFileName().toString());\r
-\r
-                                                       try {\r
-                                                               if (processHSMFile(volumeName, hsmFileName, sourceFilePath, targetFilePath)) {\r
-                                                                       oneSuccess = true;\r
-                                                               }\r
-                                                       } catch (Exception e) {\r
-                                                               hasError = true;\r
-                                                       }\r
-                                               }\r
-                                       }\r
-                                       setProgress(p++ * 100 / contents.size());\r
-\r
-                                       if (getJobRuntime().isWaitingCancel()) {\r
-                                               logger.info("Job canceled by user");\r
-                                               //ne mentsuk a szalagot meg\r
-                                               return null;\r
-                                       }\r
-\r
-                               }\r
-\r
-                               if (oneSuccess && !hasError) {\r
-                                       saveVolumeHistory(volumeName);\r
-                                       String subject = "A kazetta eltávolítható a HSM rendszerből: " + volumeName;\r
-                                       logger.info(new MediaCubeMarker() {\r
-                                               {\r
-                                                       setSubject(subject);\r
-                                               }\r
-                                       }, subject);\r
-                               }\r
-\r
-                               //ha mar sikerult valamit archivalni kilepunk\r
-                               if (oneSuccess)\r
-                                       break;\r
-                       }\r
-               } catch (Exception e) {\r
-                       logger.error(marker, "Hiba a migráció során. A rendszer hibaüzenete: {}", e.getMessage());\r
-                       throw e;\r
-               }\r
-\r
-               return null;\r
-       }\r
-\r
-       private List<IMetadata> getContents(String volumeName) throws Exception {\r
-               List<IMetadata> contents = null;\r
-               contents = hsmProvider.list(new BasicDBObject("volumeName", volumeName));\r
-               return contents;\r
-       }\r
-\r
-       protected IMetadataProvider getMetadataProvider(MetadataProviderType type) {\r
-               IMetadataProviderFactory factory = getService(IMetadataProviderFactory.class);\r
-               if (factory == null)\r
-                       return null;\r
-               return factory.getProvider(type);\r
-       }\r
-\r
-       private BasicDBObject getPlanAirMetadata(String mediaHouseId) throws Exception {\r
-               PlanAirMetadataListOptions opt = new PlanAirMetadataListOptions();\r
-               opt.setSearch(mediaHouseId);\r
-\r
-               List<IMetadata> result = null;\r
-               opt.setType(MetadataType.Material);\r
-               result = planairProvider.list(opt);\r
-               if (result.size() != 0)\r
-                       return result.get(0).asJSON();\r
-\r
-               opt.setType(MetadataType.Promo);\r
-               result = planairProvider.list(opt);\r
-               if (result.size() != 0)\r
-                       return result.get(0).asJSON();\r
-\r
-               opt.setType(MetadataType.AD);\r
-               result = planairProvider.list(opt);\r
-               if (result.size() != 0)\r
-                       return result.get(0).asJSON();\r
-\r
-               return null;\r
-       }\r
-\r
-       //true if need copy\r
-       public boolean prepareCopy(String hsmFileName, Path source, Path target) throws IOException {\r
-               boolean result = true;\r
-               BasicDBObject excludeResult = queryExclude(hsmFileName);\r
-               if (excludeResult != null) {\r
-                       logger.warn(marker, "Kivételként megjelölt: {}", hsmFileName);\r
-                       return false;\r
-               }\r
-\r
-               File sourceFile = source.toFile();\r
-               File targetFile = target.toFile();\r
-\r
-               if (!sourceFile.exists()) {\r
-                       logger.warn(marker, "A forrás nem elérhető: {}", source);\r
-                       return false;\r
-               }\r
-\r
-               //              BasicDBObject historyResult = queryFileHistory(contentFileName);\r
-               //              if (historyResult != null)\r
-               //                      return false;\r
-\r
-               //              if (!mediaFile.getName().toLowerCase().endsWith(MOVEXT.toLowerCase()) && !mediaFile.getName().toLowerCase().endsWith(MXFEXT.toLowerCase()))\r
-               //                      return;\r
-               //              logger.info("Start copy from {} to {}", sourceFilePath, targetFilePath);\r
-\r
-               boolean targetExists = targetFile.exists();\r
-\r
-               long targetLength = targetFile.length();\r
-               long sourceLength = sourceFile.length();\r
-\r
-               if (targetLength == sourceLength) {\r
-                       logger.warn(marker, "A fájl már fel van dolgozva: {}, {} -> {}", source, sourceLength, targetLength);\r
-                       return false;\r
-               }\r
-\r
-               if (targetLength > sourceLength) {\r
-                       logger.warn(marker, "A célfájl nagyobb, törlöm: {}", target);\r
-                       Files.delete(target);\r
-                       targetLength = 0;\r
-                       targetExists = false;\r
-               }\r
-\r
-               if (targetExists) {\r
-                       logger.warn(marker, "A fájl már létezik, a másolás folytatódik: {}, {} -> {}", target, sourceLength, targetLength);\r
-               } else\r
-                       logger.warn(marker, "Migrálás: {}, {} -> {}", source, sourceLength, targetLength);\r
-\r
-               return result;\r
-       }\r
-\r
-       private boolean processHSMFile(String volumeName, String hsmFileName, Path sourceFilePath, Path targetFilePath) throws Exception {\r
-               int repeat = 4;\r
-               boolean successCopy = false;\r
-\r
-               IItemManager manager = getManager();\r
-               MediaFileDAO mfDAO = (MediaFileDAO) manager.getBaseDAO(MediaFile.class);\r
-               List<IEntityBase> mediaFiles = mfDAO.getByHouseId(sourceFilePath.getFileName().toString());\r
-               if (mediaFiles != null && mediaFiles.size() > 0) {\r
-                       logger.warn(marker, "Már archivált: {}", hsmFileName);\r
-                       return false;\r
-               }\r
-\r
-               if (prepareCopy(hsmFileName, sourceFilePath, targetFilePath)) {\r
-                       while (repeat > 0) {\r
-                               try {\r
-                                       resumeableCopy(sourceFilePath, targetFilePath);\r
-                                       repeat = 0;\r
-                                       successCopy = true;\r
-                               } catch (Exception e) {\r
-                                       if (Files.exists(targetFilePath) && targetFilePath.toFile().length() == 0)\r
-                                               Files.delete(targetFilePath);\r
-                                       //logger.warn(marker, "Hiba a másolás során: {} ({})", sourceFilePath, e.getMessage());\r
-                                       repeat--;\r
-                               }\r
-                       }\r
-               }\r
-               String metadataFileName = sourceFilePath.getFileName() + EscortFiles.DOT_JSON;\r
-               Path metadataPath = Paths.get(targetFilePath.getParent().toString(), EscortFiles.STATUSFOLDER, metadataFileName);\r
-               boolean createMetadata = Files.exists(targetFilePath) && !Files.exists(metadataPath);\r
-\r
-               if (successCopy || createMetadata) {\r
-                       String metadata = null;\r
-                       try {\r
-                               metadata = createMetadata(volumeName, hsmFileName).toPrettyString("");\r
-                               EscortFiles.createMetadata(targetFilePath.getParent().toString(), targetFilePath.getFileName().toString(), metadata);\r
-                               //saveFileHistory(contentFileName);\r
-\r
-                       } catch (Exception e) {\r
-                               logger.error(marker, "Metadata error", e);\r
-                               return false;\r
-                       }\r
-                       return true;\r
-               }\r
-\r
-               logger.error(marker, "A fájl másolása nem lehetséges: {}", sourceFilePath);\r
-               return false;\r
-       }\r
-\r
-       public BasicDBObject queryExclude(String fileName) {\r
-               if (db == null)\r
-                       db = NoSQLUtils.getNoSQLDB();\r
-               if (excludes == null)\r
-                       excludes = db.getCollection("hsm_migrate_exclude");\r
-               Path filePath = Paths.get(fileName);\r
-               String pureFileName = FilenameUtils.removeExtension(filePath.getFileName().toString());\r
-               QueryBuilder qb = QueryBuilder.start("name").in(Arrays.asList(fileName, pureFileName));\r
-               BasicDBObject exceptionResult = NoSQLUtils.asSingle(excludes.find(qb.get()));\r
-               return exceptionResult;\r
-       }\r
-\r
-       public BasicDBObject queryFileHistory(String fileName) {\r
-               if (db == null)\r
-                       db = NoSQLUtils.getNoSQLDB();\r
-               if (fileHistory == null)\r
-                       fileHistory = db.getCollection("hsm_migrate_file_history");\r
-               QueryBuilder qb = QueryBuilder.start("name").in(Arrays.asList(fileName));\r
-               BasicDBObject historyResult = NoSQLUtils.asSingle(fileHistory.find(qb.get()));\r
-               return historyResult;\r
-       }\r
-\r
-       public BasicDBObject queryVolumeHistory(String volumeName) {\r
-               if (db == null)\r
-                       db = NoSQLUtils.getNoSQLDB();\r
-               if (volumeHistory == null)\r
-                       volumeHistory = db.getCollection("hsm_migrate_volume_history");\r
-               QueryBuilder qb = QueryBuilder.start("name").in(Arrays.asList(volumeName));\r
-               BasicDBObject historyResult = NoSQLUtils.asSingle(volumeHistory.find(qb.get()));\r
-               return historyResult;\r
-       }\r
-\r
-       public void resumeableCopy(Path source, Path target) throws Exception {\r
-               File sourceFile = source.toFile();\r
-               File targetFile = target.toFile();\r
-               boolean targetExists = targetFile.exists();\r
-\r
-               long targetLength = targetFile.length();\r
-               long sourceLength = sourceFile.length();\r
-\r
-               try (InputStream in = new BufferedInputStream(new FileInputStream(sourceFile));\r
-                               OutputStream out = new BufferedOutputStream(new FileOutputStream(targetFile, targetExists))) {\r
-\r
-                       byte[] buffer = new byte[128 * 1024];\r
-                       int lengthRead;\r
-\r
-                       if (targetExists)\r
-                               in.skip(targetLength);\r
-\r
-                       while ((lengthRead = in.read(buffer)) > 0) {\r
-                               out.write(buffer, 0, lengthRead);\r
-                               out.flush();\r
-                               targetLength = targetFile.length();\r
-                               if (targetLength > sourceLength) {\r
-                                       throw new Exception("Hiba! A fájl túl nagy lett.");\r
-                               }\r
-\r
-                               if (getJobRuntime().isWaitingCancel()) {\r
-                                       break;\r
-                               }\r
-                       }\r
-\r
-                       targetLength = targetFile.length();\r
-                       sourceLength = sourceFile.length();\r
-                       if (targetLength != sourceLength) {\r
-                               throw new Exception("Hiba! A fájl mérete nem egyezik.");\r
-                       }\r
-               }\r
-       }\r
-\r
-       private void saveFileHistory(String fileName) {\r
-               if (db == null)\r
-                       db = NoSQLUtils.getNoSQLDB();\r
-               if (fileHistory == null)\r
-                       fileHistory = db.getCollection("hsm_migrate_file_history");\r
-               BasicDBObject item = new BasicDBObject();\r
-               item.put("name", fileName);\r
-               fileHistory.save(item);\r
-\r
-       }\r
-\r
-       private void saveVolumeHistory(String volumeName) {\r
-               if (db == null)\r
-                       db = NoSQLUtils.getNoSQLDB();\r
-               if (volumeHistory == null)\r
-                       volumeHistory = db.getCollection("hsm_migrate_volume_history");\r
-               BasicDBObject item = new BasicDBObject();\r
-               item.put("name", volumeName);\r
-               volumeHistory.save(item);\r
-\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/IntegrationTestStep.java b/server/-product/production/OMAR/jobs/steps/IntegrationTestStep.java
deleted file mode 100644 (file)
index 081d02d..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.nio.file.Files;\r
-import java.nio.file.Path;\r
-import java.nio.file.Paths;\r
-import java.util.concurrent.CountDownLatch;\r
-\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-\r
-import user.commons.ListUtils;\r
-import user.jobengine.db.ArchivedMedia;\r
-import user.jobengine.db.Item;\r
-import user.jobengine.db.Media;\r
-import user.jobengine.server.steps.shared.ItemManagerExtensions;\r
-\r
-public class IntegrationTestStep extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger();\r
-       private ArchivedMedia archivedMedia;\r
-\r
-       private void _00_test_cancelable() throws Exception {\r
-               CountDownLatch finishLatch = new CountDownLatch(1);\r
-               getEngine().submit(null, e -> {\r
-                       if (e.isRuntimeTerminated())\r
-                               finishLatch.countDown();\r
-               }, "cancelable.xml", "Test cancelable", ListUtils.asMap("param", 1));\r
-               finishLatch.await();\r
-               logger.info("_00_test_cancelable SUCCESS");\r
-       }\r
-\r
-       private void _01_test_retrieve_ondemand() throws Exception {\r
-               archivedMedia = new ArchivedMedia();\r
-               Media media = getManager().getMedia(15285);\r
-               Item item = getManager().getItem(media.getItemId());\r
-               archivedMedia.setItem(item);\r
-               archivedMedia.setMedia(media);\r
-\r
-               CountDownLatch finishLatch = new CountDownLatch(1);\r
-               getEngine().submit(null, e -> {\r
-                       if (e.isRuntimeTerminated())\r
-                               finishLatch.countDown();\r
-\r
-               }, "retrieve-ondemand.xml", "Test retrieve-ondemand",\r
-                               ListUtils.asMap("globalRetrievePath", "file://10.11.1.100", "localRetrievePath", "/mediacube/data", "materialOutputFolder", "/",\r
-                                               "promoOutputFolder", "/", "advertisementOutputFolder", "/", "octopusOutputFolder", "/", "genericOutputFolder", "/",\r
-                                               "onlineOutputFolder", "/", "killDateDays", -1, "nexioAgency", "ARCHIVE_RESTORE", "nexioPort", 2098, "nexioUserName", "administrator",\r
-                                               "nexioPassword", "system", "archivedMedia", archivedMedia, "successRecipient", "vasary@elgekko.net", "houseId",\r
-                                               archivedMedia.getMedia().getHouseId(), "targetPathType", "0"));\r
-\r
-               finishLatch.await();\r
-               Path output = Paths.get("/mediacube/data", archivedMedia.getMedia().getHouseId(),\r
-                               archivedMedia.getMedia().getHouseId() + "-ARCH-" + archivedMedia.getMedia().getMediaFileRealName());\r
-               if (!Files.exists(output))\r
-                       throw new Exception("File does not exist: " + output);\r
-\r
-               logger.info("_01_test_retrieve_ondemand SUCCESS");\r
-       }\r
-\r
-       private void _02_test_archive_material() throws Exception {\r
-               Path input = Paths.get("/mediacube/data", archivedMedia.getMedia().getHouseId(),\r
-                               archivedMedia.getMedia().getHouseId() + "-ARCH-" + archivedMedia.getMedia().getMediaFileRealName());\r
-\r
-               String outputName = "IntegrationTest_" + System.currentTimeMillis() + ".mxf";\r
-               Path output = Paths.get(input.getParent().toString(), outputName);\r
-               Files.copy(input, output);\r
-               if (!Files.exists(output))\r
-                       throw new Exception("File does not exist: " + output);\r
-\r
-               ArchiveItem archiveItem = new ArchiveItem();\r
-               archiveItem.setMediaFile(output.toString());\r
-               archiveItem.setItemHouseId(outputName);\r
-               archiveItem.setItemTitle(outputName);\r
-               archiveItem.setMediaHouseId(outputName);\r
-               archiveItem.setMediaTitle(outputName);\r
-               archiveItem.setMediaType("Generic");\r
-\r
-               CountDownLatch finishLatch = new CountDownLatch(1);\r
-               getEngine().submit(null, e -> {\r
-                       if (e.isRuntimeTerminated())\r
-                               finishLatch.countDown();\r
-               }, "archive-material.xml", "Test archive-material", ListUtils.asMap("archiveItem", archiveItem, "killDateDays", 0));\r
-               finishLatch.await();\r
-\r
-               if (!ItemManagerExtensions.isArchived(getManager(), output))\r
-                       throw new Exception("File not archived: " + output);\r
-\r
-               Files.delete(output);\r
-\r
-               logger.info("_02_test_archive_material SUCCESS");\r
-       }\r
-\r
-       private void _03_test_delete_materials() throws Exception {\r
-               Path output = Paths.get("/mediacube/data", archivedMedia.getMedia().getHouseId(),\r
-                               archivedMedia.getMedia().getHouseId() + "-ARCH-" + archivedMedia.getMedia().getMediaFileRealName());\r
-               String source = output.getParent().toString();\r
-\r
-               CountDownLatch finishLatch = new CountDownLatch(1);\r
-               getEngine().submit(null, e -> {\r
-                       if (e.isRuntimeTerminated())\r
-                               finishLatch.countDown();\r
-               }, "delete-materials.xml", "Test delete-materials", ListUtils.asMap("sourcePath", source, "skipArchiveCheck", true));\r
-               finishLatch.await();\r
-\r
-               if (Files.exists(output))\r
-                       throw new Exception("File exists: " + output);\r
-       }\r
-\r
-       @StepEntry\r
-       public Object[] execute() throws Exception {\r
-               getJobRuntime().setDescription("_00_test_cancelable");\r
-               _00_test_cancelable();\r
-               setProgress(25);\r
-\r
-               getJobRuntime().setDescription("_01_test_retrieve_ondemand");\r
-               _01_test_retrieve_ondemand();\r
-               setProgress(50);\r
-\r
-               getJobRuntime().setDescription("_02_test_archive_material");\r
-               _02_test_archive_material();\r
-               setProgress(75);\r
-\r
-               getJobRuntime().setDescription("_03_test_delete_materials");\r
-               _03_test_delete_materials();\r
-               setProgress(100);\r
-               return null;\r
-       }\r
-\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/MXFCutterStep.java b/server/-product/production/OMAR/jobs/steps/MXFCutterStep.java
deleted file mode 100644 (file)
index 58a5944..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import org.apache.commons.lang.StringUtils;\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.remotestore.IProgressEventListener;\r
-import user.commons.remotestore.ProgressEvent;\r
-import user.commons.remotestore.RemoteStoreProtocol;\r
-//import user.jobengine.db.Media;\r
-import user.jobengine.db.ArchivedMedia;\r
-import user.jobengine.db.IItemManager;\r
-import user.jobengine.db.Store;\r
-import user.jobengine.server.IJobEngine;\r
-import user.jobengine.server.IJobRuntime;\r
-\r
-public class MXFCutterStep extends JobStep {\r
-       private static final String TARGETNAMEPATTERN = "-ARCH-%s";\r
-       private static final Logger logger = LogManager.getLogger();\r
-       private IItemManager manager;\r
-       private StoreUri tempTargetUri;\r
-       private StoreUri tempSourceUri;\r
-       private String sourceFileName;\r
-       private Marker marker;\r
-       private int nexioPort;\r
-       private String nexioUserName, nexioPassword;\r
-       private String nexioHost;\r
-\r
-       protected void checkTargetPath(String targetPath) {\r
-               if (StringUtils.isBlank(targetPath)) {\r
-                       logger.error(marker, "A folyamat 'targetPath' bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, 'targetPath' input parameter missing.");\r
-               }\r
-       }\r
-\r
-       protected StoreUri createTargetUri(IItemManager manager, String targetPath) throws NullPointerException {\r
-               StoreUri result = null;\r
-               result = manager.createStoreUri(RemoteStoreProtocol.FTP, nexioHost);\r
-               result.setPortNumber(nexioPort);\r
-               result.setUserName(nexioUserName);\r
-               result.setPassword(nexioPassword);\r
-\r
-               return result;\r
-       }\r
-\r
-       @StepEntry\r
-       public Object[] execute(ArchivedMedia archivedMedia, String targetPath, String houseId, String successRecipient, int killDateDays, boolean useNexioTarget,\r
-                       String nexioAgency, int nexioPort, String nexioUserName, String nexioPassword, IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
-               this.nexioPort = nexioPort;\r
-               this.nexioUserName = nexioUserName;\r
-               this.nexioPassword = nexioPassword;\r
-               nexioHost = System.getProperty("nexio.host");\r
-               marker = jobRuntime.getSessionMarker();\r
-\r
-               if (useNexioTarget && archivedMedia.getTcIn() != null && archivedMedia.getTcOut() != null) {\r
-                       setAndCheck(archivedMedia, houseId, targetPath, useNexioTarget, jobEngine);\r
-\r
-                       final IJobRuntime runtime = jobRuntime;\r
-                       sourceFileName = houseId + TARGETNAMEPATTERN;\r
-                       tempSourceUri.addProgressListener(new IProgressEventListener() {\r
-                               @Override\r
-                               public void progressChanged(ProgressEvent evt) {\r
-                                       runtime.incrementProgress(evt.getProgress());\r
-                               }\r
-                       });\r
-\r
-                       RemoteFile result = tempSourceUri.transferFrom(tempTargetUri, sourceFileName, sourceFileName);\r
-\r
-                       EscortFiles.setNEXIOKillDate(killDateDays, houseId, nexioAgency, tempTargetUri);\r
-\r
-                       logger.info("A {} videó kivágva {}s - {}s", sourceFileName, archivedMedia.getTcIn(), archivedMedia.getTcOut());\r
-               }\r
-\r
-               return null;\r
-       }\r
-\r
-       // private String getSourceFileName(ArchivedMedia archivedMedia, Store\r
-       // store) {\r
-       // List<MediaFile> mediaFiles = archivedMedia.getMedia().getMediaFiles();\r
-       // if (mediaFiles == null)\r
-       // return null;\r
-       // for (MediaFile mediaFile : mediaFiles) {\r
-       // if (mediaFile.getStore().getId() == store.getId())\r
-       // return mediaFile.getRelativePath();\r
-       // }\r
-       // return null;\r
-       // }\r
-\r
-       private void setAndCheck(ArchivedMedia archivedMedia, String houseId, String targetPath, boolean useNexioTarget, IJobEngine jobEngine) {\r
-               if (jobEngine == null) {\r
-                       logger.error(marker, "A folyamatkezelő réteg nem elérhető.");\r
-                       throw new NullPointerException("Internal error, missing JobEngine reference.");\r
-               }\r
-               manager = jobEngine.getItemManager();\r
-               if (manager == null) {\r
-                       logger.error(marker, "Az adatbáziskezelő réteg nem elérhető.");\r
-                       throw new NullPointerException("Internal error, missing ItemManager reference.");\r
-               }\r
-               if (archivedMedia == null) {\r
-                       logger.error(marker, "A folyamat 'mediaCubeMedia' bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, 'mediaCubeMedia' input parameter missing.");\r
-               }\r
-               checkTargetPath(targetPath);\r
-               if (StringUtils.isBlank(houseId)) {\r
-                       logger.error(marker, "A folyamat 'houseId' bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, 'houseId' input parameter missing.");\r
-               }\r
-               Store tsmStore = manager.getSystemStore(false);\r
-               if (tsmStore == null) {\r
-                       logger.error(marker, "A TSM rendszer beállítás nem elérhető.");\r
-                       throw new NullPointerException("System is not configured properly, missing TSM Store.");\r
-               }\r
-\r
-               tempSourceUri = manager.createStoreUri(RemoteStoreProtocol.LOCAL, targetPath);\r
-               if (tempSourceUri == null) {\r
-                       logger.error(marker, "A TSM rendszer beállítás paraméterei nem elérhetőek.");\r
-                       throw new NullPointerException("System is not configured properly, missing TSM StoreUri.");\r
-               }\r
-               tempTargetUri = createTargetUri(manager, targetPath);\r
-               // sourceFileName = getSourceFileName(archivedMedia, tsmStore);\r
-               if (sourceFileName == null) {\r
-                       logger.error(marker, "Adatbázis bejegyzés hiba, a visszatöltendő fájl neve nem található.");\r
-                       throw new NullPointerException("Database error, missing MediaFile 'relativePath'.");\r
-               }\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/MediaToolStep.java b/server/-product/production/OMAR/jobs/steps/MediaToolStep.java
deleted file mode 100644 (file)
index ecc0ba2..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.nio.file.Path;\r
-import java.nio.file.Paths;\r
-\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-\r
-import user.commons.mediaarea.MediaArea;\r
-import user.jobengine.db.Media;\r
-\r
-public class MediaToolStep extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger();\r
-\r
-       @StepEntry\r
-       public Object[] execute(ArchiveItem archiveItem, Media mediaCubeMedia) throws Exception {\r
-               Path filePath = Paths.get(archiveItem.getMediaFile());\r
-               MediaArea ma = new MediaArea(filePath);\r
-               ma.process();\r
-               long frames = ma.getFrameCount();\r
-               if (frames > 0) {\r
-                       logger.info("Media {} length is {}", filePath, frames);\r
-                       mediaCubeMedia.setLength(frames);\r
-                       getManager().modify(mediaCubeMedia);\r
-               }\r
-               return null;\r
-       }\r
-\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/MetadataTransformStep.java b/server/-product/production/OMAR/jobs/steps/MetadataTransformStep.java
deleted file mode 100644 (file)
index 9bf16e9..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.io.File;\r
-import java.nio.file.Files;\r
-import java.nio.file.Path;\r
-import java.nio.file.Paths;\r
-import java.nio.file.attribute.FileAttribute;\r
-import java.nio.file.attribute.PosixFilePermission;\r
-import java.nio.file.attribute.PosixFilePermissions;\r
-import java.util.Date;\r
-import java.util.Set;\r
-\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-import org.apache.logging.log4j.Marker;\r
-\r
-import com.ibm.nosql.json.api.BasicDBList;\r
-\r
-import user.jobengine.db.Item;\r
-import user.jobengine.db.ItemManager;\r
-import user.jobengine.db.ItemType;\r
-import user.jobengine.db.Media;\r
-import user.jobengine.server.IJobEngine;\r
-import user.jobengine.server.IJobRuntime;\r
-\r
-/**\r
- * Itemek es mediak krealasa az ArchiveItem objektum alapjan.\r
- *\r
- * @author robi\r
- */\r
-public class MetadataTransformStep extends JobStep {\r
-       private static final String CONFLICT = ".CONFLICT";\r
-       private static final Logger logger = LogManager.getLogger();\r
-       private static final String ITEM_MANAGER_IS_NULL = "ItemManager is null";\r
-       public static final String DEFAULT_MEDIATYPE = "Generic";\r
-       private ItemManager itemManager;\r
-\r
-       private Marker marker;\r
-\r
-       private void addTags(ArchiveItem archiveItem, Media mediaCubeMedia) {\r
-               BasicDBList tags = archiveItem.getTags();\r
-               if (tags != null) {\r
-                       for (Object tag : tags) {\r
-\r
-                               try {\r
-                                       String tagText = String.valueOf(tag);\r
-                                       itemManager.addMediaTag(tagText, mediaCubeMedia.getId());\r
-                                       System.out.println();\r
-\r
-                               } catch (Exception e) {\r
-                                       logger.catching(e);\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-\r
-       private void checkDuplicates(ArchiveItem archiveItem, String sourceFileName) throws Exception {\r
-               if (itemManager.isMediaFileExists(sourceFileName)) {\r
-                       try {\r
-                               Path sourcePath = Paths.get(archiveItem.getMediaFile());\r
-                               Path parent = sourcePath.getParent();\r
-                               Path conflictPath = Paths.get(parent.toString(), CONFLICT);\r
-                               File folder = conflictPath.toFile();\r
-                               if (!folder.exists() || !folder.isDirectory()) {\r
-                                       Set<PosixFilePermission> perms = PosixFilePermissions.fromString("rwxrwxrwx");\r
-                                       FileAttribute<Set<PosixFilePermission>> attr = PosixFilePermissions.asFileAttribute(perms);\r
-                                       try {\r
-                                               Files.createDirectories(conflictPath, attr);\r
-                                       } catch (Exception e) {\r
-                                               try {\r
-                                                       Files.createDirectory(conflictPath);\r
-                                               } catch (Exception e1) {\r
-                                                       logger.catching(e);\r
-                                                       throw e;\r
-                                               }\r
-                                       }\r
-                               }\r
-\r
-                               Files.move(sourcePath, Paths.get(conflictPath.toString(), sourceFileName + (new Date()).getTime()));\r
-                       } catch (Exception e1) {\r
-                               logger.catching(e1);\r
-                               logger.error(marker, "Hiba az '{}' állomány mappába másolásakor. A rendszer üzenete: {}", CONFLICT, e1.getMessage());\r
-                       }\r
-                       throw new Exception("Az '" + sourceFileName + "' állomány már megtalálható az archívumban, archiválása nem lehetséges.");\r
-               }\r
-       }\r
-\r
-       private Item createItem(ArchiveItem archiveItem) {\r
-               Item mediaCubeItem = getExistingItem(archiveItem.getItemHouseId(), archiveItem.getItemTitle());\r
-               if (mediaCubeItem == null)\r
-                       mediaCubeItem = itemManager.createItem(DEFAULT_MEDIATYPE, archiveItem.getItemTitle(), archiveItem.getItemDescription(),\r
-                                       archiveItem.getItemHouseId());\r
-               return mediaCubeItem;\r
-       }\r
-\r
-       private Media createMedia(ArchiveItem archiveItem, Item mediaCubeItem, String mediaType) {\r
-               Media mediaCubeMedia;\r
-               mediaCubeMedia = itemManager.createMedia(mediaType, archiveItem.getMediaTitle(), archiveItem.getMediaDescription(), archiveItem.getMediaHouseId());\r
-               mediaCubeMedia.setLength(archiveItem.getDuration());\r
-               mediaCubeItem.appendMedia(mediaCubeMedia);\r
-\r
-               return mediaCubeMedia;\r
-       }\r
-\r
-       @StepEntry\r
-       public Object[] execute(ArchiveItem archiveItem, IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
-               marker = jobRuntime.getSessionMarker();\r
-               Media mediaCubeMedia = null;\r
-               itemManager = (ItemManager) jobEngine.getItemManager();\r
-               if (itemManager == null)\r
-                       throw new NullPointerException(ITEM_MANAGER_IS_NULL);\r
-               try {\r
-                       File sourceMediaFile = new File(archiveItem.getMediaFile());\r
-                       String sourceFileName = sourceMediaFile.getName();\r
-                       checkDuplicates(archiveItem, sourceFileName);\r
-                       Item mediaCubeItem = createItem(archiveItem);\r
-                       jobRuntime.incrementProgress(50);\r
-                       String mediaType = getCreateType(archiveItem);\r
-                       mediaCubeMedia = createMedia(archiveItem, mediaCubeItem, mediaType);\r
-                       //ha itemid 0 akkor merge, egyebkent media insert\r
-\r
-                       if (mediaCubeItem.getId() == 0)\r
-                               itemManager.mergeItemStructure(mediaCubeItem);\r
-                       else {\r
-                               mediaCubeMedia.setItemId(mediaCubeItem.getId());\r
-                               mediaCubeMedia.add();\r
-                       }\r
-\r
-                       addTags(archiveItem, mediaCubeMedia);\r
-\r
-               } catch (Exception e) {\r
-                       logger.catching(e);\r
-                       String fileName = new File(archiveItem.getMediaFile()).getName();\r
-                       logger.error(marker, "Az '{}' állomány nem archiválható, mert a metaadat transzformáció sikertelen. A rendszer üzenete: {}", fileName,\r
-                                       e.getMessage());\r
-                       if (!archiveItem.removeCatchedFile())\r
-                               logger.error(marker, "Az '{}' állomány .catched jelző állománya nem törölhető.", fileName);\r
-                       throw e;\r
-               } finally {\r
-                       jobRuntime.incrementProgress(100);\r
-               }\r
-               return new Object[] { mediaCubeMedia };\r
-       }\r
-\r
-       private String getCreateType(ArchiveItem archiveItem) {\r
-               String mediaType = archiveItem.getMediaType();\r
-               if (mediaType == null || mediaType.length() == 0)\r
-                       mediaType = DEFAULT_MEDIATYPE;\r
-               else {\r
-                       ItemType mediaItemType = itemManager.getItemType(mediaType);\r
-                       if (mediaItemType == null)\r
-                               itemManager.createItemType(mediaType, mediaType).add();\r
-               }\r
-               return mediaType;\r
-       }\r
-\r
-       private Item getExistingItem(String itemHouseId, String itemTitle) {\r
-               Item[] result = new Item[] { null };\r
-               String sql = String.format("select id from item where houseid='%s' and title='%s'", itemHouseId, itemTitle);\r
-               itemManager.executeQuery(sql, rs -> {\r
-                       long id = rs.getLong("id");\r
-                       result[0] = itemManager.getItem(id);\r
-                       return true;\r
-               }, null);\r
-               return result[0];\r
-       }\r
-\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/MetadataUpdater.java b/server/-product/production/OMAR/jobs/steps/MetadataUpdater.java
deleted file mode 100644 (file)
index a28abfa..0000000
+++ /dev/null
@@ -1,297 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.io.IOException;\r
-import java.nio.file.Path;\r
-import java.nio.file.Paths;\r
-import java.sql.ResultSet;\r
-import java.text.SimpleDateFormat;\r
-import java.util.Date;\r
-import java.util.LinkedHashSet;\r
-import java.util.List;\r
-import java.util.Set;\r
-\r
-import org.apache.commons.io.FileUtils;\r
-import org.apache.ibatis.jdbc.SQL;\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-import org.apache.logging.log4j.Marker;\r
-import org.apache.logging.log4j.MarkerManager;\r
-\r
-import com.ibm.nosql.json.api.BasicDBObject;\r
-\r
-import user.jobengine.db.IItemManager;\r
-import user.jobengine.server.steps.shared.MetadataTypeDetector;\r
-import user.mediacube.metadata.interfaces.IMetadata;\r
-import user.mediacube.metadata.interfaces.IMetadataProvider;\r
-import user.mediacube.metadata.interfaces.IMetadataProviderFactory;\r
-import user.mediacube.metadata.interfaces.MetadataProviderType;\r
-import user.mediacube.metadata.interfaces.MetadataType;\r
-import user.mediacube.metadata.interfaces.PlanAirMetadataListOptions;\r
-\r
-public class MetadataUpdater extends JobStep {\r
-       private static final String EMPTY = "";\r
-       private static final String DOT = ".";\r
-       private static final Logger logger = LogManager.getLogger(MetadataUpdater.class);\r
-       private Marker csvMarker = MarkerManager.getMarker("METADATA-UPDATER-CSV");\r
-\r
-       private static final String ITEM_TITLE = "itemTitle";\r
-       private static final String ITEM_HOUSEID = "itemHouseId";\r
-       private static final String MEDIA_HOUSEID = "mediaHouseId";\r
-       private static final String MEDIA_TITLE = "mediaTitle";\r
-       private static final String MEDIA_DESCRIPTION = "mediaDescription";\r
-       private static final String MEDIA_TYPE = "mediaType";\r
-       private static final String MEDIAFILE_HOUSEID = "mediaFileHouseId";\r
-\r
-       private SimpleDateFormat df = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");\r
-       private Set<String> includeList;\r
-\r
-       public String createQuery() {\r
-               SQL isql = new SQL();\r
-               isql.SELECT("id");\r
-               isql.FROM("STORE");\r
-               isql.WHERE("name = 'TSM'");\r
-\r
-               SQL sql = new SQL();\r
-               sql.SELECT("i.id          AS itemId");\r
-               sql.SELECT("i.houseid     AS itemHouseId");\r
-               sql.SELECT("i.title       AS itemTitle");\r
-               //sql.SELECT("i.description AS itemdescription");\r
-               sql.SELECT("m.id          AS mediaId");\r
-               sql.SELECT("m.houseid     AS mediaHouseId");\r
-               sql.SELECT("m.title       AS mediaTitle");\r
-               sql.SELECT("m.description AS mediaDescription");\r
-               sql.SELECT("mf.houseid    AS mediaFileHouseId");\r
-               sql.FROM("MEDIAFILE mf");\r
-               sql.LEFT_OUTER_JOIN("MEDIA m ON (m.id = mf.mediaid)");\r
-               sql.LEFT_OUTER_JOIN("ITEM i ON (i.id = m.itemid)");\r
-               sql.WHERE(String.format("mf.storeid = (%s)", isql.toString()));\r
-               return sql.toString();\r
-       }\r
-\r
-       public String createCountQuery() {\r
-               SQL sql = new SQL();\r
-               sql.SELECT("COUNT(*) as count");\r
-               sql.FROM("MEDIA");\r
-               return sql.toString();\r
-       }\r
-\r
-       @StepEntry\r
-       public Object[] execute() throws Exception {\r
-               try {\r
-\r
-                       String location = "/opt/test-mediacube/file_list_original.txt";\r
-                       includeList = loadIncludeList(location);\r
-\r
-                       IItemManager manager = getManager();\r
-                       String sql = createCountQuery();\r
-                       long[] count = new long[1];\r
-                       count[0] = 0;\r
-                       manager.executeQuery(sql, rs -> {\r
-                               try {\r
-                                       count[0] = rs.getLong("count");\r
-                                       logger.info(getSessionMarker(), "Processing rs");\r
-                               } catch (Exception e) {\r
-                                       logger.error(getMarker(), e.getMessage());\r
-                               }\r
-                               return true;\r
-                       }, null);\r
-\r
-                       logger.info(getSessionMarker(), "Count {}", count[0]);\r
-\r
-                       long[] current = new long[1];\r
-                       current[0] = 0;\r
-\r
-                       logger.info(csvMarker,\r
-                                       "Date;Name;isProgramById;includeContains;isMetadataEquals;itemHouseId;P itemHouseId;itemHouseIdEquals;itemTitle;P itemTitle;itemTitleEquals;mediaHouseId;"\r
-                                                       + "P mediaHouseId;mediaHouseIdEquals;mediaTitle;P mediaTitle;mediaTitleEquals;"\r
-                                                       + "mediaDescription;P mediaDescription;mediaDescriptionEquals;");\r
-\r
-                       sql = createQuery();\r
-                       manager.executeQuery(sql, rs -> {\r
-\r
-                               if (getJobRuntime().isWaitingCancel())\r
-                                       return false;\r
-\r
-                               current[0]++;\r
-                               processRecord(rs);\r
-                               int p = ((int) current[0] * 100) / ((int) count[0]);\r
-                               setProgress(p);\r
-                               return true;\r
-                       }, null);\r
-\r
-               } catch (Exception e) {\r
-                       logger.error(getSessionMarker(), e.getMessage());\r
-               }\r
-               return null;\r
-       }\r
-\r
-       private String set(String value) {\r
-               return value == null ? EMPTY : value;\r
-       }\r
-\r
-       private void processRecord(ResultSet rs) {\r
-               try {\r
-                       String itemHouseId = set(rs.getString(ITEM_HOUSEID));\r
-                       String itemTitle = set(rs.getString(ITEM_TITLE));\r
-                       String mediaHouseId = set(rs.getString(MEDIA_HOUSEID));\r
-                       String mediaTitle = set(rs.getString(MEDIA_TITLE));\r
-                       String mediaDescription = set(rs.getString(MEDIA_DESCRIPTION));\r
-                       String pitemHouseId = EMPTY;\r
-                       String pitemTitle = EMPTY;\r
-                       String pmediaHouseId = EMPTY;\r
-                       String pmediaTitle = EMPTY;\r
-                       String pmediaDescription = EMPTY;\r
-\r
-                       String fileName = rs.getString(MEDIAFILE_HOUSEID);\r
-                       String mediaFileHouseId = fileName;\r
-                       if (mediaFileHouseId.contains(DOT))\r
-                               mediaFileHouseId = mediaFileHouseId.substring(0, mediaFileHouseId.lastIndexOf(DOT));\r
-\r
-                       user.jobengine.server.steps.shared.MetadataType metadataType = MetadataTypeDetector\r
-                                       .GuessMetadataType(mediaFileHouseId);\r
-\r
-                       boolean isProgramById = false;\r
-                       boolean includeContains = includeList.contains(fileName);\r
-                       boolean itemHouseIdEquals = false;\r
-                       boolean itemTitleEquals = false;\r
-                       boolean mediaHouseIdEquals = false;\r
-                       boolean mediaTitleEquals = false;\r
-                       boolean mediaDescriptionEquals = false;\r
-\r
-                       logger.info(getMarker(), "{} {}", mediaFileHouseId, metadataType);\r
-                       ArchiveItem archiveItem = getPlanAirMetadata(mediaFileHouseId);\r
-                       if (archiveItem != null) {\r
-                               isProgramById = true;\r
-\r
-                               if (isProgramById) {\r
-\r
-                                       pitemHouseId = set(archiveItem.getItemHouseId());\r
-                                       itemHouseIdEquals = pitemHouseId.equals(itemHouseId);\r
-\r
-                                       pitemTitle = set(archiveItem.getItemTitle());\r
-                                       itemTitleEquals = pitemTitle.equals(itemTitle);\r
-\r
-                                       pmediaHouseId = set(archiveItem.getMediaHouseId());\r
-                                       mediaHouseIdEquals = pmediaHouseId.equals(mediaHouseId);\r
-\r
-                                       pmediaTitle = set(archiveItem.getMediaTitle());\r
-                                       mediaTitleEquals = pmediaTitle.equals(mediaTitle);\r
-\r
-                                       pmediaDescription = set(archiveItem.getMediaDescription());\r
-                                       mediaDescriptionEquals = pmediaDescription.equals(mediaDescription);\r
-\r
-                                       boolean isMetadataEquals = itemHouseIdEquals && itemTitleEquals && mediaHouseIdEquals\r
-                                                       && mediaTitleEquals && mediaDescriptionEquals;\r
-\r
-                                       Date now = new Date(System.currentTimeMillis());\r
-                                       logger.info(csvMarker, "{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};", D(now),\r
-                                                       fileName, YN(isProgramById), YN(includeContains), YN(isMetadataEquals), itemHouseId,\r
-                                                       pitemHouseId, itemHouseIdEquals, itemTitle, pitemTitle, itemTitleEquals, mediaHouseId,\r
-                                                       pmediaHouseId, mediaHouseIdEquals, mediaTitle, pmediaTitle, mediaTitleEquals,\r
-                                                       mediaDescription, pmediaDescription, mediaDescriptionEquals);\r
-\r
-                                       logger.info(getSessionMarker(), "Processed {} {}{}{}", fileName, YN(isProgramById),\r
-                                                       YN(includeContains), YN(isMetadataEquals));\r
-                               }\r
-                       }\r
-\r
-               } catch (\r
-\r
-               Exception e) {\r
-                       logger.error(getSessionMarker(), e.getMessage());\r
-               }\r
-\r
-       }\r
-\r
-       private ArchiveItem getPlanAirMetadata(String mediaHouseId) throws Exception {\r
-               PlanAirMetadataListOptions opt = new PlanAirMetadataListOptions();\r
-               opt.setSearch(mediaHouseId);\r
-               opt.setType(MetadataType.Material);\r
-\r
-               BasicDBObject json = null;\r
-               List<IMetadata> data = null;\r
-\r
-               IMetadataProviderFactory factory = getService(IMetadataProviderFactory.class);\r
-               if (factory == null)\r
-                       logger.info(getSessionMarker(), "IMetadataProviderFactory is null");\r
-\r
-               IMetadataProvider planairProvider = factory.getProvider(MetadataProviderType.PLANAIR);\r
-               if (planairProvider == null)\r
-                       logger.info(getSessionMarker(), "IMetadataProvider is null");\r
-\r
-               ArchiveItem result = null;\r
-               data = planairProvider.list(opt);\r
-               if (data.size() != 0)\r
-                       json = data.get(0).asJSON();\r
-               else {\r
-                       opt.setType(MetadataType.Promo);\r
-                       data = planairProvider.list(opt);\r
-                       if (data.size() != 0)\r
-                               json = data.get(0).asJSON();\r
-                       else {\r
-                               opt.setType(MetadataType.AD);\r
-                               data = planairProvider.list(opt);\r
-                               if (data.size() != 0)\r
-                                       json = data.get(0).asJSON();\r
-                       }\r
-               }\r
-               if (json != null) {\r
-                       result = new ArchiveItem();\r
-                       result.setItemHouseId(json.getString(ITEM_HOUSEID));\r
-                       result.setItemTitle(json.getString(ITEM_TITLE));\r
-                       result.setMediaHouseId(json.getString(MEDIA_HOUSEID));\r
-                       result.setMediaTitle(json.getString(MEDIA_TITLE));\r
-                       result.setMediaDescription(json.getString(MEDIA_DESCRIPTION));\r
-                       result.setMediaType(json.getString(MEDIA_TYPE));\r
-               }\r
-               return result;\r
-       }\r
-\r
-       private char YN(boolean value) {\r
-               return value ? 'Y' : 'N';\r
-       }\r
-\r
-       private String D(Date value) {\r
-               return value == null ? EMPTY : df.format(value);\r
-       }\r
-\r
-       private Set<String> loadIncludeList(String location) throws IOException {\r
-               logger.info(getSessionMarker(), "Loading include list {}", location);\r
-               Set<String> result = new LinkedHashSet<>();\r
-\r
-               Path path = Paths.get(location);\r
-               List<String> lines = FileUtils.readLines(path.toFile());\r
-\r
-               String lastDir = null;\r
-               for (String line : lines) {\r
-                       line = line.trim();\r
-                       if (line.startsWith("Directory of")) {\r
-                               lastDir = line;\r
-                               lastDir = lastDir.replace("Directory of", EMPTY);\r
-                               lastDir = lastDir.replace("X:", EMPTY);\r
-                               lastDir = lastDir.replace("\\", "/");\r
-                               lastDir = lastDir.trim();\r
-                       }\r
-\r
-                       if (lastDir != null && lastDir.endsWith(".STATUS"))\r
-                               continue;\r
-\r
-                       if (line.startsWith("2") && line.length() > 39) {\r
-                               String file = line.substring(39).trim();\r
-\r
-                               if (file.equals(DOT) || file.equals(".."))\r
-                                       continue;\r
-\r
-                               String len = line.substring(21, 39).trim();\r
-                               if (len.length() != 0) {\r
-                                       String fullpath = "/mnt/POLC/FINISHED_SHOWS" + lastDir + "/" + file;\r
-                                       result.add(Paths.get(fullpath).getFileName().toString());\r
-                               }\r
-                       }\r
-\r
-               }\r
-\r
-               return result;\r
-       }\r
-\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/MoveJpegToIsilonStep.java b/server/-product/production/OMAR/jobs/steps/MoveJpegToIsilonStep.java
deleted file mode 100644 (file)
index 3dc75b5..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.io.File;\r
-import java.io.IOException;\r
-import java.nio.file.FileVisitResult;\r
-import java.nio.file.FileVisitor;\r
-import java.nio.file.Files;\r
-import java.nio.file.Path;\r
-import java.nio.file.Paths;\r
-import java.nio.file.SimpleFileVisitor;\r
-import java.nio.file.StandardCopyOption;\r
-import java.nio.file.attribute.BasicFileAttributes;\r
-import java.text.ParseException;\r
-import java.text.SimpleDateFormat;\r
-import java.util.ArrayList;\r
-import java.util.Date;\r
-import java.util.List;\r
-\r
-import org.apache.commons.io.FilenameUtils;\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.RemoteStoreProtocol;\r
-\r
-public class MoveJpegToIsilonStep extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger();\r
-\r
-       @StepEntry\r
-       public Object[] execute(String sourceUri, String sourceProtocol, String sourceFolder, String targetUri,\r
-                       String targetProtocol, String targetFolder, String userName, String password, int port) throws Exception {\r
-               StoreUri sourceStoreUri = new StoreUri(sourceUri);\r
-               if (sourceFolder.endsWith("/")) {\r
-                       sourceFolder = sourceFolder.substring(0, sourceFolder.length() - 1);\r
-               }\r
-\r
-               List<String> foundItems = new ArrayList<>();\r
-               sourceStoreUri.setRootPath(sourceFolder);\r
-               sourceStoreUri.setPortNumber(port);\r
-               sourceStoreUri.setPassword(password);\r
-               sourceStoreUri.setUserName(userName);\r
-               sourceStoreUri.setProtocol(RemoteStoreProtocol.valueOf(sourceProtocol));\r
-\r
-               FileVisitor<Path> visitor = new SimpleFileVisitor<Path>() {\r
-                       String fileNamePattern = "yyyymmdd";\r
-                       SimpleDateFormat dateFormatter = new SimpleDateFormat(fileNamePattern);\r
-                       Date currentDate = new Date(); // initializes with the current date\r
-                       Date dateFromFileName;\r
-                       boolean isRootFolder = true;\r
-\r
-                       @Override\r
-                       public FileVisitResult preVisitDirectory(Path folder, BasicFileAttributes attrs) throws IOException {\r
-                               FileVisitResult result = null;\r
-                               boolean isDateParseable = true;\r
-\r
-                               if (folder != null) {\r
-                                       String splitter = File.separator.replace("\\", "\\\\");\r
-                                       String[] parentFolderSegments = folder.toString().split(splitter);\r
-\r
-                                       try {\r
-                                               dateFromFileName = dateFormatter.parse(parentFolderSegments[parentFolderSegments.length - 1]);\r
-\r
-                                               if (!(dateFromFileName.compareTo(currentDate) > 0)) {\r
-                                                       if (isRootFolder) {\r
-                                                               result = FileVisitResult.CONTINUE;\r
-                                                               isRootFolder = false;\r
-                                                       } else {\r
-                                                               result = FileVisitResult.SKIP_SUBTREE;\r
-                                                       }\r
-                                               } else {\r
-                                                       result = FileVisitResult.CONTINUE;\r
-                                               }\r
-                                       } catch (ParseException e) {\r
-                                               isDateParseable = false;\r
-                                               logger.info("Illegal argument to parse as date: {}",\r
-                                                               parentFolderSegments[parentFolderSegments.length - 1]);\r
-                                       } finally {\r
-                                               isRootFolder = false;\r
-                                               if (!isDateParseable) {\r
-                                                       result = FileVisitResult.CONTINUE;\r
-                                               }\r
-                                       }\r
-                               }\r
-                               return result;\r
-                       }\r
-\r
-                       @Override\r
-                       public FileVisitResult visitFile(Path path, BasicFileAttributes attrs) throws IOException {\r
-                               logger.info("path: {}", path.toString());\r
-                               try {\r
-                                       String fileExtension = FilenameUtils.getExtension(path.toString());\r
-\r
-                                       if (fileExtension.equals("jpg") || fileExtension.equals("jpeg")) {\r
-                                               foundItems.add(path.toString());\r
-                                               StoreUri targetStoreUri = getManager()\r
-                                                               .createStoreUri(RemoteStoreProtocol.valueOf(targetProtocol), targetUri);\r
-                                               targetStoreUri.setProtocol(RemoteStoreProtocol.valueOf(targetProtocol));\r
-                                               targetStoreUri.setRootPath(targetFolder);\r
-\r
-                                               copyFile(path, Paths.get(targetStoreUri.getRootPath()));\r
-                                       }\r
-                               } catch (Exception e) {\r
-                                       logger.info("Exception: {}", e.getStackTrace());\r
-                               }\r
-                               return FileVisitResult.CONTINUE;\r
-                       }\r
-\r
-                       @Override\r
-                       public FileVisitResult visitFileFailed(Path path, IOException exc) throws IOException {\r
-                               return FileVisitResult.CONTINUE;\r
-                       }\r
-               };\r
-\r
-               try {\r
-                       Files.walkFileTree(Paths.get(sourceStoreUri.getRootPath()), visitor);\r
-               } catch (IOException e) {\r
-                       logger.info("Error processing Paths.get(sourceStoreUri.getRootPath()) '{}'. System message: {}",\r
-                                       Paths.get(sourceStoreUri.getRootPath()), e.getStackTrace());\r
-                       logger.catching(e);\r
-                       throw e;\r
-               } catch (SecurityException se) {\r
-                       logger.info("SecurityException: {}", se.getStackTrace());\r
-               } finally {\r
-               }\r
-\r
-               return new Object[] { foundItems };\r
-       }\r
-\r
-       private void copyFile(Path sourceFullPath, Path targetRootPath) {\r
-               Path targetPath = Paths.get(targetRootPath.toString(), sourceFullPath.getFileName().toString());\r
-               logger.info(getMarker(), "Root {} exists {}", targetRootPath, Files.exists(targetRootPath));\r
-\r
-               if (Files.exists(targetPath)) {\r
-                       logger.info(getMarker(), "Skipping {}, target exists", targetPath);\r
-                       return;\r
-               }\r
-\r
-               logger.info(getMarker(), "Target {} synchronization required", targetPath);\r
-\r
-               try {\r
-                       Files.copy(sourceFullPath, targetPath, StandardCopyOption.REPLACE_EXISTING);\r
-               } catch (Exception e) {\r
-                       logger.error(getMarker(), "Error synchronize {} to {}. System message: {}", sourceFullPath, targetPath,\r
-                                       e.getMessage());\r
-               }\r
-       }\r
-\r
-       protected String getPathUntilCurrentFile(String rootFolder, Path fullPath) {\r
-               String tempRootfolder = "";\r
-               if (rootFolder.contains("/") && fullPath.toString().contains("\\")) {\r
-                       tempRootfolder = rootFolder.replace('/', '\\');\r
-                       if (!tempRootfolder.endsWith("\\")) {\r
-                               tempRootfolder = tempRootfolder.concat("\\");\r
-                       }\r
-               }\r
-               if (rootFolder.contains("\\") && fullPath.toString().contains("/")) {\r
-                       tempRootfolder = rootFolder.replace('\\', '/');\r
-                       if (!tempRootfolder.endsWith("/")) {\r
-                               tempRootfolder = tempRootfolder.concat("/");\r
-                       }\r
-               }\r
-\r
-               return fullPath.toString().replace(rootFolder, "").substring(1);\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/OutputPathAndNameSelectorStep.java b/server/-product/production/OMAR/jobs/steps/OutputPathAndNameSelectorStep.java
deleted file mode 100644 (file)
index f0203ca..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.io.IOException;\r
-import java.nio.file.FileVisitResult;\r
-import java.nio.file.FileVisitor;\r
-import java.nio.file.Files;\r
-import java.nio.file.Path;\r
-import java.nio.file.Paths;\r
-import java.nio.file.SimpleFileVisitor;\r
-import java.nio.file.attribute.BasicFileAttributes;\r
-\r
-import org.apache.commons.lang.StringUtils;\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.jobengine.db.ArchivedMedia;\r
-import user.jobengine.server.IJobEngine;\r
-import user.jobengine.server.IJobRuntime;\r
-import user.jobengine.server.steps.shared.EscortFiles;\r
-import user.jobengine.server.steps.shared.MetadataType;\r
-import user.jobengine.server.steps.shared.MetadataTypeDetector;\r
-\r
-public class OutputPathAndNameSelectorStep extends JobStep {\r
-\r
-       private static final String TARGETNAMEPATTERN = "-ARCH-%s";\r
-\r
-       private static final Logger logger = LogManager.getLogger();\r
-\r
-       private Marker marker;\r
-\r
-       private void check(String localRetrievePath, String materialOutputFolder, String promoOutputFolder, String advertisementOutputFolder,\r
-                       String octopusOutputFolder, String genericOutputFolder, String houseId, String targetPathType) {\r
-               if (StringUtils.isBlank(localRetrievePath)) {\r
-                       logger.error(marker, "A folyamat 'localRetrievePath' bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, 'localRetrievePath' input parameter missing.");\r
-               }\r
-               if (StringUtils.isBlank(materialOutputFolder)) {\r
-                       logger.error(marker, "A folyamat 'materialOutputFolder' bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, 'materialOutputFolder' input parameter missing.");\r
-               }\r
-               if (StringUtils.isBlank(promoOutputFolder)) {\r
-                       logger.error(marker, "A folyamat 'promoOutputFolder' bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, 'promoOutputFolder' input parameter missing.");\r
-               }\r
-               if (StringUtils.isBlank(advertisementOutputFolder)) {\r
-                       logger.error(marker, "A folyamat 'advertisementOutputFolder' bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, 'advertisementOutputFolder' input parameter missing.");\r
-               }\r
-               if (StringUtils.isBlank(octopusOutputFolder)) {\r
-                       logger.error(marker, "A folyamat 'octopusOutputFolder' bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, 'octopusOutputFolder' input parameter missing.");\r
-               }\r
-               if (StringUtils.isBlank(genericOutputFolder)) {\r
-                       logger.error(marker, "A folyamat 'genericOutputFolder' bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, 'genericOutputFolder' input parameter missing.");\r
-               }\r
-               if (StringUtils.isBlank(houseId)) {\r
-                       logger.error(marker, "A folyamat 'houseId' bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, 'houseId' input parameter missing.");\r
-               }\r
-               if (StringUtils.isBlank(targetPathType)) {\r
-                       logger.error(marker, "A folyamat 'targetPathType' bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, 'targetPathType' input parameter missing.");\r
-               }\r
-       }\r
-\r
-       @StepEntry\r
-       public Object[] execute(String localRetrievePath, String materialOutputFolder, String promoOutputFolder, String advertisementOutputFolder,\r
-                       String octopusOutputFolder, String genericOutputFolder, String onlineOutputFolder, String houseId, String targetPathType,\r
-                       ArchivedMedia archivedMedia, IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
-               marker = jobRuntime.getSessionMarker();\r
-               check(localRetrievePath, materialOutputFolder, promoOutputFolder, advertisementOutputFolder, octopusOutputFolder, genericOutputFolder, houseId,\r
-                               targetPathType);\r
-               Object[] result = null;\r
-               switch (Integer.parseInt(targetPathType)) {\r
-               case 0:\r
-                       String outputFolder = getFolderById(materialOutputFolder, promoOutputFolder, advertisementOutputFolder, octopusOutputFolder, genericOutputFolder,\r
-                                       houseId, archivedMedia);\r
-                       result = localTargetInit(localRetrievePath, outputFolder, houseId, jobRuntime);\r
-                       break;\r
-               case 1:\r
-                       result = localTargetInit(localRetrievePath, onlineOutputFolder, houseId, jobRuntime);\r
-                       break;\r
-               case 2:\r
-\r
-                       if (archivedMedia.getTcIn() != null && archivedMedia.getTcOut() != null)\r
-                               result = new Object[] { genericOutputFolder, houseId, true };\r
-                       else\r
-                               result = new Object[] { null, houseId, true };\r
-                       break;\r
-               }\r
-               return result;\r
-       }\r
-\r
-       private String getFolderById(String materialOutputFolder, String promoOutputFolder, String advertisementOutputFolder, String octopusOutputFolder,\r
-                       String genericOutputFolder, String houseId, ArchivedMedia archivedMedia) throws Exception {\r
-               String id = houseId.toUpperCase();\r
-               MetadataType mdType = MetadataTypeDetector.GuessMetadataType(id);\r
-               String result = null;\r
-\r
-               //a groovy nem latja enumnak, hanem az objektum tulajdonsaganak\r
-               switch (mdType.toString()) {\r
-               case "OctopusPlaceholder":\r
-               case "OctopusStory":\r
-                       result = octopusOutputFolder;\r
-                       break;\r
-               case "TrafficMaterial":\r
-                       result = materialOutputFolder;\r
-                       break;\r
-               case "TrafficPromo":\r
-                       result = promoOutputFolder;\r
-                       break;\r
-               case "TrafficAD":\r
-                       result = advertisementOutputFolder;\r
-                       break;\r
-               case "Generic":\r
-                       result = genericOutputFolder;\r
-                       break;\r
-               }\r
-               return result;\r
-       }\r
-\r
-       private String getPossiblePath(String id, Path targetPath) throws IOException {\r
-               String[] result = new String[] { targetPath.toString() };\r
-               FileVisitor<Path> matcherVisitor = new SimpleFileVisitor<Path>() {\r
-                       @Override\r
-                       public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {\r
-                               String dirName = dir.getFileName().toString();\r
-                               if (dirName.startsWith(id + "-") || dirName.equals(id)) {\r
-                                       result[0] = dir.toString();\r
-                                       return FileVisitResult.TERMINATE;\r
-                               }\r
-                               return FileVisitResult.CONTINUE;\r
-                       }\r
-               };\r
-               Files.walkFileTree(targetPath.getParent(), matcherVisitor);\r
-               return result[0];\r
-       }\r
-\r
-       private Object[] localTargetInit(String localRetrievePath, String outputFolder, String houseId, IJobRuntime jobRuntime) throws IOException {\r
-               String id = houseId.toUpperCase();\r
-               String targetPath = getPossiblePath(id, Paths.get(localRetrievePath, outputFolder, id)).toString();\r
-               String targetNamePattern = houseId + TARGETNAMEPATTERN;\r
-               try {\r
-                       EscortFiles.ensureUNCFolder(Paths.get(targetPath));\r
-               } catch (Exception e) {\r
-                       logger.error(jobRuntime.getSessionMarker(), "A cél mappa '{}' nem létezik és nem hozható létre. A rendszer hibaüzenete: {}", targetPath,\r
-                                       e.getMessage());\r
-                       throw e;\r
-               }\r
-               return new Object[] { targetPath, targetNamePattern, false };\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/PrepareMediaRestoreStep.java b/server/-product/production/OMAR/jobs/steps/PrepareMediaRestoreStep.java
deleted file mode 100644 (file)
index 3708aa3..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.util.List;\r
-\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.RemoteStoreProtocol;\r
-import user.jobengine.db.Media;\r
-import user.jobengine.db.MediaFile;\r
-import user.jobengine.db.Store;\r
-\r
-public class PrepareMediaRestoreStep extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger();\r
-\r
-       @StepEntry\r
-       public Object[] execute(Media media, String tempStoreName, String tempStoreProtocol) throws Exception {\r
-               StoreUri mediaStoreUri = null;\r
-               List<MediaFile> mediaFiles = media.getMediaFiles();\r
-               if (mediaFiles.size() > 1)\r
-                       throw new Exception("Media " + media.getId() + " already has proxy");\r
-               for (MediaFile mediaFile : mediaFiles) {\r
-                       Store store = mediaFile.getStore();\r
-                       if (store.isSystem() && !store.isLowres()) {\r
-                               mediaStoreUri = store.getStoreUri(RemoteStoreProtocol.TSM);\r
-                               if (mediaStoreUri != null)\r
-                                       break;\r
-                       }\r
-               }\r
-\r
-               StoreUri tempStoreUri = getManager().getStoreUri(tempStoreName, Enum.valueOf(RemoteStoreProtocol.class, tempStoreProtocol));\r
-\r
-               return new Object[] { mediaStoreUri, tempStoreUri, media.getMediaFileRealName() };\r
-       }\r
-\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/PrepareRemoteTranscodeStep.java b/server/-product/production/OMAR/jobs/steps/PrepareRemoteTranscodeStep.java
deleted file mode 100644 (file)
index 5116b1e..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.nio.file.Path;\r
-import java.nio.file.Paths;\r
-\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-\r
-import com.ibm.nosql.json.api.BasicDBObject;\r
-\r
-import user.commons.configuration.SystemConfiguration;\r
-\r
-public class PrepareRemoteTranscodeStep extends JobStep {\r
-       static private final Logger logger = LogManager.getLogger();\r
-       private static boolean RANDOMIZE_ARCHIVES = SystemConfiguration.getInstance().value("tsm.randomize-archives",\r
-                       false);\r
-\r
-       @StepEntry\r
-       public Object[] execute(String profileName, String fileName) throws Exception {\r
-               String hiResRoot = "m:/";\r
-               String lowResRoot = "m:/lowres";\r
-\r
-               Path inputPath = Paths.get(hiResRoot, fileName);\r
-\r
-               String realFileName = fileName;\r
-\r
-               if (RANDOMIZE_ARCHIVES)\r
-                       realFileName = realFileName.substring(9);\r
-\r
-               String outFileName = realFileName.substring(0, realFileName.lastIndexOf(".")) + ".mp4";\r
-\r
-               Path relativeOutputPath = null;\r
-               if (realFileName.length() > 2)\r
-                       relativeOutputPath = Paths.get(realFileName.substring(0, 1), realFileName.substring(1, 2),\r
-                                       realFileName.substring(2, 3), outFileName);\r
-               else\r
-                       relativeOutputPath = Paths.get("0", outFileName);\r
-\r
-               BasicDBObject parameters = new BasicDBObject();\r
-               parameters.put("profile", profileName);\r
-               parameters.put("input", inputPath.toString());\r
-               parameters.put("output", Paths.get(lowResRoot, relativeOutputPath.toString()).toString());\r
-\r
-               logger.info("Prepared for remote transode {}", parameters);\r
-               return new Object[] { parameters, relativeOutputPath.toString() };\r
-       }\r
-\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/QueryMissingProxyMediaStep.java b/server/-product/production/OMAR/jobs/steps/QueryMissingProxyMediaStep.java
deleted file mode 100644 (file)
index 7df2bed..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-\r
-import com.ibm.nosql.json.api.BasicDBObject;\r
-import com.ibm.nosql.json.api.DB;\r
-import com.ibm.nosql.json.api.DBCollection;\r
-\r
-import user.commons.log4j2.marker.MediaCubeUndoMarker;\r
-import user.commons.nosql.NoSQLUtils;\r
-import user.jobengine.db.IItemManager;\r
-import user.jobengine.db.Media;\r
-import user.jobengine.db.MediaFile;\r
-\r
-public class QueryMissingProxyMediaStep extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger();\r
-\r
-       @StepEntry\r
-       public Object[] execute() throws Exception {\r
-               setDescription("Looking for missing proxy");\r
-               DB db = NoSQLUtils.getNoSQLDB();\r
-               DBCollection collection = db.getCollection("missing_lowres");\r
-               Media media = getFirstUntranscodedMedia(collection);\r
-\r
-               if (media == null) {\r
-                       logger.info(new MediaCubeUndoMarker(getSessionMarker().getSessionID()), "Nincs feldolgozandó hiány.");\r
-                       cancel();\r
-                       return null;\r
-               }\r
-\r
-               String name = media.getMediaFileRealName();\r
-               collection.save(new BasicDBObject("name", name));\r
-               logger.info(getSessionMarker(), "Processing mediaID: {}", media.getId());\r
-               return new Object[] { media };\r
-       }\r
-\r
-       private Media getFirstUntranscodedMedia(DBCollection collection) {\r
-               Media[] result = new Media[] { null };\r
-               //MV\r
-               String query = "SELECT mediaid FROM VW_MISSING_PROXY_IDS WHERE HOUSEID like 'M%' or HOUSEID like 'P%' or HOUSEID like 'R%' ORDER BY modified DESC";\r
-\r
-               //HTV\r
-               //String query = "SELECT mediaid FROM VW_MISSING_PROXY_IDS";\r
-               IItemManager manager = getManager();\r
-               manager.executeQuery(query, rs -> {\r
-                       try {\r
-                               long mediaId = rs.getLong(1);\r
-                               Media media = manager.getMedia(mediaId);\r
-                               //a nevgeneralas miatt az eredeti MediaFilesName nem jo, a pontos nev kell nekunk\r
-                               String name = media.getMediaFileRealName();\r
-                               //logger.info(getSessionMarker(), "Checking {}", name);\r
-                               long existing = collection.find(new BasicDBObject("name", name)).count();\r
-                               if (existing > 0) {\r
-                                       //logger.info(getSessionMarker(), "{} is on missing_lowres list", name);\r
-                                       return true;\r
-                               }\r
-                               // 210617 proxy keszites tiltasa\r
-                               MediaFile mf = manager.getSystemMediaFile(media);\r
-                               if (mf.isDisableProxy()) {\r
-                                       //logger.info(getSessionMarker(), "Proxy disabled {}", name);\r
-                                       \r
-                                       return true;\r
-                               }\r
-\r
-                               result[0] = media;\r
-                       } catch (Exception e) {\r
-                               logger.error(e);\r
-                       }\r
-                       return false;\r
-               }, null);\r
-               return result[0];\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/RemoteJobStep.java b/server/-product/production/OMAR/jobs/steps/RemoteJobStep.java
deleted file mode 100644 (file)
index d4900d7..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-\r
-import com.ibm.nosql.json.api.BasicDBObject;\r
-\r
-import user.jobengine.server.steps.shared.MediaCubeClient;\r
-\r
-public class RemoteJobStep extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger();\r
-\r
-       @StepEntry\r
-       public Object[] execute(String remoteServer, String template, String name, BasicDBObject remoteJobParameters) throws Exception {\r
-               setDescription("Executing on {}, template {}, profile {}", remoteServer, template, remoteJobParameters.getString("profile"));\r
-               MediaCubeClient mc = new MediaCubeClient(remoteServer);\r
-               long jobId = mc.startjob(template, name, remoteJobParameters);\r
-               logger.info(getMarker(), "Started {} on server {}", jobId, remoteServer);\r
-               while (true) {\r
-                       BasicDBObject status = mc.getStatus(jobId);\r
-                       if (status != null)\r
-                               setProgress(status.getInt("progress"));\r
-\r
-                       Thread.sleep(2000);\r
-\r
-                       String jobStatus = status.getString("status");\r
-                       if ("SUSPENDED".equals(jobStatus))\r
-                               throw new Exception(status.getString("description"));\r
-\r
-                       if ("FINISHED".equals(jobStatus))\r
-                               break;\r
-               }\r
-\r
-               return null;\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/SafeDeleteRecursiveStep.java b/server/-product/production/OMAR/jobs/steps/SafeDeleteRecursiveStep.java
deleted file mode 100644 (file)
index 238aae2..0000000
+++ /dev/null
@@ -1,416 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.io.File;\r
-import java.io.IOException;\r
-import java.nio.file.DirectoryStream;\r
-import java.nio.file.FileVisitResult;\r
-import java.nio.file.FileVisitor;\r
-import java.nio.file.Files;\r
-import java.nio.file.Path;\r
-import java.nio.file.Paths;\r
-import java.nio.file.attribute.BasicFileAttributes;\r
-import java.text.SimpleDateFormat;\r
-import java.util.ArrayList;\r
-import java.util.Arrays;\r
-import java.util.Collections;\r
-import java.util.Date;\r
-import java.util.LinkedHashSet;\r
-import java.util.List;\r
-import java.util.Set;\r
-\r
-import org.apache.commons.io.FileUtils;\r
-import org.apache.commons.io.FilenameUtils;\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-\r
-import com.ibm.nosql.json.api.BasicDBObject;\r
-\r
-import user.commons.IEntityBase;\r
-import user.commons.RemoteFile;\r
-import user.commons.StoreUri;\r
-import user.commons.mediatool.MediaInfo;\r
-import user.commons.remotestore.RemoteStoreProtocol;\r
-import user.jobengine.db.Item;\r
-import user.jobengine.db.Media;\r
-import user.jobengine.db.MediaFile;\r
-import user.jobengine.db.MediaFileDAO;\r
-import user.jobengine.db.Store;\r
-import user.jobengine.server.steps.shared.EscortFiles;\r
-import user.mediacube.metadata.interfaces.IMetadata;\r
-import user.mediacube.metadata.interfaces.IMetadataListOptions;\r
-import user.mediacube.metadata.interfaces.IMetadataProvider;\r
-import user.mediacube.metadata.interfaces.IMetadataProviderFactory;\r
-import user.mediacube.metadata.interfaces.MetadataProviderType;\r
-import user.mediacube.metadata.interfaces.MetadataType;\r
-import user.mediacube.metadata.interfaces.PlanAirMetadataListOptions;\r
-\r
-public class SafeDeleteRecursiveStep extends JobStep implements FileVisitor<Path> {\r
-       private static final Logger logger = LogManager.getLogger();\r
-       private static final String ITEM_TITLE = "itemTitle";\r
-       private static final String ITEM_HOUSEID = "itemHouseId";\r
-       private static final String MEDIA_HOUSEID = "mediaHouseId";\r
-       private static final String MEDIA_TITLE = "mediaTitle";\r
-       private static final String MEDIA_DESCRIPTION = "mediaDescription";\r
-       private static final String MEDIA_TYPE = "mediaType";\r
-       private static final String KILLDATEEXT = ".killdate";\r
-       private SimpleDateFormat df = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");\r
-\r
-       private List<String> skipPathNames = Arrays.asList("!ARCHIVALAS_ALATT", EscortFiles.STATUSFOLDER,\r
-                       EscortFiles.CONFLICTFOLDER);\r
-       private Set<String> includeList;\r
-\r
-       private boolean canReadMediaInfo(Path mediaFilePath) {\r
-               boolean result = false;\r
-               try {\r
-                       MediaInfo mi = new MediaInfo(mediaFilePath);\r
-                       mi.process();\r
-                       result = true;\r
-               } catch (Exception e) {\r
-                       logger.warn(getSessionMarker(), e.getMessage());\r
-               }\r
-               return result;\r
-       }\r
-\r
-       private boolean checkArchiveItem(ArchiveItem archiveItem, Item item, Media media) {\r
-               if (archiveItem == null)\r
-                       return false;\r
-\r
-               String itemHouseId = archiveItem.getItemHouseId() == null ? "" : archiveItem.getItemHouseId();\r
-               if (!itemHouseId.equals(item.getHouseId())) {\r
-                       logger.error(getSessionMarker(), "ItemHouseId");\r
-                       return false;\r
-               }\r
-\r
-               String itemTitle = archiveItem.getItemTitle() == null ? "" : archiveItem.getItemTitle();\r
-               if (!itemTitle.equals(item.getTitle())) {\r
-                       logger.error(getSessionMarker(), "ItemTitle");\r
-                       return false;\r
-               }\r
-               String mediaHouseId = archiveItem.getMediaHouseId() == null ? "" : archiveItem.getMediaHouseId();\r
-               if (!mediaHouseId.equals(media.getHouseId())) {\r
-                       logger.error(getSessionMarker(), "MediaHouseId");\r
-                       return false;\r
-               }\r
-               String mediaTitle = archiveItem.getMediaTitle() == null ? "" : archiveItem.getMediaTitle();\r
-               if (!mediaTitle.equals(media.getTitle())) {\r
-                       logger.error(getSessionMarker(), "MediaTitle");\r
-                       return false;\r
-               }\r
-\r
-               String mediaDescription = archiveItem.getMediaDescription() == null ? "" : archiveItem.getMediaDescription();\r
-               String storedMediaDescription = media.getDescription() == null ? "" : media.getDescription();\r
-               if (!mediaDescription.equals(storedMediaDescription)) {\r
-                       logger.error(getSessionMarker(), "MediaDescription");\r
-                       return false;\r
-               }\r
-\r
-               return true;\r
-       }\r
-\r
-       private ArchiveItem createArchiveItem(Path filePath) throws Exception {\r
-               ArchiveItem result = null;\r
-\r
-               String fileName = filePath.getFileName().toString();\r
-               String mediaHouseId = FilenameUtils.removeExtension(fileName);\r
-               try {\r
-                       result = getPlanAirMetadata(mediaHouseId);\r
-\r
-                       if (result != null)\r
-                               result.setMediaFile(filePath.toString());\r
-\r
-               } catch (Exception e) {\r
-                       logger.error(getSessionMarker(), "PlanAir metadata error", e);\r
-               }\r
-\r
-               return result;\r
-       }\r
-\r
-       @StepEntry\r
-       public Object[] execute(String sourcePath) throws Exception {\r
-               logger.info(getSessionMarker(), "Starting in {}", sourcePath);\r
-               logger.info(getSessionMarker(), "{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};", "Napló időbélyeg",\r
-                               "Neve", "Elérése", "Mérete", "Létrehozva", "Módosítva", "Archiválva (MC)", "Archiválva (TSM)",\r
-                               "Méret (TSM)", ".catched", ".killdate", ".nomd", "Archivált (MC)", "Archivált (TSM)",\r
-                               "Metaadat egyezés", "Méret egyezés", "Törölhető", "Kezelendő");\r
-\r
-               try {\r
-                       String location = "/opt/test-mediacube/file_list_original.txt";\r
-                       includeList = loadIncludeList(location);\r
-                       Files.walkFileTree(Paths.get(sourcePath), this);\r
-               } catch (Exception e) {\r
-                       logger.error(getSessionMarker(), "Az '{}' mappa elérése sikertelen. A rendszer hibaüzenete: {}", sourcePath,\r
-                                       e.getMessage());\r
-               }\r
-               return null;\r
-       }\r
-\r
-       private ArchiveItem getPlanAirMetadata(String mediaHouseId) throws Exception {\r
-               PlanAirMetadataListOptions opt = new PlanAirMetadataListOptions();\r
-               opt.setSearch(mediaHouseId);\r
-               opt.setType(MetadataType.Material);\r
-\r
-               BasicDBObject json = null;\r
-               List<IMetadata> data = null;\r
-\r
-               IMetadataProviderFactory factory = getService(IMetadataProviderFactory.class);\r
-               if (factory == null)\r
-                       logger.info(getSessionMarker(), "IMetadataProviderFactory is null");\r
-\r
-               IMetadataProvider planairProvider = factory.getProvider(MetadataProviderType.PLANAIR);\r
-               if (planairProvider == null)\r
-                       logger.info(getSessionMarker(), "IMetadataProvider is null");\r
-\r
-               ArchiveItem result = null;\r
-               data = planairProvider.list(opt);\r
-               if (data.size() != 0)\r
-                       json = data.get(0).asJSON();\r
-               else {\r
-                       opt.setType(MetadataType.Promo);\r
-                       data = planairProvider.list(opt);\r
-                       if (data.size() != 0)\r
-                               json = data.get(0).asJSON();\r
-                       else {\r
-                               opt.setType(MetadataType.AD);\r
-                               data = planairProvider.list(opt);\r
-                               if (data.size() != 0)\r
-                                       json = data.get(0).asJSON();\r
-                       }\r
-               }\r
-               if (json != null) {\r
-                       result = new ArchiveItem();\r
-                       result.setItemHouseId(json.getString(ITEM_HOUSEID));\r
-                       result.setItemTitle(json.getString(ITEM_TITLE));\r
-                       result.setMediaHouseId(json.getString(MEDIA_HOUSEID));\r
-                       result.setMediaTitle(json.getString(MEDIA_TITLE));\r
-                       result.setMediaDescription(json.getString(MEDIA_DESCRIPTION));\r
-                       result.setMediaType(json.getString(MEDIA_TYPE));\r
-               }\r
-               return result;\r
-       }\r
-\r
-       @Override\r
-       public FileVisitResult postVisitDirectory(Path paramT, IOException paramIOException) throws IOException {\r
-               return FileVisitResult.CONTINUE;\r
-       }\r
-\r
-       @Override\r
-       public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes paramBasicFileAttributes)\r
-                       throws IOException {\r
-               Path dirName = dir.getFileName();\r
-\r
-               if (skipPathNames.contains(dirName.toString())) {\r
-                       //logger.info(getSessionMarker(), "PreVisit skip {}", dir);\r
-                       return FileVisitResult.SKIP_SUBTREE;\r
-               } //else\r
-                       //logger.info(getSessionMarker(), "PreVisit {}", dir);\r
-\r
-               return FileVisitResult.CONTINUE;\r
-       }\r
-\r
-       private boolean processPathItem(Path mediaPath) throws Exception {\r
-               if (getJobRuntime().isWaitingCancel()) {\r
-                       cancel();\r
-                       return false;\r
-               }\r
-\r
-               BasicFileAttributes attr = Files.readAttributes(mediaPath, BasicFileAttributes.class);\r
-               File mediaFSFile = mediaPath.toFile();\r
-               String fileName = mediaPath.getFileName().toString();\r
-\r
-               if (mediaFSFile.isDirectory())\r
-                       return true;\r
-\r
-               if (fileName.startsWith(".") || fileName.endsWith(".nomd"))\r
-                       return true;\r
-\r
-               Path nomdFile = Paths.get(mediaPath.toString() + ".nomd");\r
-               ArchiveItem archiveItem = createArchiveItem(mediaPath);\r
-               List<Path> killDateFiles = getKillDateFiles(mediaPath);\r
-               MediaFile mediaFile = getMediaFile(fileName);\r
-\r
-               long size = mediaFSFile.length();\r
-               Date lastModifiedDate = new Date(attr.lastModifiedTime().toMillis());\r
-               //Date lastAccesDate = new Date(attr.lastAccessTime().toMillis());\r
-               Date createDate = new Date(attr.creationTime().toMillis());\r
-               boolean catchedExists = EscortFiles.isMediaCatched(mediaPath);\r
-               boolean noMDExists = Files.exists(nomdFile);\r
-               boolean killdateExists = killDateFiles.size() > 0;\r
-               //boolean mediaInfoAvailable = canReadMediaInfo(mediaPath);\r
-               boolean mcArchived = mediaFile != null;\r
-               boolean metadataEquals = false;\r
-               boolean tsmArchived = false;\r
-               boolean sizeEquals = false;\r
-               Date mcArchivedDate = null;\r
-               long tsmSize = 0;\r
-               Date tsmBackupDate = null;\r
-               boolean includeContains = includeList.contains(mediaPath.toString());\r
-\r
-               if (mcArchived) {\r
-                       //metadata\r
-                       Media media = getManager().getMedia(mediaFile.getMediaId());\r
-                       mcArchivedDate = media.getCreated();\r
-                       Item item = getManager().getItem(media.getItemId());\r
-                       metadataEquals = checkArchiveItem(archiveItem, item, media);\r
-\r
-                       //tsm\r
-                       String tsmFileName = mediaFile.getRelativePath();\r
-                       RemoteFile tsmFile = getTSMFile(tsmFileName);\r
-                       tsmArchived = tsmFile != null;\r
-                       if (tsmArchived) {\r
-                               tsmSize = tsmFile.getSize();\r
-                               tsmBackupDate = getTSMBackupDate(tsmFileName);\r
-                               sizeEquals = tsmSize == size;\r
-                       }\r
-               }\r
-\r
-               boolean canDelete = !noMDExists && catchedExists && killdateExists && mcArchived && tsmArchived\r
-                               && metadataEquals;\r
-               Date now = new Date(System.currentTimeMillis());\r
-               logger.info(getSessionMarker(), "{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};", D(now), fileName,\r
-                               mediaPath.getParent(), size, D(createDate), D(lastModifiedDate), D(mcArchivedDate), D(tsmBackupDate),\r
-                               tsmSize, YN(catchedExists), YN(killdateExists), YN(noMDExists), YN(mcArchived), YN(tsmArchived),\r
-                               YN(metadataEquals), YN(sizeEquals), YN(canDelete), YN(includeContains));\r
-\r
-               return true;\r
-       }\r
-\r
-       private Date getTSMBackupDate(String tsmFileName) throws Exception {\r
-               Date result = null;\r
-               IMetadataProviderFactory factory = getService(IMetadataProviderFactory.class);\r
-               if (factory == null)\r
-                       return null;\r
-               IMetadataProvider provider = factory.getProvider(MetadataProviderType.TSM);\r
-               if (provider == null)\r
-                       return null;\r
-\r
-               IMetadataListOptions opt = provider.createOptions(new BasicDBObject("fileName", tsmFileName));\r
-\r
-               List<IMetadata> tsmContents = provider.list(opt);\r
-               if (tsmContents != null && tsmContents.size() > 0) {\r
-\r
-                       for (IMetadata md : tsmContents) {\r
-                               Date backupDate = md.asJSON().getDate("backupDate");\r
-                               if (result == null)\r
-                                       result = backupDate;\r
-                               else {\r
-                                       if (backupDate.after(result))\r
-                                               result = backupDate;\r
-                               }\r
-                       }\r
-               }\r
-               return result;\r
-       }\r
-\r
-       private char YN(boolean value) {\r
-               return value ? 'Y' : 'N';\r
-       }\r
-\r
-       private String D(Date value) {\r
-               return value == null ? "" : df.format(value);\r
-       }\r
-\r
-       @Override\r
-       public FileVisitResult visitFile(Path filePath, BasicFileAttributes paramBasicFileAttributes) throws IOException {\r
-               //logger.info(getSessionMarker(), "Will checked {}", filePath);\r
-               try {\r
-                       if (!processPathItem(filePath))\r
-                               return FileVisitResult.TERMINATE;\r
-               } catch (Exception e) {\r
-                       logger.catching(e);\r
-               }\r
-               return FileVisitResult.CONTINUE;\r
-       }\r
-\r
-       @Override\r
-       public FileVisitResult visitFileFailed(Path filePath, IOException paramIOException) throws IOException {\r
-               logger.info("Error archive {}", filePath);\r
-               return FileVisitResult.CONTINUE;\r
-       }\r
-\r
-       private List<Path> getKillDateFiles(Path filePath) {\r
-               String killDateFilePattern = String.format("%s.*%s", filePath.getFileName().toString(), KILLDATEEXT);\r
-               List<Path> result = new ArrayList<>();\r
-               Path statusPath = null;\r
-               try {\r
-                       statusPath = Paths.get(filePath.getParent().toString(), EscortFiles.STATUSFOLDER);\r
-               } catch (Exception e) {\r
-                       logger.catching(e);\r
-                       return null;\r
-               }\r
-               File statusPathFile = statusPath.toFile();\r
-               if (statusPathFile.exists() && statusPathFile.isDirectory()) {\r
-                       try (DirectoryStream<Path> stream = Files.newDirectoryStream(statusPath, killDateFilePattern)) {\r
-                               stream.forEach(p -> result.add(p));\r
-                       } catch (Exception e) {\r
-                               logger.catching(e);\r
-                       }\r
-               }\r
-               Collections.sort(result);\r
-               return result;\r
-       }\r
-\r
-       MediaFile getMediaFile(String fileName) {\r
-               MediaFile result = null;\r
-               MediaFileDAO mfDAO = (MediaFileDAO) getManager().getBaseDAO(MediaFile.class);\r
-               List<IEntityBase> mfList = mfDAO.getByHouseId(fileName);\r
-               if (mfList != null && mfList.size() == 1)\r
-                       result = (MediaFile) mfList.get(0);\r
-               return result;\r
-       }\r
-\r
-       RemoteFile getTSMFile(String mcFileName) {\r
-               RemoteFile result = null;\r
-               Store tsmStore = getManager().getSystemStore(false);\r
-               StoreUri tsmStoreUri = tsmStore.getSourceStoreUri(RemoteStoreProtocol.TSM);\r
-               try {\r
-                       result = tsmStoreUri.getRemoteFile(mcFileName);\r
-               } catch (Exception e) {\r
-                       logger.error(e);\r
-               } finally {\r
-                       tsmStoreUri.cleanUp();\r
-               }\r
-               return result;\r
-       }\r
-\r
-       private Set<String> loadIncludeList(String location) throws IOException {\r
-               Set<String> result = new LinkedHashSet<>();\r
-\r
-               Path path = Paths.get(location);\r
-               List<String> lines = FileUtils.readLines(path.toFile());\r
-\r
-               String lastDir = null;\r
-               for (String line : lines) {\r
-                       line = line.trim();\r
-                       if (line.startsWith("Directory of")) {\r
-                               lastDir = line;\r
-                               lastDir = lastDir.replace("Directory of", "");\r
-                               lastDir = lastDir.replace("X:", "");\r
-                               lastDir = lastDir.replace("\\", "/");\r
-                               lastDir = lastDir.trim();\r
-                               //                              if (!lastDir.endsWith(".STATUS"))\r
-                               //                                      System.out.println(">> " + lastDir);\r
-                       }\r
-\r
-                       if (lastDir != null && lastDir.endsWith(".STATUS"))\r
-                               continue;\r
-\r
-                       if (line.startsWith("2") && line.length() > 39) {\r
-                               String file = line.substring(39).trim();\r
-\r
-                               if (file.equals(".") || file.equals(".."))\r
-                                       continue;\r
-\r
-                               String len = line.substring(21, 39).trim();\r
-                               if (len.length() != 0) {\r
-                                       String fullpath = "/mnt/POLC/FINISHED_SHOWS" + lastDir + "/" + file;\r
-                                       //System.out.println("/mnt/POLC/FINISHED_SHOWS" + lastDir + "/" + file + " : " + len);\r
-                                       result.add(fullpath);\r
-                               }\r
-                       }\r
-\r
-               }\r
-\r
-               return result;\r
-       }\r
-\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/SaveMediaProxy.java b/server/-product/production/OMAR/jobs/steps/SaveMediaProxy.java
deleted file mode 100644 (file)
index 3f0f667..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import user.jobengine.db.IItemManager;\r
-import user.jobengine.db.Media;\r
-import user.jobengine.db.MediaFile;\r
-import user.jobengine.db.Store;\r
-\r
-public class SaveMediaProxy extends JobStep {\r
-\r
-       @StepEntry\r
-       public Object[] execute(Media media, String proxyRelativePath) throws Exception {\r
-               IItemManager manager = getManager();\r
-               Store store = manager.getCurrentLowresStore();\r
-               MediaFile mediaFile = new MediaFile();\r
-               mediaFile.setMedia(media);\r
-               mediaFile.setStore(store);\r
-               mediaFile.setFileType(manager.getFileType("Low-res"));\r
-               mediaFile.setRelativePath(proxyRelativePath);\r
-               manager.add(mediaFile);\r
-               return null;\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/TSMBackupStep.java b/server/-product/production/OMAR/jobs/steps/TSMBackupStep.java
deleted file mode 100644 (file)
index b526f16..0000000
+++ /dev/null
@@ -1,239 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.io.File;\r
-import java.io.IOException;\r
-import java.sql.Timestamp;\r
-import java.util.Date;\r
-import java.util.List;\r
-\r
-import org.apache.commons.lang.RandomStringUtils;\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-import org.apache.logging.log4j.Marker;\r
-import org.apache.logging.log4j.message.Message;\r
-import org.apache.logging.log4j.message.ParameterizedMessage;\r
-\r
-import user.commons.RemoteFile;\r
-import user.commons.StoreUri;\r
-import user.commons.configuration.SystemConfiguration;\r
-import user.commons.mediatool.Timecode;\r
-import user.commons.mediatool.Timecode.Type;\r
-import user.commons.remotestore.IProgressEventListener;\r
-import user.commons.remotestore.IStatusEventListener;\r
-import user.commons.remotestore.ProgressEvent;\r
-import user.commons.remotestore.RemoteStoreProtocol;\r
-import user.commons.remotestore.StatusEvent;\r
-import user.jobengine.db.FileType;\r
-import user.jobengine.db.IItemManager;\r
-import user.jobengine.db.Media;\r
-import user.jobengine.db.MediaFile;\r
-import user.jobengine.db.Store;\r
-import user.jobengine.server.IJobEngine;\r
-import user.jobengine.server.IJobRuntime;\r
-import user.jobengine.server.JobEngineException;\r
-import user.jobengine.server.steps.shared.EscortFiles;\r
-import user.jobengine.server.steps.shared.ItemManagerExtensions;\r
-\r
-public class TSMBackupStep extends JobStep {\r
-       private static final String MXFEXT = ".MXF";\r
-       private static final Logger logger = LogManager.getLogger();\r
-       private static boolean RANDOMIZE_ARCHIVES = SystemConfiguration.getInstance().value("tsm.randomize-archives");\r
-       private IItemManager manager;\r
-       private File sourceMediaFile;\r
-       private Store tsmStore;\r
-       private StoreUri targetUri;\r
-       private FileType fileType;\r
-       private Marker marker;\r
-\r
-       @StepEntry\r
-       public Object[] execute(ArchiveItem archiveItem, Media mediaCubeMedia, int killDateDays) throws Exception {\r
-               marker = getSessionMarker();\r
-\r
-               File sourceMediaFile = new File(archiveItem.getMediaFile());\r
-               String sourceFileName = sourceMediaFile.getName();\r
-               long fileSize = sourceMediaFile.length();\r
-\r
-               try {\r
-                       Timecode timecode = new Timecode(mediaCubeMedia.getLength(), Type.PAL);\r
-                       String details = String.format("%s (%s, %d bytes)", sourceFileName, timecode.toString(), fileSize);\r
-                       logger.info(marker, details);\r
-                       getJobRuntime().setDescription(details);\r
-               } catch (Exception e) {\r
-                       String details = String.format("%s (%d bytes)", sourceFileName, fileSize);\r
-                       getJobRuntime().setDescription(details);\r
-               }\r
-               Timecode timecode = new Timecode(mediaCubeMedia.getLength(), Type.PAL);\r
-               String details = String.format("%s (%s, %d bytes)", sourceFileName, timecode.toString(), fileSize);\r
-               getJobRuntime().setDescription(details);\r
-               try {\r
-\r
-                       setAndCheck(archiveItem, mediaCubeMedia, getEngine());\r
-\r
-                       // TODO mxf helyett az osszes kiterjesztest!!!!!\r
-                       // A dupla ellenorzes a napon beluli ismetlesek miatt kell\r
-                       long existingMediaId = archiveItem.getExistingMediaId();\r
-\r
-                       if (fileSize == 0 && existingMediaId == 0) {\r
-                               existingMediaId = ItemManagerExtensions.getExistingRundownMedia(manager,\r
-                                               sourceFileName.replace(MXFEXT, ""));\r
-                               if (existingMediaId == 0)\r
-                                       existingMediaId = -1;\r
-                       }\r
-\r
-                       if (existingMediaId == 0)\r
-                               existingMediaId = ItemManagerExtensions.getExistingRundownMedia(manager,\r
-                                               sourceFileName.replace(MXFEXT, ""));\r
-                       String targetFileName;\r
-                       if (RANDOMIZE_ARCHIVES) {\r
-                               // a-z, A-Z, 0-9. For example: WRMcpIk7, s57JwCVA\r
-                               // veletlenszeru neveket adunk!\r
-                               targetFileName = String.format("%s-%s", RandomStringUtils.randomAlphanumeric(8), sourceFileName);\r
-                       } else\r
-                               targetFileName = sourceFileName;\r
-\r
-                       if (existingMediaId == 0) {\r
-                               StoreUri sourceUri = manager.createStoreUri(RemoteStoreProtocol.LOCAL,\r
-                                               sourceMediaFile.getParent().toString());\r
-\r
-                               final IJobRuntime runtime = getJobRuntime();\r
-                               sourceUri.addProgressListener(new IProgressEventListener() {\r
-                                       @Override\r
-                                       public void progressChanged(ProgressEvent evt) {\r
-                                               runtime.incrementProgress(evt.getProgress());\r
-                                       }\r
-                               });\r
-                               sourceUri.addStatusListener(new IStatusEventListener() {\r
-                                       @Override\r
-                                       public void statusChanged(StatusEvent evt) {\r
-                                               evt.setCancel(!canContinue());\r
-                                       }\r
-                               });\r
-\r
-                               RemoteFile remoteFile = sourceUri.transferFrom(targetUri, sourceFileName, targetFileName);\r
-                       }\r
-\r
-                       if (existingMediaId > 0)\r
-                               logger.info(marker, "Az '{}' TSM mentése nem szükséges, mert már megtalálható az archívumban.",\r
-                                               sourceFileName);\r
-\r
-                       // Fel kell szabadítani, hogy a kovetkezo archivalaskor is nekifusson\r
-                       if (existingMediaId == -1) {\r
-                               logger.info(marker,\r
-                                               "Az '{}' mentése jelenleg nem lehetséges, mert a szükséges metaadat még nem található meg az archívumban.",\r
-                                               sourceFileName);\r
-                               if (!archiveItem.removeCatchedFile())\r
-                                       logger.error(marker,\r
-                                                       "Az '{}' állomány .catched jelző állománya nem törölhető. Az újabb archiválási kísérlethez annak kézi eltávolítása szükséges!",\r
-                                                       sourceMediaFile.getName());\r
-                               mediaCubeMedia.remove();\r
-                       } else {\r
-                               saveMetadata(mediaCubeMedia, sourceMediaFile, targetFileName, existingMediaId, fileSize,\r
-                                               archiveItem.isDisableProxy());\r
-                               logger.info(marker, "Az '{}' archiválása sikeres.", sourceFileName);\r
-                               if (killDateDays != 0)\r
-                                       EscortFiles.createUNCKillDate(sourceMediaFile.getParent(), sourceFileName, killDateDays, marker);\r
-                       }\r
-\r
-               } catch (Exception e) {\r
-                       logger.catching(e);\r
-                       Message m = new ParameterizedMessage("Az '{}' állomány archiválása sikertelen. A rendszer hibaüzenete: {}",\r
-                                       details, e.getMessage());\r
-                       logger.error(marker, m);\r
-                       if (!archiveItem.removeCatchedFile())\r
-                               logger.error(marker,\r
-                                               "Az '{}' állomány .catched jelző állománya nem törölhető. Az újabb archiválási kísérlethez annak kézi eltávolítása szükséges!",\r
-                                               sourceMediaFile.getName());\r
-                       throw new Exception(m.getFormattedMessage());\r
-               }\r
-               return null;\r
-       }\r
-\r
-       private void saveMetadata(Media mediaCubeMedia, File sourceFile, String targetFileName, long existingMediaId,\r
-                       long fileSize, boolean disableProxy) {\r
-\r
-               if (existingMediaId == 0) {\r
-                       MediaFile mf = manager.createMediaFile(targetFileName, fileType, tsmStore, mediaCubeMedia);\r
-                       mf.setHouseId(sourceFile.getName());\r
-                       mf.setFileSize(fileSize);\r
-                       // 210617 proxy keszites tiltasa\r
-                       mf.setDisableProxy(disableProxy);\r
-                       mf.add();\r
-               } else {\r
-                       Media existingMedia = manager.getMedia(existingMediaId);\r
-                       List<MediaFile> mediaFiles = existingMedia.getMediaFiles();\r
-                       if (mediaFiles != null) {\r
-                               for (MediaFile mf : mediaFiles) {\r
-                                       mf.setPersister(manager);\r
-                                       mf.setId(0);\r
-                                       mf.setMedia(mediaCubeMedia);\r
-                                       // mivel itt masolat keszul, nem allitunk at semmit\r
-//                                     mf.setFileSize(fileSize);\r
-//                                     mf.setDisableProxy(disableProxy);\r
-                                       mf.add();\r
-                               }\r
-                       }\r
-               }\r
-               mediaCubeMedia.setPersister(manager);\r
-\r
-               // 210614 megis maradjon az aktualis idopont\r
-               mediaCubeMedia.setArchived(new Timestamp(new Date().getTime()));\r
-\r
-               /*\r
-               try {\r
-                       BasicFileAttributes attr = Files.readAttributes(sourceFile.toPath(), BasicFileAttributes.class);\r
-                       mediaCubeMedia.setArchived(new Timestamp(attr.creationTime().toMillis()));\r
-               } catch (IOException e) {\r
-                       logger.catching(e);\r
-               }\r
-                */\r
-               mediaCubeMedia.modify();\r
-       }\r
-\r
-       private void setAndCheck(ArchiveItem archiveItem, Media mediaCubeMedia, IJobEngine jobEngine)\r
-                       throws JobEngineException, IOException {\r
-               if (jobEngine == null) {\r
-                       logger.error(marker, "Az folyamatkezelő réteg nem elérhető.");\r
-                       throw new NullPointerException("Internal error, missing JobEngine reference.");\r
-               }\r
-               manager = jobEngine.getItemManager();\r
-               if (manager == null) {\r
-                       logger.error(marker, "Az adatbáziskezelő réteg nem elérhető.");\r
-                       throw new NullPointerException("Internal error, missing ItemManager reference.");\r
-               }\r
-               if (archiveItem == null) {\r
-                       logger.error(marker, "A folyamat 'archiveItem' bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, missing 'archiveItem' input parameter.");\r
-               }\r
-               sourceMediaFile = new File(archiveItem.getMediaFile());\r
-               if (sourceMediaFile == null) {\r
-                       logger.error(marker, "A folyamat 'archiveItem' bemeneti paraméter 'mediaFile' értéke üres.");\r
-                       throw new NullPointerException(\r
-                                       "System is not configured properly, missing 'mediaFile' value in 'archiveItem' input parameter.");\r
-               }\r
-               if (!sourceMediaFile.exists()) {\r
-                       logger.error(marker, "A(z) {} állomány nem létezik vagy nem érhető el.", sourceMediaFile.getName());\r
-                       throw new IOException(String.format("Input file {} does not exist or unreachable.", sourceMediaFile.getName()));\r
-               }\r
-               tsmStore = manager.getSystemStore(false);\r
-               if (tsmStore == null) {\r
-                       logger.error(marker, "A TSM rendszer beállítás nem elérhető.");\r
-                       throw new NullPointerException("System is not configured properly, missing TSM Store.");\r
-               }\r
-               targetUri = tsmStore.getSourceStoreUri(RemoteStoreProtocol.TSM);\r
-               if (targetUri == null) {\r
-                       logger.error(marker, "A TSM rendszer beállítás paraméterei nem elérhetőek.");\r
-                       throw new NullPointerException("System is not configured properly, missing TSM StoreUri.");\r
-               }\r
-               fileType = manager.getFileType("High-res");\r
-               if (fileType == null) {\r
-                       logger.error(marker, "Adatbázis bejegyzés hiba, a 'High-res' FileType nem található.");\r
-                       throw new NullPointerException("System is not configured properly, missing 'High-res' FileType.");\r
-               }\r
-               if (mediaCubeMedia == null) {\r
-                       logger.error(marker, "A folyamat 'mediaCubeMedia' bemeneti paramétere üres.");\r
-                       throw new NullPointerException(\r
-                                       "System is not configured properly, 'mediaCubeMedia' input parameter missing.");\r
-               }\r
-\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/TSMExtendedRetrieveStep.java b/server/-product/production/OMAR/jobs/steps/TSMExtendedRetrieveStep.java
deleted file mode 100644 (file)
index fd22234..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-package user.jobengine.server.steps;\r
-\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.RemoteStoreProtocol;\r
-import user.jobengine.db.ArchivedMedia;\r
-import user.jobengine.db.IItemManager;\r
-import user.jobengine.server.IJobEngine;\r
-import user.jobengine.server.IJobRuntime;\r
-\r
-/*\r
-import user.jobengine.server.steps.EscortFiles;\r
-*/\r
-\r
-public class TSMExtendedRetrieveStep extends TSMRestoreStep {\r
-       private static String NEXIO_HOST = System.getProperty("nexio.host");\r
-       //      private static String NEXIO_HOST = SystemConfiguration.getInstance().value("services.nexio.host");\r
-       private static final Logger logger = LogManager.getLogger();\r
-\r
-       private boolean useNexioTarget;\r
-       private int nexioPort;\r
-       private String nexioUserName, nexioPassword;\r
-       private String nexioAgency;\r
-\r
-       @Override\r
-       protected void afterRestore(StoreUri targetUri, String targetPath, int killDateDays, String targetFileName) throws Exception {\r
-               if (useNexioTarget) {\r
-                       EscortFiles.setNEXIOKillDate(killDateDays, targetFileName, nexioAgency, targetUri);\r
-               } else {\r
-                       super.afterRestore(targetUri, targetPath, killDateDays, targetFileName);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       protected void beforeRestore(StoreUri targetURI, String targetName) throws Exception {\r
-               String newTargetName = targetName;\r
-               if (targetName.contains("."))\r
-                       newTargetName = targetName.substring(0, targetName.lastIndexOf('.'));\r
-               if (useNexioTarget)\r
-                       if (targetURI.fileExists(newTargetName + ".mxf"))\r
-                               throw new Exception(String.format("%s-The newly created file name is existed.", getClass().getSimpleName()));\r
-       }\r
-\r
-       @Override\r
-       protected void checkTargetPath(String targetPath) {\r
-               if (!useNexioTarget)\r
-                       super.checkTargetPath(targetPath);\r
-       }\r
-\r
-       @Override\r
-       protected StoreUri createTargetUri(IItemManager manager, String targetPath) throws NullPointerException {\r
-               StoreUri result = null;\r
-               logger.info(getSessionMarker(), "Create target uri {}", targetPath);\r
-               if (useNexioTarget) {\r
-                       if (NEXIO_HOST == null) {\r
-                               throw new NullPointerException("Missing system property on 'nexio.host' name");\r
-                       }\r
-                       result = manager.createStoreUri(RemoteStoreProtocol.FTP, NEXIO_HOST);\r
-                       result.setPortNumber(nexioPort);\r
-                       result.setUserName(nexioUserName);\r
-                       result.setPassword(nexioPassword);\r
-               } else\r
-                       result = super.createTargetUri(manager, targetPath);\r
-               return result;\r
-       }\r
-\r
-       @StepEntry\r
-       public Object[] execute(ArchivedMedia archivedMedia, String targetPath, String targetNamePattern, String successRecipient, int killDateDays,\r
-                       String localRetrievePath, String globalRetrievePath, boolean useNexioTarget, String nexioAgency, int nexioPort, String nexioUserName,\r
-                       String nexioPassword, IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
-               this.useNexioTarget = useNexioTarget;\r
-               this.nexioAgency = nexioAgency;\r
-               this.nexioPort = nexioPort;\r
-               this.nexioUserName = nexioUserName;\r
-               this.nexioPassword = nexioPassword;\r
-               if (nexioPort == 0) {\r
-                       throw new NullPointerException("System is not configured properly, 'nexioPort' input parameter missing.");\r
-               }\r
-               if (nexioUserName == null) {\r
-                       throw new NullPointerException("System is not configured properly, 'nexioUserName' input parameter missing.");\r
-               }\r
-               if (nexioPassword == null) {\r
-                       throw new NullPointerException("System is not configured properly, 'nexioPassword' input parameter missing.");\r
-               }\r
-               if (nexioAgency == null) {\r
-                       throw new NullPointerException("System is not configured properly, 'nexioAgency' input parameter missing.");\r
-               }\r
-\r
-               return super.execute(archivedMedia.getMedia(), targetPath, targetNamePattern, successRecipient, killDateDays, localRetrievePath, globalRetrievePath,\r
-                               jobEngine, jobRuntime);\r
-       }\r
-\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/TSMRestoreStep.java b/server/-product/production/OMAR/jobs/steps/TSMRestoreStep.java
deleted file mode 100644 (file)
index 26d8607..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-package user.jobengine.server.steps;\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 org.apache.logging.log4j.Logger;\r
-import org.apache.logging.log4j.Marker;\r
-import org.apache.logging.log4j.message.Message;\r
-\r
-import user.commons.LogUtils;\r
-import user.commons.RemoteFile;\r
-import user.commons.StoreUri;\r
-import user.commons.mediatool.Timecode;\r
-import user.commons.mediatool.Timecode.Type;\r
-import user.commons.remotestore.IProgressEventListener;\r
-import user.commons.remotestore.IStatusEventListener;\r
-import user.commons.remotestore.ProgressEvent;\r
-import user.commons.remotestore.RemoteStoreProtocol;\r
-import user.commons.remotestore.StatusEvent;\r
-import user.jobengine.db.IItemManager;\r
-import user.jobengine.db.Media;\r
-import user.jobengine.db.MediaFile;\r
-import user.jobengine.db.Store;\r
-import user.jobengine.server.IJobEngine;\r
-import user.jobengine.server.IJobRuntime;\r
-import user.jobengine.server.steps.shared.EscortFiles;\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
-       private StoreUri sourceUri;\r
-       private String sourceFileName;\r
-       private Marker marker;\r
-\r
-       protected void afterRestore(StoreUri targetUri, String targetPath, int killDateDays, String targetFileName) throws IOException, Exception {\r
-               if (killDateDays != 0)\r
-                       EscortFiles.createUNCKillDate(targetPath, targetFileName, killDateDays, marker);\r
-       }\r
-\r
-       protected void beforeRestore(StoreUri targetURI, String targetFileName) throws Exception {\r
-       }\r
-\r
-       protected void checkTargetPath(String targetPath) {\r
-               if (StringUtils.isBlank(targetPath)) {\r
-                       logger.error(marker, "A folyamat 'targetPath' bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, 'targetPath' input parameter missing.");\r
-               }\r
-       }\r
-\r
-       protected StoreUri createTargetUri(IItemManager manager, String targetPath) {\r
-               return manager.createStoreUri(RemoteStoreProtocol.LOCAL, targetPath);\r
-       }\r
-\r
-       @StepEntry\r
-       public Object[] execute(Media mediaCubeMedia, String targetPath, String targetNamePattern, String successRecipient, int killDateDays,\r
-                       String localRetrievePath, String globalRetrievePath, IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\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
-                       jobRuntime.setDescription(details);\r
-                       beforeRestore(targetUri, targetNamePattern);\r
-                       final IJobRuntime runtime = jobRuntime;\r
-                       sourceUri.addProgressListener(new IProgressEventListener() {\r
-                               @Override\r
-                               public void progressChanged(ProgressEvent evt) {\r
-                                       runtime.incrementProgress(evt.getProgress());\r
-                               }\r
-                       });\r
-                       sourceUri.addStatusListener(new IStatusEventListener() {\r
-                               @Override\r
-                               public void statusChanged(StatusEvent evt) {\r
-                                       evt.setCancel(!canContinue());\r
-                               }\r
-                       });\r
-                       RemoteFile result = sourceUri.transferFrom(targetUri, sourceFileName, targetFileName);\r
-\r
-                       String globalTargetPath = Paths.get(targetPath, targetFileName)\r
-                                       .getParent()\r
-                                       .toString()\r
-                                       .replace(Paths.get(localRetrievePath).toString(), globalRetrievePath);\r
-\r
-                       logger.info(marker,\r
-                                       "Az '{}' állomány visszatöltése sikeres volt '{}' néven. A célmappa a <a href='{}' target='_blank'>ide kattintva</a> nyitható meg.",\r
-                                       sourceFileName, targetFileName, globalTargetPath);\r
-                       afterRestore(targetUri, targetPath, killDateDays, targetFileName);\r
-\r
-               } catch (Exception e) {\r
-                       Message msg = LogUtils.format("Az '{}' állomány visszatöltése sikertelen. A rendszer hibaüzenete: {}", sourceFileName, e.getMessage());\r
-                       logger.error(marker, msg);\r
-                       // logger.error(jobRuntime.marker, msg);\r
-                       logger.catching(e);\r
-                       throw e;\r
-               }\r
-\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
-                       return null;\r
-               for (MediaFile mediaFile : mediaFiles) {\r
-                       if (mediaFile.getStore().getId() == store.getId())\r
-                               return mediaFile.getRelativePath();\r
-               }\r
-               return null;\r
-       }\r
-\r
-       private void setAndCheck(Media mediaCubeMedia, String targetPath, String targetNamePattern, String localRetrievePath, String globalRetrievePath,\r
-                       IJobEngine jobEngine) {\r
-               if (jobEngine == null) {\r
-                       logger.error(marker, "Az folyamatkezelő réteg nem elérhető.");\r
-                       throw new NullPointerException("Internal error, missing JobEngine reference.");\r
-               }\r
-               manager = jobEngine.getItemManager();\r
-               if (manager == null) {\r
-                       logger.error(marker, "Az adatbáziskezelő réteg nem elérhető.");\r
-                       throw new NullPointerException("Internal error, missing ItemManager reference.");\r
-               }\r
-               if (mediaCubeMedia == null) {\r
-                       logger.error(marker, "A folyamat 'mediaCubeMedia' bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, 'mediaCubeMedia' input parameter missing.");\r
-               }\r
-               checkTargetPath(targetPath);\r
-               if (StringUtils.isBlank(targetNamePattern)) {\r
-                       logger.error(marker, "A folyamat 'targetNamePattern' bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, 'targetNamePattern' input parameter missing.");\r
-               }\r
-               Store tsmStore = manager.getSystemStore(false);\r
-               if (tsmStore == null) {\r
-                       logger.error(marker, "A TSM rendszer beállítás nem elérhető.");\r
-                       throw new NullPointerException("System is not configured properly, missing TSM Store.");\r
-               }\r
-               sourceUri = tsmStore.getSourceStoreUri(RemoteStoreProtocol.TSM);\r
-               if (sourceUri == null) {\r
-                       logger.error(marker, "A TSM rendszer beállítás paraméterei nem elérhetőek.");\r
-                       throw new NullPointerException("System is not configured properly, missing TSM StoreUri.");\r
-               }\r
-               targetUri = createTargetUri(manager, targetPath);\r
-               sourceFileName = getSourceFileName(mediaCubeMedia, tsmStore);\r
-               if (sourceFileName == null) {\r
-                       logger.error(marker, "Adatbázis bejegyzés hiba, a visszatöltendő fájl neve nem található.");\r
-                       throw new NullPointerException("Database error, missing MediaFile 'relativePath'.");\r
-               }\r
-\r
-               if (StringUtils.isBlank(localRetrievePath)) {\r
-                       logger.error(marker, "A folyamat 'localRetrievePath' bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, 'localRetrievePath' input parameter missing.");\r
-               }\r
-               if (StringUtils.isBlank(globalRetrievePath)) {\r
-                       logger.error(marker, "A folyamat 'globalRetrievePath' bemeneti paramétere üres.");\r
-                       throw new NullPointerException("System is not configured properly, 'globalRetrievePath' input parameter missing.");\r
-               }\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/TSMSimpleRestoreStep.java b/server/-product/production/OMAR/jobs/steps/TSMSimpleRestoreStep.java
deleted file mode 100644 (file)
index ba63212..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.nio.file.Files;\r
-import java.nio.file.Paths;\r
-\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-\r
-import user.commons.StoreUri;\r
-import user.commons.mediatool.Timecode;\r
-import user.commons.mediatool.Timecode.Type;\r
-import user.commons.remotestore.IProgressEventListener;\r
-import user.commons.remotestore.IStatusEventListener;\r
-import user.commons.remotestore.ProgressEvent;\r
-import user.commons.remotestore.RemoteStoreProtocol;\r
-import user.commons.remotestore.StatusEvent;\r
-import user.jobengine.db.Media;\r
-import user.jobengine.db.MediaFile;\r
-import user.jobengine.db.Store;\r
-\r
-public class TSMSimpleRestoreStep extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger();\r
-\r
-       @StepEntry\r
-       public Object[] execute(long mediaId, String targetPath) throws Exception {\r
-               String fileName = null;\r
-               try {\r
-                       Media media = getManager().getMedia(mediaId);\r
-                       MediaFile mediaFile = getManager().getSystemMediaFile(media);\r
-                       fileName = mediaFile.getRelativePath();\r
-                       Timecode timecode = new Timecode(media.getLength(), Type.PAL);\r
-                       getJobRuntime().setDescription(String.format("%s (%s)", fileName, timecode.toString()));\r
-                       Store tsmStore = getManager().getSystemStore(false);\r
-                       StoreUri sourceStoreUri = getManager().getStoreUri(tsmStore.getName(), RemoteStoreProtocol.TSM);\r
-                       sourceStoreUri.addProgressListener(new IProgressEventListener() {\r
-                               @Override\r
-                               public void progressChanged(ProgressEvent evt) {\r
-                                       setProgress(evt.getProgress());\r
-                               }\r
-                       });\r
-                       sourceStoreUri.addStatusListener(new IStatusEventListener() {\r
-                               @Override\r
-                               public void statusChanged(StatusEvent evt) {\r
-                                       evt.setCancel(!canContinue());\r
-                               }\r
-                       });\r
-                       StoreUri targetStoreUri = getManager().createStoreUri(RemoteStoreProtocol.LOCAL, targetPath);\r
-                       sourceStoreUri.transferFrom(targetStoreUri, fileName, fileName + ".part");\r
-                       Files.move(Paths.get(targetPath, fileName + ".part"), Paths.get(targetPath, fileName));\r
-               } catch (Exception e) {\r
-                       logger.error("Az '{}' állomány visszatöltése sikertelen. A rendszer üzenete: {}", fileName, e.getMessage());\r
-                       throw e;\r
-               }\r
-\r
-               return null;\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/TestForkCancelableStep.java b/server/-product/production/OMAR/jobs/steps/TestForkCancelableStep.java
deleted file mode 100644 (file)
index c1b49f7..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-\r
-import user.commons.IJob;\r
-import user.commons.JobStatus;\r
-import user.commons.ListUtils;\r
-import user.jobengine.server.IJobEngine;\r
-import user.jobengine.server.IJobRuntime;\r
-\r
-public class TestForkCancelableStep extends JobStep {\r
-       private static final String CHILD_TITLE = "Párhuzamosított alfolyamat";\r
-       //      private static final String CHILD_TEMPLATE = "fake-concurrent.xml";\r
-       private static final String CHILD_TEMPLATE = "cancelable.xml";\r
-       private static final Logger logger = LogManager.getLogger();\r
-       int count = 3;\r
-\r
-       @StepEntry\r
-       public Object[] execute(IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
-               for (int i = 0; i < count; i++) {\r
-                       IJobRuntime rt = getEngine().submit(null, e -> {\r
-                               if (e.getStatus().equals(JobStatus.SUSPENDED)) {\r
-                                       IJobRuntime rt = (IJobRuntime) e.getSource();\r
-                                       logger.info("Cleanup on SUSPEND {}, {}", rt.getId(), rt.isDisableRetry());\r
-                               }\r
-                       }, CHILD_TEMPLATE, "JOB " + i, 0, IJobEngine.DEFAULT_OWNER, ListUtils.asMap("param", i));\r
-                       \r
-                       rt.setRelated("TEST" + rt.getId());\r
-               }\r
-\r
-               logger.info("Done");\r
-               return null;\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/TranscodeFFAStranStep.java b/server/-product/production/OMAR/jobs/steps/TranscodeFFAStranStep.java
deleted file mode 100644 (file)
index d09685b..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.io.File;\r
-import java.io.IOException;\r
-import java.nio.file.Files;\r
-import java.nio.file.Path;\r
-import java.nio.file.Paths;\r
-\r
-import org.apache.commons.io.FilenameUtils;\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-import org.apache.logging.log4j.Marker;\r
-import org.apache.logging.log4j.message.Message;\r
-import org.apache.logging.log4j.message.ParameterizedMessage;\r
-\r
-import user.commons.FFAStransAPI;\r
-import user.commons.IFFAStransAPI;\r
-import user.commons.StoreUri;\r
-import user.commons.mediatool.Timecode;\r
-import user.commons.mediatool.Timecode.Type;\r
-import user.commons.remotestore.RemoteStoreProtocol;\r
-import user.jobengine.db.FileType;\r
-import user.jobengine.db.IItemManager;\r
-import user.jobengine.db.Media;\r
-import user.jobengine.db.Store;\r
-import user.jobengine.server.IJobEngine;\r
-import user.jobengine.server.IJobRuntime;\r
-\r
-public class TranscodeFFAStranStep extends JobStep {\r
-       private static final int POLL_INTERVALL = 3000;\r
-       private static final String MP4EXT = ".MP4";\r
-       private static final String MXFEXT = ".MXF";\r
-       private static final String LOWRES_FILETYPE = "Low-res";\r
-       private static final Logger logger = LogManager.getLogger("TranscodeFFAStranStep");\r
-       private IItemManager manager;\r
-       private Store store;\r
-       private FileType fileType;\r
-       private Media mediaCubeMedia;\r
-       private Marker marker;\r
-\r
-       @StepEntry\r
-       public Object[] execute(ArchiveItem archiveItem, Media mediaCubeMedia, String transcoderAddress, String transcoderTemplateName,\r
-                       String globalHiresSourcePath, String localLowresTargetPath, boolean deleteSource, IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
-\r
-               this.marker = jobRuntime.getSessionMarker();\r
-               this.manager = jobEngine.getItemManager();\r
-               this.store = check(manager.getCurrentLowresStore(), "lowres Store");\r
-               this.fileType = check(manager.getFileType(LOWRES_FILETYPE), "lowres FileType");\r
-               this.mediaCubeMedia = check(mediaCubeMedia, "mediaCubeMedia");\r
-               check(archiveItem, "archiveItem");\r
-               check(transcoderAddress, "transcoderAddress");\r
-               check(transcoderTemplateName, "transcoderTemplateName");\r
-               check(globalHiresSourcePath, "globalHiresSourcePath");\r
-               check(localLowresTargetPath, "localLowresTargetPath");\r
-\r
-               File sourceMediaFile = new File(archiveItem.getMediaFile());\r
-               logger.info("Transcoding {}", archiveItem.getMediaFile());\r
-               String sourceFileName = sourceMediaFile.getName();\r
-               Timecode timecode = new Timecode(mediaCubeMedia.getLength(), Type.PAL);\r
-\r
-               String details = String.format("%s (%s, %d bytes)", sourceFileName, timecode.toString(), sourceMediaFile.length());\r
-\r
-               StoreUri storeUri = store.getTargetStoreUri(RemoteStoreProtocol.LOCAL);\r
-               if (storeUri == null)\r
-                       throw new Exception("Can not detect proxy folder.");\r
-\r
-               String webPath = storeUri.toString(true);\r
-\r
-               Path targetPath = null;\r
-               try {\r
-                       String targetFileName = FilenameUtils.removeExtension(sourceFileName) + MP4EXT;\r
-                       targetPath = Paths.get(localLowresTargetPath, targetFileName);\r
-                       if (!Files.exists(targetPath)) {\r
-                               //                              jobRuntime.setDescription(String.format("%s: %s", jobRuntime.getDescription(), details));\r
-                               jobRuntime.setDescription(String.format("%s transzkódolása", details));\r
-                               String sourceFile = Paths.get(globalHiresSourcePath, sourceFileName).toString();\r
-                               IFFAStransAPI api = new FFAStransAPI(transcoderAddress, p -> {\r
-                                       if (p <= 100)\r
-                                               jobRuntime.incrementProgress(p);\r
-                               });\r
-\r
-                               api.submit(transcoderTemplateName, sourceFile);\r
-                               api.monitor(POLL_INTERVALL);\r
-                       }\r
-\r
-                       //a sikeres transzkod utan nem mindig van ott egybol a fajl\r
-                       long started = System.currentTimeMillis();\r
-                       while (!Files.exists(targetPath)) {\r
-                               long current = System.currentTimeMillis();\r
-                               //max 5 perc varakozas\r
-                               if (current - started > 5 * 60 * 1000)\r
-                                       throw new Exception("Transcode job target file access timed out");\r
-                               Thread.sleep(POLL_INTERVALL);\r
-                       }\r
-\r
-                       postprocess(targetPath, webPath);\r
-\r
-               } catch (Exception e) {\r
-                       logger.catching(e);\r
-                       Message m = new ParameterizedMessage("{} átkódolás hiba: {}", sourceFileName, e.getMessage());\r
-                       logger.error(marker, m);\r
-                       throw new Exception(m.getFormattedMessage());\r
-               } finally {\r
-                       try {\r
-                               if (deleteSource && sourceMediaFile != null && sourceMediaFile.exists())\r
-                                       sourceMediaFile.delete();\r
-                       } catch (Exception e) {\r
-                               logger.catching(e);\r
-                       }\r
-                       try {\r
-                               if (deleteSource && targetPath != null && Files.exists(targetPath))\r
-                                       Files.delete(targetPath);\r
-                       } catch (Exception e) {\r
-                               logger.catching(e);\r
-                       }\r
-               }\r
-               return null;\r
-       }\r
-\r
-       private void postprocess(Path transcodedFilePath, String webPath) throws IOException {\r
-               Path lowresPath = null;\r
-               try {\r
-                       String transcodedFileName = transcodedFilePath.getFileName().toString();\r
-                       String targetPath = null;\r
-                       if (transcodedFileName.indexOf(".") > 2) {\r
-                               Path subdir = Paths.get(transcodedFileName.substring(0, 1), transcodedFileName.substring(1, 2), transcodedFileName.substring(2, 3));\r
-                               EscortFiles.ensureUNCFolder(webPath, subdir.toString());\r
-                               targetPath = Paths.get(subdir.toString(), transcodedFileName).toString();\r
-                       } else {\r
-                               targetPath = transcodedFileName;\r
-                       }\r
-                       lowresPath = Paths.get(webPath, targetPath);\r
-                       int version = 1;\r
-                       while (Files.exists(lowresPath)) {\r
-                               String fileName = transcodedFileName + version + MP4EXT;\r
-                               lowresPath = Paths.get(lowresPath.toString().replace(transcodedFileName, fileName));\r
-                               targetPath = targetPath.replace(transcodedFileName, fileName);\r
-                               transcodedFileName = fileName;\r
-                               version++;\r
-                       }\r
-\r
-                       Files.move(transcodedFilePath, lowresPath);\r
-                       manager.createMediaFile(targetPath, fileType, store, mediaCubeMedia).add();\r
-               } catch (IOException e) {\r
-                       logger.catching(e);\r
-                       logger.error(marker, "A '{}' állomány mozgatása a '{}' helyre nem sikerült.", transcodedFilePath, lowresPath);\r
-                       throw e;\r
-               }\r
-       }\r
-\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/TransferStep.java b/server/-product/production/OMAR/jobs/steps/TransferStep.java
deleted file mode 100644 (file)
index c10084f..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-package user.jobengine.server.steps;\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.RemoteFile;\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
-public class TransferStep extends JobStep {\r
-       private static final String DOT_PART = ".part";\r
-       private static final Logger logger = LogManager.getLogger();\r
-\r
-       private void copy(StoreUri sourceStoreUri, String sourceFileName, StoreUri targetStoreUri, String targetFileName) throws Exception {\r
-               String currentTargetFileName = targetFileName;\r
-\r
-               boolean renameAfterCopy = false;\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
-\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
-                       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
-       @StepEntry\r
-       public Object[] execute(StoreUri sourceStoreUri, String sourceFileName, StoreUri targetStoreUri, String targetFileName) throws Exception {\r
-               try {\r
-                       getJobRuntime().setCancelable(false);\r
-\r
-                       Store sourceStore = getManager().getStore(sourceStoreUri.getStoreId());\r
-                       Store targetStore = getManager().getStore(targetStoreUri.getStoreId());\r
-\r
-                       setDescription("{} -> {} : {}", sourceStore.getName(), targetStore.getName(), sourceFileName);\r
-\r
-                       sourceStoreUri.addProgressListener(e -> setProgress(e.getProgress()));\r
-\r
-                       StoreUri currentTargetStoreUri = getTargetStoreUri(targetStoreUri);\r
-\r
-                       try {\r
-                               RemoteFile remoteFile = currentTargetStoreUri.getRemoteFile(targetFileName);\r
-                               if (remoteFile != null) {\r
-                                       logger.info("File {} already exists on target {}, skipping transfer", targetFileName, targetStore.getName());\r
-                               }\r
-                       } catch (Exception e) {\r
-                       }\r
-\r
-                       copy(sourceStoreUri, sourceFileName, currentTargetStoreUri, targetFileName);\r
-               } catch (Exception e) {\r
-                       logger.error(getMarker(), "Error in transfer of {} when copying from {} to {}.", sourceFileName, sourceStoreUri, targetStoreUri);\r
-                       throw e;\r
-               } finally {\r
-                       getJobRuntime().setDescription(null);\r
-                       if (sourceStoreUri != null)\r
-                               sourceStoreUri.cleanUp();\r
-                       if (targetStoreUri != null)\r
-                               targetStoreUri.cleanUp();\r
-               }\r
-               return null;\r
-       }\r
-\r
-       protected StoreUri getTargetStoreUri(StoreUri targetStoreUri) {\r
-               return targetStoreUri;\r
-       }\r
-\r
-       protected String getTmpExtension() {\r
-               return DOT_PART;\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/UpdateGhostMediaDataStep.java b/server/-product/production/OMAR/jobs/steps/UpdateGhostMediaDataStep.java
deleted file mode 100644 (file)
index 39cb7b3..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.util.List;\r
-\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.remotestore.RemoteStoreProtocol;\r
-import user.jobengine.db.IItemManager;\r
-import user.jobengine.db.Media;\r
-import user.jobengine.db.MediaFile;\r
-import user.jobengine.db.Store;\r
-import user.jobengine.server.IJobEngine;\r
-import user.jobengine.server.IJobRuntime;\r
-import user.jobengine.server.steps.shared.MetadataType;\r
-import user.jobengine.server.steps.shared.MetadataTypeDetector;\r
-\r
-public class UpdateGhostMediaDataStep extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger();\r
-       private Marker marker;\r
-\r
-       @StepEntry\r
-       public Object[] execute(Media mediaCubeMedia, IJobEngine jobEngine, IJobRuntime jobRuntime) throws Exception {\r
-               marker = jobRuntime.getSessionMarker();\r
-\r
-               IItemManager manager = jobEngine.getItemManager();\r
-               //Refresh from db\r
-               List<MediaFile> mediaFiles = manager.getMedia(mediaCubeMedia.getId()).getMediaFiles();\r
-               if (mediaFiles != null && mediaFiles.size() == 2) {\r
-                       MediaFile lowres = null;\r
-                       MediaFile highres = null;\r
-\r
-                       for (MediaFile mf : mediaFiles) {\r
-                               if (mf.getStore().getSourceStoreUri(RemoteStoreProtocol.HTTP) != null)\r
-                                       lowres = mf;\r
-                               else\r
-                                       highres = mf;\r
-                       }\r
-\r
-                       if (highres == null) {\r
-                               logger.info(marker, "Nincs highres mediaId: {}", mediaCubeMedia.getId());\r
-                               return null;\r
-                       }\r
-                       if (lowres == null) {\r
-                               logger.info(marker, "Nincs lowres mediaId: {}", mediaCubeMedia.getId());\r
-                               return null;\r
-                       }\r
-\r
-                       String id = MetadataTypeDetector.truncateExtension(highres.getRelativePath());\r
-                       id = MetadataTypeDetector.truncateVersion(id);\r
-                       boolean detect = MetadataTypeDetector.GuessMetadataType(id) == MetadataType.OctopusPlaceholder\r
-                                       || MetadataTypeDetector.GuessMetadataType(id) == MetadataType.OctopusStory;\r
-                       if (!detect) {\r
-                               logger.info(marker, "Nem bejátszó mediaId: {}, file: {}", mediaCubeMedia.getId(), highres.getRelativePath());\r
-                               return null;\r
-                       }\r
-\r
-                       Store highresStore = manager.getSystemStore(false);\r
-                       final long sourceMediaId = lowres.getId();\r
-                       final long highresMediaFileId = highres.getId();\r
-                       final String highresRealtivePath = highres.getRelativePath();\r
-\r
-                       manager.executeQuery("SELECT mediaid FROM mediafile WHERE relativepath=? and storeid=? and id!=?", rs -> {\r
-                               long mediaId = rs.getLong(1);\r
-                               Media media = manager.getMedia(mediaId);\r
-                               if (media.getMediaFilesCount() == 1) {\r
-                                       logger.info(marker, "Hiányzó szellem lowres hozzáadása {} alapján", media.getId());\r
-\r
-                                       MediaFile mf = (MediaFile) manager.get(MediaFile.class, sourceMediaId);\r
-                                       mf.setMedia(media);\r
-                                       mf.setId(0);\r
-                                       manager.add(mf);\r
-                                       media.setLength(mediaCubeMedia.getLength());\r
-                                       manager.modify(media);\r
-                               }\r
-                               return true;\r
-                       }, st -> {\r
-                               st.setString(1, highresRealtivePath);\r
-                               st.setLong(2, highresStore.getId());\r
-                               st.setLong(3, highresMediaFileId);\r
-                       });\r
-\r
-               }\r
-\r
-               return null;\r
-       }\r
-\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/ValidateProResStep.java b/server/-product/production/OMAR/jobs/steps/ValidateProResStep.java
deleted file mode 100644 (file)
index e36f784..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-package user.jobengine.server.steps;\r
-\r
-import java.util.HashMap;\r
-import java.util.Map;\r
-\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-\r
-import user.commons.mediaarea.MediaArea;\r
-\r
-public class ValidateProResStep extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger();\r
-\r
-       @StepEntry\r
-       public Object[] execute(Map<String, MediaArea> proResFiles) {\r
-               Map<String, MediaArea> files = new HashMap<String, MediaArea>();\r
-\r
-               if (!proResFiles.isEmpty()) {\r
-                       for (String fileName : proResFiles.keySet()) {\r
-                               MediaArea mediaArea = proResFiles.get(fileName);\r
-                               String videoFormat = mediaArea.getFormat();\r
-\r
-                               if (mediaArea.getFrameRate() == 23.976 && videoFormat.equals("PRORES")) {\r
-                                       files.put(fileName, mediaArea);\r
-                               }\r
-                       }\r
-               } else {\r
-                       logger.info("proResFiles is empty!");\r
-               }\r
-               return new Object[] { files };\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/shared/EscortFiles.java b/server/-product/production/OMAR/jobs/steps/shared/EscortFiles.java
deleted file mode 100644 (file)
index c888f72..0000000
+++ /dev/null
@@ -1,348 +0,0 @@
-package user.jobengine.server.steps.shared;\r
-\r
-import java.io.ByteArrayInputStream;\r
-import java.io.File;\r
-import java.io.IOException;\r
-import java.io.InputStream;\r
-import java.io.OutputStream;\r
-import java.io.StringWriter;\r
-import java.io.UnsupportedEncodingException;\r
-import java.nio.file.Files;\r
-import java.nio.file.Path;\r
-import java.nio.file.Paths;\r
-import java.nio.file.attribute.FileAttribute;\r
-import java.nio.file.attribute.PosixFilePermission;\r
-import java.nio.file.attribute.PosixFilePermissions;\r
-import java.text.SimpleDateFormat;\r
-import java.util.Calendar;\r
-import java.util.Date;\r
-import java.util.Set;\r
-\r
-import javax.xml.parsers.DocumentBuilder;\r
-import javax.xml.parsers.DocumentBuilderFactory;\r
-import javax.xml.transform.OutputKeys;\r
-import javax.xml.transform.Transformer;\r
-import javax.xml.transform.TransformerConfigurationException;\r
-import javax.xml.transform.TransformerException;\r
-import javax.xml.transform.TransformerFactory;\r
-import javax.xml.transform.TransformerFactoryConfigurationError;\r
-import javax.xml.transform.dom.DOMSource;\r
-import javax.xml.transform.stream.StreamResult;\r
-\r
-import org.apache.commons.lang.StringUtils;\r
-import org.apache.commons.net.ftp.FTPClient;\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-import org.apache.logging.log4j.Marker;\r
-import org.apache.logging.log4j.message.Message;\r
-import org.w3c.dom.DOMImplementation;\r
-import org.w3c.dom.Document;\r
-import org.w3c.dom.Element;\r
-\r
-import com.ibm.nosql.json.api.BasicDBObject;\r
-import com.ibm.nosql.json.util.JSON;\r
-\r
-import user.commons.CalendarUtils;\r
-import user.commons.log4j2.marker.MediaCubeMarker;\r
-import user.commons.StoreUri;\r
-import user.commons.remotestore.FtpDirectoryLister;\r
-\r
-public class EscortFiles {\r
-       private static final String RECORDTIMESTAMP = "RecordTimeStamp";\r
-       private static final String MODIFIEDTIMESTAMP = "ModifiedTimeStamp";\r
-       public static final String DOT_CATCHED = ".catched";\r
-       public static final String DOT_JSON = ".json";\r
-       private static final Logger logger = LogManager.getLogger();\r
-       private static final String EXTENDEDAGENCY = "ExtendedAgency";\r
-       private static final String EXTENDEDDESCRIPTION = "ExtendedDescription";\r
-       private static final String KILLDATE = "KillDate";\r
-       private static final String FORMAT_KILLDATE = "MM-dd-yyyy";\r
-       private static final String EXTENDEDID = "extendedId";\r
-       private static final String ID = "ID";\r
-       private static final String KILLDATE_FILENAME = "%s.%s.killdate";\r
-       private static final String FORMAT_KILLDATENAME = "yyyyMMdd";\r
-       public static final String STATUSFOLDER = ".STATUS";\r
-       public static final String CONFLICTFOLDER = ".CONFLICT";\r
-\r
-       public static String composeKillDate(int days) {\r
-               Calendar killDate = Calendar.getInstance();\r
-               killDate.add(Calendar.DAY_OF_YEAR, days);\r
-               SimpleDateFormat dateFormat = new SimpleDateFormat(FORMAT_KILLDATENAME);\r
-               return dateFormat.format(killDate.getTime());\r
-       }\r
-       /*\r
-        * <?xml version="1.0" encoding="UTF-16"?> <ID extendedId="aaaaaaa">\r
-        * <KillDate>02-02-2018</KillDate> <ExtendedDescription>TEST\r
-        * TEST</ExtendedDescription> <ExtendedAgency>AGENT AGENT</ExtendedAgency> </ID>\r
-        */\r
-\r
-       private static String composeKillDateFileName(String fileName, int days) {\r
-               return String.format(KILLDATE_FILENAME, fileName, composeKillDate(days));\r
-       }\r
-\r
-       public static void createCatchedFile(Path escortFile) throws IOException {\r
-               Path catchedFilePath = Paths.get(escortFile.toString() + DOT_CATCHED);\r
-               Files.createFile(catchedFilePath);\r
-       }\r
-\r
-       public static void createFellow(String escortFile, String extension) throws IOException {\r
-               Files.copy(Paths.get(escortFile), Paths.get(escortFile + "." + extension));\r
-       }\r
-\r
-       /***\r
-        * A media eleresi utjan alapjan a .STATUS almappaban letrehozza a .catch fajlt.\r
-        *\r
-        * @param mediaFile\r
-        * @throws IOException\r
-        */\r
-       public static void createMediaCatch(Path mediaFile) throws IOException {\r
-               Path catchedFile = createMediaCatchFilePath(mediaFile);\r
-               ensureUNCFolder(catchedFile.getParent());\r
-               Files.createFile(catchedFile);\r
-       }\r
-\r
-       public static Path createMediaCatchFilePath(Path mediaFile) {\r
-               String fileName = mediaFile.getFileName().toString() + DOT_CATCHED;\r
-               return Paths.get(mediaFile.getParent().toString(), STATUSFOLDER, fileName);\r
-       }\r
-\r
-       public static void createMetadata(String filePath, String fileName, String metadata) throws IOException {\r
-               ensureUNCFolder(filePath, STATUSFOLDER);\r
-               String metadataFileName = fileName + DOT_JSON;\r
-               Path metadataPath = Paths.get(filePath, STATUSFOLDER, metadataFileName);\r
-               Files.write(metadataPath, metadata.getBytes());\r
-       }\r
-\r
-       public static boolean createMetadataIfNotExists(String filePath, String fileName, String metadata)\r
-                       throws IOException {\r
-               boolean result = false;\r
-               if (!EscortFiles.isMetadataExists(filePath, fileName)) {\r
-                       EscortFiles.createMetadata(filePath, fileName, metadata);\r
-                       result = true;\r
-               }\r
-               return result;\r
-       }\r
-\r
-       public static void createMorpheusXML(String filePath, String fileName, String content) throws IOException {\r
-               ensureUNCFolder(filePath, STATUSFOLDER);\r
-               Path xmlPath = Paths.get(filePath, fileName);\r
-               if (Files.exists(xmlPath))\r
-                       throw new IOException(String.format("Az '%s' állomány már létezik.", xmlPath));\r
-               Files.write(xmlPath, content.getBytes());\r
-       }\r
-\r
-       public static byte[] createNEXIODatesMeta(String fileName, Date recorded, Date modified) throws Exception {\r
-               DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();\r
-               DocumentBuilder db = dbf.newDocumentBuilder();\r
-               DOMImplementation impl = db.getDOMImplementation();\r
-               Document xmlDocument = impl.createDocument(null, null, null);\r
-\r
-               Element root = xmlDocument.createElement(ID);\r
-               root.setAttribute(EXTENDEDID, fileName);\r
-               // <ModifiedTimeStamp>07-13-2020 (19:36:52)</ModifiedTimeStamp>\r
-               // <RecordTimeStamp>05-18-2013 (18:52:24)</RecordTimeStamp>\r
-               SimpleDateFormat df = new SimpleDateFormat("MM-dd-yyyy (HH:mm:ss)");\r
-               root.appendChild(xmlDocument.createElement(MODIFIEDTIMESTAMP))\r
-                               .appendChild(xmlDocument.createTextNode(df.format(modified)));\r
-               root.appendChild(xmlDocument.createElement(RECORDTIMESTAMP))\r
-                               .appendChild(xmlDocument.createTextNode(df.format(recorded)));\r
-               xmlDocument.appendChild(root);\r
-\r
-               return xmDocumentToString(xmlDocument);\r
-       }\r
-\r
-       public static byte[] createNEXIOKillDateFile(String fileName, Date killDate, String description, String agency)\r
-                       throws Exception {\r
-               DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();\r
-               DocumentBuilder db = dbf.newDocumentBuilder();\r
-               DOMImplementation impl = db.getDOMImplementation();\r
-               Document xmlDocument = impl.createDocument(null, null, null);\r
-\r
-               Element root = xmlDocument.createElement(ID);\r
-               root.setAttribute(EXTENDEDID, fileName);\r
-               if (killDate != null) {\r
-                       String sKillDate = CalendarUtils.toString(CalendarUtils.createCalendar(killDate), FORMAT_KILLDATE);\r
-                       root.appendChild(xmlDocument.createElement(KILLDATE)).appendChild(xmlDocument.createTextNode(sKillDate));\r
-               }\r
-\r
-               if (StringUtils.isNotBlank(description))\r
-                       root.appendChild(xmlDocument.createElement(EXTENDEDDESCRIPTION))\r
-                                       .appendChild(xmlDocument.createTextNode(description));\r
-               if (StringUtils.isNotBlank(agency))\r
-                       root.appendChild(xmlDocument.createElement(EXTENDEDAGENCY)).appendChild(xmlDocument.createTextNode(agency));\r
-               xmlDocument.appendChild(root);\r
-\r
-               return xmDocumentToString(xmlDocument);\r
-       }\r
-\r
-       public static Document createNEXIOMeta(byte[] content) throws Exception {\r
-               DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();\r
-               DocumentBuilder db = dbf.newDocumentBuilder();\r
-               DOMImplementation impl = db.getDOMImplementation();\r
-               Document xmlDocument = null;\r
-\r
-               try (InputStream is = new ByteArrayInputStream(content)) {\r
-                       xmlDocument = db.parse(is);\r
-               } catch (Exception e) {\r
-                       logger.catching(e);\r
-               }\r
-\r
-               return xmlDocument;\r
-       }\r
-\r
-       public static void createUNCKillDate(String filePath, String fileName, int days, Marker marker) throws IOException {\r
-               ensureUNCFolder(filePath, STATUSFOLDER);\r
-               String killDateFileName = composeKillDateFileName(fileName, days);\r
-               Path killDatePath = Paths.get(filePath, STATUSFOLDER, killDateFileName);\r
-               if (Files.exists(killDatePath))\r
-                       logger.warn(marker, "Az '{}' állomány már létezik.", killDatePath);\r
-               else\r
-                       Files.createFile(killDatePath);\r
-       }\r
-\r
-       @SuppressWarnings("unchecked")\r
-       public static <T> T decode(Path escortFile) {\r
-               T result = null;\r
-               try {\r
-                       byte[] bytes = Files.readAllBytes(escortFile);\r
-                       String content = new String(bytes);\r
-                       result = (T) JSON.parse(content);\r
-               } catch (Exception e) {\r
-                       logger.error("Decode error. System message is: ", e.getMessage());\r
-               }\r
-               return result;\r
-       }\r
-\r
-       public static void ensureUNCFolder(Path filePath) throws IOException {\r
-               File folder = filePath.toFile();\r
-               if (!folder.exists() || !folder.isDirectory()) {\r
-                       try {\r
-                               Set<PosixFilePermission> perms = PosixFilePermissions.fromString("rwxrwxrwx");\r
-                               FileAttribute<Set<PosixFilePermission>> attr = PosixFilePermissions.asFileAttribute(perms);\r
-                               Files.createDirectories(filePath, attr);\r
-                       } catch (Exception e) {\r
-                               // logger.catching(e);\r
-                               try {\r
-                                       Files.createDirectories(filePath);\r
-                               } catch (Exception e1) {\r
-                                       logger.catching(e1);\r
-                                       throw e1;\r
-                               }\r
-                       }\r
-               }\r
-       }\r
-\r
-       public static void ensureUNCFolder(String filePath, String folderName) throws IOException {\r
-               Path statusPath = Paths.get(filePath, folderName);\r
-               ensureUNCFolder(statusPath);\r
-       }\r
-\r
-       public static boolean isCatchedFileExists(Path escortFile) {\r
-               Path catchedFilePath = Paths.get(escortFile.toString() + DOT_CATCHED);\r
-               return Files.exists(catchedFilePath);\r
-       }\r
-\r
-       /***\r
-        * A media elérési útján alapján a .STATUS almappában vizsgálja .catch fajl\r
-        * létezését.\r
-        *\r
-        * @param mediaFile\r
-        * @return\r
-        */\r
-       public static boolean isMediaCatched(Path mediaFile) {\r
-               Path catchedFile = createMediaCatchFilePath(mediaFile);\r
-               return Files.exists(catchedFile);\r
-       }\r
-\r
-       public static boolean isMetadataExists(String filePath, String fileName) throws IOException {\r
-               boolean result = false;\r
-               String metadataFileName = fileName + DOT_JSON;\r
-               Path metadataPath = Paths.get(filePath, STATUSFOLDER, metadataFileName);\r
-               result = Files.exists(metadataPath);\r
-               return result;\r
-       }\r
-\r
-       public static void notifyRecipient(Path escortFile, Logger logger, Message msg) {\r
-               if (Files.exists(escortFile)) {\r
-                       try {\r
-                               BasicDBObject downloadable = EscortFiles.decode(escortFile);\r
-                               String recipientKey = "recipient";\r
-                               if (downloadable.containsKey(recipientKey)) {\r
-                                       String recipient = downloadable.getString(recipientKey);\r
-                                       logger.info(new MediaCubeMarker(recipient, "MediaCube rendszerüzenet"), msg);\r
-                               }\r
-                       } catch (Exception e) {\r
-                               logger.catching(e);\r
-                       }\r
-\r
-               }\r
-       }\r
-\r
-       public static void remove(Path file) {\r
-               try {\r
-                       file.toFile().delete();\r
-               } catch (Exception e) {\r
-                       logger.error("Unable to delete {}", file.toAbsolutePath().toString());\r
-               }\r
-       }\r
-\r
-       public static void removeCatchedFile(Path escortFile) {\r
-               remove(Paths.get(escortFile.toString() + DOT_CATCHED));\r
-       }\r
-\r
-       /***\r
-        * A media eleresi utjan alapjan a .STATUS almappabol torli a .catch fajlt.\r
-        *\r
-        * @param mediaFile\r
-        * @throws IOException\r
-        */\r
-       public static void removeMediaCatch(Path mediaFile) {\r
-               Path catchedFile = createMediaCatchFilePath(mediaFile);\r
-               remove(catchedFile);\r
-       }\r
-\r
-       public static void setNEXIOKillDate(int killDateDays, String targetFileName, String nexioAgency, StoreUri targetUri)\r
-                       throws Exception {\r
-               OutputStream outStream = null;\r
-               try {\r
-                       FTPClient targetFTP = ((FtpDirectoryLister) targetUri.getLister()).connect();\r
-                       Calendar killDate = CalendarUtils.createCalendar(new Date());\r
-                       killDate.add(Calendar.DAY_OF_YEAR, killDateDays);\r
-                       if (targetFileName.toLowerCase().contains(".mxf"))\r
-                               targetFileName = targetFileName.substring(0, targetFileName.lastIndexOf('.'));\r
-                       byte[] killDateFile = EscortFiles.createNEXIOKillDateFile(targetFileName, killDate.getTime(), null,\r
-                                       nexioAgency);\r
-                       String xml = targetFileName + ".xml";\r
-                       outStream = targetFTP.storeFileStream(xml);\r
-                       if (outStream == null) {\r
-                               throw new NullPointerException(\r
-                                               "Can not open: " + targetFileName.substring(0, targetFileName.lastIndexOf('.')) + ".xml"\r
-                                                               + " Reply:" + targetFTP.getReplyString());\r
-                       }\r
-                       outStream.write(killDateFile);\r
-                       outStream.flush();\r
-               } catch (Exception e) {\r
-                       throw e;\r
-               } finally {\r
-                       if (outStream != null)\r
-                               outStream.close();\r
-                       targetUri.cleanUp();\r
-               }\r
-       }\r
-\r
-       private static byte[] xmDocumentToString(Document xmlDocument) throws TransformerFactoryConfigurationError,\r
-                       TransformerConfigurationException, TransformerException, IOException, UnsupportedEncodingException {\r
-               DOMSource domSource = new DOMSource(xmlDocument);\r
-               TransformerFactory tf = TransformerFactory.newInstance();\r
-               Transformer transformer = tf.newTransformer();\r
-               transformer.setOutputProperty(OutputKeys.METHOD, "xml");\r
-               transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-16");\r
-               transformer.setOutputProperty(OutputKeys.INDENT, "yes");\r
-               StringWriter sw = new StringWriter();\r
-               StreamResult sr = new StreamResult(sw);\r
-               transformer.transform(domSource, sr);\r
-               String result = sw.toString();\r
-               sw.close();\r
-               return result.getBytes("UTF-16");\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/shared/ExternalCommand.java b/server/-product/production/OMAR/jobs/steps/shared/ExternalCommand.java
deleted file mode 100644 (file)
index 307f36d..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-package user.jobengine.server.steps.shared;\r
-\r
-import java.io.BufferedReader;\r
-import java.io.InputStreamReader;\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-\r
-public class ExternalCommand {\r
-       private static final Logger logger = LogManager.getLogger();\r
-       private ExternalProfile profile;\r
-\r
-       public ExternalCommand(ExternalProfile profile) {\r
-               this.profile = profile;\r
-       }\r
-\r
-       public String execute(String input, String output, boolean firstResponse, IExternalCallback responseCallBack) throws Exception {\r
-               List<String> arguments = getArguments(input, output);\r
-               List<String> command = new ArrayList<>();\r
-               command.add(profile.getExecutable());\r
-               command.addAll(arguments);\r
-\r
-               ProcessBuilder processBuilder = new ProcessBuilder();\r
-               processBuilder.command(command);\r
-\r
-               String result = null;\r
-               try {\r
-                       logger.info("Executing : {}", processBuilder.command());\r
-\r
-                       Process process = processBuilder.start();\r
-                       try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {\r
-                               String line = null;\r
-                               while ((line = reader.readLine()) != null) {\r
-                                       logger.debug("Process response: {}", line);\r
-                                       if (responseCallBack != null)\r
-                                               responseCallBack.onResponse(line);\r
-                                       //System.out.println(line);\r
-                                       if (line != null && line.length() > 0) {\r
-                                               result = line;\r
-                                               if (firstResponse)\r
-                                                       break;\r
-                                       }\r
-                               }\r
-                               int exitCode = process.waitFor();\r
-                               if (exitCode != 0) {\r
-                                       StringBuilder msg = new StringBuilder();\r
-                                       try (BufferedReader errReader = new BufferedReader(new InputStreamReader(process.getErrorStream()))) {\r
-                                               String errline = null;\r
-                                               while ((errline = errReader.readLine()) != null) {\r
-                                                       msg.append(errline);\r
-                                               }\r
-                                       } catch (Exception ex) {\r
-                                       }\r
-\r
-                                       throw new Exception("Exited with error code : " + exitCode + ". " + msg);\r
-                               }\r
-                       } catch (Exception e) {\r
-                               throw e;\r
-                       }\r
-               } catch (Exception e) {\r
-                       logger.error(e);\r
-                       throw e;\r
-               }\r
-\r
-               return result;\r
-       }\r
-\r
-       private List<String> getArguments(String input, String output) {\r
-               List<String> result = new ArrayList<>();\r
-\r
-               profile.getArguments().forEach(i -> {\r
-                       result.add(i.replace("%i", input).replace("%o", output));\r
-               });\r
-               return result;\r
-       }\r
-\r
-}
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/steps/shared/ExternalCommandExecutor.java b/server/-product/production/OMAR/jobs/steps/shared/ExternalCommandExecutor.java
deleted file mode 100644 (file)
index a34ff7f..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-package user.jobengine.server.steps.shared;\r
-\r
-import user.commons.configuration.SystemConfiguration;\r
-\r
-public class ExternalCommandExecutor {\r
-\r
-       public void execute(String profileName, String input, String output, IExternalCallback responseCallBack) throws Exception {\r
-               ExternalCommand externalCommand = getExternalCommand(profileName);\r
-               externalCommand.execute(input, output, false, responseCallBack);\r
-       }\r
-\r
-       private ExternalCommand getExternalCommand(String profileName) throws Exception {\r
-               ExternalProfilesConfig config = SystemConfiguration.getInstance().load("settings/external-commands.yaml", ExternalProfilesConfig.class);\r
-\r
-               if (config == null)\r
-                       throw new Exception("Missing external-commands.yaml configuration");\r
-\r
-               ExternalProfile selectedProfile = null;\r
-               for (ExternalProfile profile : config.getProfiles()) {\r
-                       if (profileName.equals(profile.getName())) {\r
-                               selectedProfile = profile;\r
-                               break;\r
-                       }\r
-               }\r
-\r
-               if (selectedProfile == null)\r
-                       throw new Exception("Missing profile " + profileName + " in external-commands.yaml configuration");\r
-\r
-               return new ExternalCommand(selectedProfile);\r
-       }\r
-\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/shared/ExternalProfile.java b/server/-product/production/OMAR/jobs/steps/shared/ExternalProfile.java
deleted file mode 100644 (file)
index 68e22f4..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-package user.jobengine.server.steps.shared;\r
-\r
-import java.util.List;\r
-\r
-public class ExternalProfile {\r
-       private String executable;\r
-       private String name;\r
-       private List<String> arguments;\r
-\r
-       public List<String> getArguments() {\r
-               return arguments;\r
-       }\r
-\r
-       public String getExecutable() {\r
-               return executable;\r
-       }\r
-\r
-       public String getName() {\r
-               return name;\r
-       }\r
-\r
-       public void setArguments(List<String> arguments) {\r
-               this.arguments = arguments;\r
-       }\r
-\r
-       public void setExecutable(String executable) {\r
-               this.executable = executable;\r
-       }\r
-\r
-       public void setName(String name) {\r
-               this.name = name;\r
-       }\r
-}
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/steps/shared/ExternalProfilesConfig.java b/server/-product/production/OMAR/jobs/steps/shared/ExternalProfilesConfig.java
deleted file mode 100644 (file)
index 7ef7729..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-package user.jobengine.server.steps.shared;\r
-\r
-import java.util.List;\r
-\r
-public class ExternalProfilesConfig {\r
-       private List<ExternalProfile> profiles;\r
-\r
-       public List<ExternalProfile> getProfiles() {\r
-               return profiles;\r
-       }\r
-\r
-       public void setProfiles(List<ExternalProfile> profiles) {\r
-               this.profiles = profiles;\r
-       }\r
-}
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/steps/shared/FileSearchFilterOptions.java b/server/-product/production/OMAR/jobs/steps/shared/FileSearchFilterOptions.java
deleted file mode 100644 (file)
index b5a8d0e..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-package user.jobengine.server.steps.shared;\r
-\r
-import java.nio.file.Path;\r
-import java.util.regex.Matcher;\r
-import java.util.regex.Pattern;\r
-\r
-import com.ibm.nosql.json.api.BasicDBObject;\r
-\r
-public class FileSearchFilterOptions {\r
-\r
-       private BasicDBObject filter;\r
-\r
-       public FileSearchFilterOptions(BasicDBObject filter) {\r
-               this.filter = filter;\r
-       }\r
-\r
-       public boolean acceptFile(Path file) {\r
-               if (filter == null)\r
-                       return true;\r
-\r
-               if (filter.containsKey("fileName")) {\r
-                       //.*\.(sh|ini|conf|vhost|xml|php)$\r
-                       String fileNamePattern = filter.getString("fileName");\r
-                       if (fileNamePattern == null || fileNamePattern.trim().length() == 0)\r
-                               return true;\r
-\r
-                       Pattern pattern = Pattern.compile(fileNamePattern, Pattern.CASE_INSENSITIVE);\r
-\r
-                       Matcher matcher = pattern.matcher(file.getFileName().toString());\r
-                       if (matcher.find())\r
-                               return true;\r
-\r
-               }\r
-\r
-               return false;\r
-       }\r
-\r
-       public boolean preAcceptDirectory(Path file) {\r
-               return true;\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/shared/IExternalCallback.java b/server/-product/production/OMAR/jobs/steps/shared/IExternalCallback.java
deleted file mode 100644 (file)
index 1e07191..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-package user.jobengine.server.steps.shared;\r
-\r
-public interface IExternalCallback {\r
-       void onResponse(String data);\r
-}
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/steps/shared/ItemManagerExtensions.java b/server/-product/production/OMAR/jobs/steps/shared/ItemManagerExtensions.java
deleted file mode 100644 (file)
index 32f17cb..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-package user.jobengine.server.steps.shared;\r
-\r
-import java.nio.file.Path;\r
-\r
-import com.ibm.nosql.json.api.BasicDBObject;\r
-\r
-import user.commons.RemoteFile;\r
-import user.commons.StoreUri;\r
-import user.commons.remotestore.RemoteStoreProtocol;\r
-import user.jobengine.db.IItemManager;\r
-import user.jobengine.db.IResultSetConsumer;\r
-import user.jobengine.db.Store;\r
-\r
-public class ItemManagerExtensions {\r
-\r
-       public static BasicDBObject getArchiveInfo(IItemManager manager, long houseid) {\r
-               final BasicDBObject[] result = { null };\r
-               StringBuilder query = new StringBuilder();\r
-               query.append("select count(*) as count, sum(length) as duration FROM media");\r
-               query.append(" ");\r
-               query.append(String.format("where houseid='%d' and itemtypeid = 82", houseid));\r
-               query.append(" ");\r
-               query.append("group by houseid");\r
-               IResultSetConsumer consumer = rs -> {\r
-                       BasicDBObject o = new BasicDBObject();\r
-                       o.put("count", rs.getLong("count"));\r
-                       o.put("duration", rs.getLong("duration"));\r
-                       result[0] = o;\r
-                       return false;\r
-               };\r
-               manager.executeQuery(query.toString(), consumer, null);\r
-               return result[0];\r
-       }\r
-\r
-       public static long getExistingRundownMedia(IItemManager manager, String houseid) {\r
-               final long[] result = new long[] { 0 };\r
-               final String[] idToCheck = new String[] { houseid };\r
-               int pos = houseid.lastIndexOf("-");\r
-               //a hivas a CopyForArchiveNEXIOMaterialsStep-bol is johet, ott meg nincs idobelyegezve a nev!\r
-               if (pos > 0 && houseid.length() - pos > 4)\r
-                       idToCheck[0] = houseid.substring(0, pos);\r
-               MetadataType metadataType = MetadataTypeDetector.GuessMetadataType(idToCheck[0]);\r
-               if (metadataType == MetadataType.OctopusPlaceholder) {\r
-                       StringBuilder query = new StringBuilder();\r
-                       query.append("select mediaid, mediafilehouseid, filename");\r
-                       query.append(" ");\r
-                       query.append(String.format("from vw_rundown_items where mediafilehouseid like '%s%%'", idToCheck[0]));\r
-                       query.append(" ");\r
-                       query.append("order by filename, mediaid");\r
-                       IResultSetConsumer consumer = rs -> {\r
-                               String fileName = rs.getString("filename");\r
-                               if (idToCheck[0].equals(fileName)) {\r
-                                       result[0] = rs.getLong("mediaid");\r
-                                       return false;\r
-                               } else\r
-                                       return true;\r
-                       };\r
-                       manager.executeQuery(query.toString(), consumer, null);\r
-               }\r
-\r
-               return result[0];\r
-       }\r
-\r
-       static public boolean isArchived(IItemManager manager, Path filePath) {\r
-               boolean result = false;\r
-               String name = filePath.getFileName().toString();\r
-               String[] tsmName = new String[] { null };\r
-               String query = String.format("SELECT relativepath FROM MEDIAFILE WHERE houseid = '%s'", name);\r
-               manager.executeQuery(query, rs -> {\r
-                       tsmName[0] = rs.getString("relativepath");\r
-                       return false;\r
-               }, null);\r
-\r
-               Store tsmStore = manager.getSystemStore(false);\r
-               if (tsmStore == null)\r
-                       throw new NullPointerException("A TSM bejegyzés nem található!");\r
-\r
-               StoreUri tsmStoreUri = tsmStore.getSourceStoreUri(RemoteStoreProtocol.TSM);\r
-               if (tsmStoreUri == null)\r
-                       throw new NullPointerException("A TSM forrás elérése nem található!");\r
-\r
-               if (tsmName[0] != null) {\r
-                       try {\r
-                               RemoteFile remoteFile = tsmStoreUri.getRemoteFile(tsmName[0]);\r
-                               result = remoteFile != null;\r
-                       } catch (Exception e) {\r
-                               result = false;\r
-                       } finally {\r
-                               tsmStoreUri.cleanUp();\r
-                       }\r
-               }\r
-               return result;\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/shared/MediaCubeClient.java b/server/-product/production/OMAR/jobs/steps/shared/MediaCubeClient.java
deleted file mode 100644 (file)
index 0915cc3..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-package user.jobengine.server.steps.shared;\r
-\r
-import javax.ws.rs.client.Entity;\r
-import javax.ws.rs.client.Invocation.Builder;\r
-import javax.ws.rs.core.MediaType;\r
-import javax.ws.rs.core.MultivaluedMap;\r
-import javax.ws.rs.core.Response;\r
-import javax.ws.rs.core.Response.Status;\r
-\r
-import org.apache.logging.log4j.LogManager;\r
-import org.apache.logging.log4j.Logger;\r
-import org.jboss.resteasy.client.jaxrs.ResteasyClient;\r
-import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder;\r
-import org.jboss.resteasy.client.jaxrs.ResteasyWebTarget;\r
-import org.jboss.resteasy.specimpl.MultivaluedMapImpl;\r
-\r
-import com.ibm.nosql.json.JSONUtil;\r
-import com.ibm.nosql.json.api.BasicDBObject;\r
-\r
-public class MediaCubeClient {\r
-       private static Logger logger = LogManager.getLogger();\r
-       private ResteasyWebTarget webTarget;\r
-\r
-       public MediaCubeClient(String address) {\r
-               ResteasyClient client = new ResteasyClientBuilder().build();\r
-               webTarget = client.target(address);\r
-       }\r
-\r
-       BasicDBObject getDbObject(String json) {\r
-               BasicDBObject result = (BasicDBObject) JSONUtil.jsonToDbObject(json);\r
-\r
-               if (result == null)\r
-                       throw new NullPointerException("API Result is null!");\r
-\r
-               if (result.containsKey("exception")) {\r
-                       BasicDBObject e = (BasicDBObject) result.get("exception");\r
-                       throw new RuntimeException(e.getString("message"));\r
-               }\r
-               //{"exception":{"message":"Invalid credentials.","publicName":"AuthenticationFailedException"}}\r
-               return result;\r
-       }\r
-\r
-       public BasicDBObject getStatus(long jobId) {\r
-               MultivaluedMap<String, Object> vars = new MultivaluedMapImpl<>();\r
-               vars.add("jobId", jobId);\r
-               Response response = query("services/rest/jobengine/jobstatus", vars).get();\r
-               if (response.getStatus() != Status.OK.getStatusCode()) {\r
-                       logger.error(response.readEntity(String.class));\r
-                       System.out.println(response.readEntity(String.class));\r
-                       return null;\r
-               }\r
-               String result = response.readEntity(String.class);\r
-               return getDbObject(result);\r
-       }\r
-\r
-       private Builder query(String path, MultivaluedMap<String, Object> vars) {\r
-               ResteasyWebTarget target = webTarget.path(path).queryParams(vars);\r
-               Builder result = target.request();\r
-               return result;\r
-       }\r
-\r
-       public long startjob(String template, String name, BasicDBObject jobParams) throws Exception {\r
-               MultivaluedMap<String, Object> vars = new MultivaluedMapImpl<>();\r
-               vars.add("template", template);\r
-               vars.add("name", name);\r
-               Response response = query("services/rest/jobengine/startjob", vars).post(Entity.entity(jobParams.toString(), MediaType.APPLICATION_JSON));\r
-\r
-               if (response.getStatus() != Status.OK.getStatusCode()) {\r
-                       logger.error(response.readEntity(String.class));\r
-                       return 0;\r
-               }\r
-\r
-               String resultObject = response.readEntity(String.class);\r
-               return Long.parseLong(resultObject);\r
-       }\r
-\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/shared/MediaFileSearchFilterOptions.java b/server/-product/production/OMAR/jobs/steps/shared/MediaFileSearchFilterOptions.java
deleted file mode 100644 (file)
index ee467e5..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-package user.jobengine.server.steps.shared;\r
-\r
-import java.nio.file.Path;\r
-import java.util.regex.Matcher;\r
-import java.util.regex.Pattern;\r
-\r
-import com.ibm.nosql.json.api.BasicDBObject;\r
-\r
-public class MediaFileSearchFilterOptions extends FileSearchFilterOptions {\r
-\r
-       private BasicDBObject filter;\r
-\r
-       public MediaFileSearchFilterOptions(BasicDBObject filter) {\r
-               super(filter);\r
-       }\r
-\r
-       @Override\r
-       public boolean acceptFile(Path file) {\r
-               if (filter == null)\r
-                       return true;\r
-\r
-               if (filter.containsKey("fileName")) {\r
-                       // .*\.(sh|ini|conf|vhost|xml|php)$\r
-                       String fileNamePattern = filter.getString("fileName");\r
-                       if (fileNamePattern == null || fileNamePattern.trim().length() == 0)\r
-                               return true;\r
-\r
-                       Pattern pattern = Pattern.compile(fileNamePattern, Pattern.CASE_INSENSITIVE);\r
-\r
-                       Matcher matcher = pattern.matcher(file.getFileName().toString());\r
-                       if (matcher.find())\r
-                               return true;\r
-               }\r
-\r
-               return false;\r
-       }\r
-\r
-       @Override\r
-       public boolean preAcceptDirectory(Path file) {\r
-               return true;\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/shared/MetadataType.java b/server/-product/production/OMAR/jobs/steps/shared/MetadataType.java
deleted file mode 100644 (file)
index 0e27bf3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-package user.jobengine.server.steps.shared;\r
-\r
-public enum MetadataType {\r
-       TrafficMaterial, TrafficPromo, TrafficAD, OctopusStory, OctopusPlaceholder, Generic\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/shared/MetadataTypeDetector.java b/server/-product/production/OMAR/jobs/steps/shared/MetadataTypeDetector.java
deleted file mode 100644 (file)
index 9e9e6be..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-package user.jobengine.server.steps.shared;\r
-\r
-import org.apache.commons.lang.StringUtils;\r
-\r
-public class MetadataTypeDetector {\r
-\r
-       private static final String HYPHEN = "-";\r
-       private static final String DOT = ".";\r
-\r
-       private static final String REGEXP_TRAFFICMATERIALID = "^M{1}[0-9]{6}[A-Z]{1}";\r
-       private static final String REGEXP_TRAFFICADID = "^R{1}[0-9]{6}[A-Z]{1}";\r
-       private static final String REGEXP_TRAFFICPROMOID = "^P{1}[0-9]{6}[A-Z]{1}";\r
-       private static final String REGEXP_OCTOPUSSTORYID = "^[0-9]+";\r
-       private static final String REGEXP_OCTOPUSPLACEHOLDERID = "^[0-9]+_[0-9]+";\r
-       private static final String REGEXP_OCTOPUSPLACEHOLDERVERSIONEDID = "^[0-9]+_[0-9]+-[0-9]{3}";\r
-\r
-       public static MetadataType GuessMetadataType(String id) {\r
-               if (StringUtils.isBlank(id))\r
-                       return MetadataType.Generic;\r
-               if (id.matches(REGEXP_TRAFFICMATERIALID))\r
-                       return MetadataType.TrafficMaterial;\r
-               if (id.matches(REGEXP_TRAFFICPROMOID))\r
-                       return MetadataType.TrafficPromo;\r
-               if (id.matches(REGEXP_TRAFFICADID))\r
-                       return MetadataType.TrafficAD;\r
-               if (id.matches(REGEXP_OCTOPUSSTORYID))\r
-                       return MetadataType.OctopusStory;\r
-               if (id.matches(REGEXP_OCTOPUSPLACEHOLDERID))\r
-                       return MetadataType.OctopusPlaceholder;\r
-               if (id.matches(REGEXP_OCTOPUSPLACEHOLDERVERSIONEDID))\r
-                       return MetadataType.OctopusPlaceholder;\r
-               return MetadataType.Generic;\r
-       }\r
-\r
-       public static String truncateExtension(String name) {\r
-               String result = name;\r
-               if (result != null && result.contains(DOT))\r
-                       result = result.substring(0, result.lastIndexOf(DOT));\r
-               return result;\r
-       }\r
-\r
-       public static String truncateVersion(String name) {\r
-               String result = name;\r
-               if (result != null && result.contains(HYPHEN))\r
-                       result = result.split(HYPHEN)[0];\r
-               return result;\r
-       }\r
-\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/shared/TestLib.java b/server/-product/production/OMAR/jobs/steps/shared/TestLib.java
deleted file mode 100644 (file)
index d12738a..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-package user.jobengine.server.steps.shared;\r
-\r
-public class TestLib {\r
-\r
-       public void hello() {\r
-               TestLib1 lib = new TestLib1();\r
-               lib.helo();\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/steps/shared/TestLib1.java b/server/-product/production/OMAR/jobs/steps/shared/TestLib1.java
deleted file mode 100644 (file)
index 99d47e5..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-package user.jobengine.server.steps.shared;\r
-\r
-public class TestLib1 {\r
-\r
-       public void hello() {\r
-               System.out.println("Hello from lib1");\r
-       }\r
-}\r
diff --git a/server/-product/production/OMAR/jobs/templates/archive-limited.xml b/server/-product/production/OMAR/jobs/templates/archive-limited.xml
deleted file mode 100644 (file)
index 6ea8130..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!DOCTYPE xml>\r
-\r
-<jobtemplate name="Felhasználói archiválás" useSessionLog="false">\r
-       <declarations>\r
-               <parameters>\r
-                       <parameter name="sourcePath" type="java.lang.String" />\r
-                       <parameter name="killDateDays" type="java.lang.Integer" />\r
-                       <parameter name="limit" type="java.lang.Integer" />\r
-               </parameters>\r
-               <variables>\r
-                       <variable name="archiveList" type="java.util.LinkedList" />\r
-               </variables>\r
-       </declarations>\r
-       <commands>\r
-               <calljobstep id="step1" type="ArchiveListBuilderStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="sourcePath" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="limit" />\r
-                               </input>\r
-                       </inputs>\r
-                       <outputs>\r
-                               <output>\r
-                                       <variable name="archiveList" />\r
-                               </output>\r
-                       </outputs>\r
-               </calljobstep>\r
-\r
-               <calljobstep id="step2" type="ArchiveMaterialSubmitStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <variable name="archiveList" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="killDateDays" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-       </commands>\r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/templates/archive-material.xml b/server/-product/production/OMAR/jobs/templates/archive-material.xml
deleted file mode 100644 (file)
index 973ac9f..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<jobtemplate name="Anyag archiválása"  multiInstance="true"  useSessionLog="false">\r
-       <declarations>\r
-               <parameters>\r
-                       <parameter name="archiveItem" type="user.jobengine.server.steps.ArchiveItem" />\r
-                       <parameter name="killDateDays" type="java.lang.Integer"/>\r
-               </parameters>\r
-               <variables>\r
-                       <variable name="mediaCubeMedia" type="user.jobengine.db.Media" />\r
-               </variables>\r
-       </declarations>\r
-       <commands>\r
-               <calljobstep id="id1" type="MetadataTransformStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="archiveItem" />\r
-                               </input>\r
-                       </inputs>\r
-                       <outputs>\r
-                               <output>\r
-                                       <variable name="mediaCubeMedia" />\r
-                               </output>\r
-                       </outputs>\r
-               </calljobstep>\r
-               <calljobstep type="MediaToolStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="archiveItem" />\r
-                               </input>\r
-                               <input>\r
-                                       <variable name="mediaCubeMedia" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>          \r
-               <calljobstep id="id2" type="TSMBackupStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="archiveItem" />\r
-                               </input>\r
-                               <input>\r
-                                       <variable name="mediaCubeMedia" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="killDateDays" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-       </commands>\r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/templates/archive-ondemand.xml b/server/-product/production/OMAR/jobs/templates/archive-ondemand.xml
deleted file mode 100644 (file)
index 54555f6..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!DOCTYPE xml>\r
-\r
-<jobtemplate name="Felhasználói archiválás"  useSessionLog="false">\r
-       <declarations>\r
-               <parameters>\r
-                       <parameter name="sourcePath" type="java.lang.String" />\r
-                       <parameter name="killDateDays" type="java.lang.Integer" />\r
-                       <parameter name="limit" type="java.lang.Integer" />\r
-               </parameters>\r
-               <variables>\r
-                       <variable name="archiveList" type="java.util.LinkedList" />\r
-               </variables>\r
-       </declarations>\r
-       <commands>\r
-               <calljobstep id="step1" type="ArchiveListBuilderStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="sourcePath" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="limit" />\r
-                               </input>\r
-                       </inputs>\r
-                       <outputs>\r
-                               <output>\r
-                                       <variable name="archiveList" />\r
-                               </output>\r
-                       </outputs>\r
-               </calljobstep>\r
-\r
-               <calljobstep id="step2" type="ArchiveMaterialSubmitStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <variable name="archiveList" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="killDateDays" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-       </commands>\r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/templates/archive-recursive.xml b/server/-product/production/OMAR/jobs/templates/archive-recursive.xml
deleted file mode 100644 (file)
index 02b9788..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<jobtemplate name="Felhasználói archiválás" useSessionLog="false">\r
-       <declarations>\r
-               <parameters>\r
-                       <parameter name="sourcePath" type="java.lang.String" />\r
-                       <parameter name="killDateDays" type="java.lang.Integer" />\r
-                       <parameter name="limit" type="java.lang.Integer" />\r
-               </parameters>\r
-       </declarations>\r
-       <commands>\r
-               <calljobstep id="step1" type="ArchiveRecursive.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="sourcePath" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="killDateDays" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="limit" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-       </commands>\r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/templates/batch-retrieve-ondemand.xml b/server/-product/production/OMAR/jobs/templates/batch-retrieve-ondemand.xml
deleted file mode 100644 (file)
index 20332cf..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<jobtemplate name="Archivált anyag visszatöltése" multiInstance="true"  useSessionLog="false">\r
-       <declarations>\r
-               <parameters>\r
-                       <parameter name="basket" type="java.util.ArrayList" />\r
-                       <parameter name="houseId" type="java.lang.String" />\r
-                       <parameter name="recipient" type="java.lang.String" />\r
-                       <parameter name="targetPathType" type="java.lang.String" />\r
-               </parameters>\r
-       </declarations>\r
-       <commands>\r
-               <calljobstep type="BatchRetrieveForkStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="basket" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="houseId" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="recipient" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="targetPathType" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-       </commands>\r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/templates/calculatemd5.xml b/server/-product/production/OMAR/jobs/templates/calculatemd5.xml
deleted file mode 100644 (file)
index 637c763..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!DOCTYPE xml>\r
-\r
-<jobtemplate multiInstance="true" useSessionLog="false">\r
-       <declarations>\r
-               <parameters>\r
-                       <parameter name="fileName" type="java.lang.String" />\r
-               </parameters>\r
-       </declarations>\r
-       <commands>\r
-               <calljobstep remote="true" type="CalculateMD5Step.java" weight="1" >\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="fileName" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-       </commands>\r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/templates/cancelable.xml b/server/-product/production/OMAR/jobs/templates/cancelable.xml
deleted file mode 100644 (file)
index 2be289b..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<jobtemplate multiInstance="true" useSessionLog="true">\r
-       <declarations>\r
-               <parameters>\r
-                       <parameter name="param" type="java.lang.Integer" />\r
-               </parameters>\r
-       </declarations>\r
-       <commands>\r
-               <calljobstep remote="true" type="CancelableStep.java" weight="1" >\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="param" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-       </commands>\r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/templates/common-copy.xml b/server/-product/production/OMAR/jobs/templates/common-copy.xml
deleted file mode 100644 (file)
index 7abb6fc..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<jobtemplate name="Általános file másolás" multiInstance="true" useSessionLog="false">\r
-       <declarations>\r
-               <parameters>\r
-                       <parameter name="sourceProtocol" type="java.lang.String"/>\r
-                       <parameter name="sourcePath" type="java.lang.String"/>\r
-                       <parameter name="sourceFileName" type="java.lang.String"/>\r
-                       <parameter name="targetProtocol" type="java.lang.String"/>\r
-                       <parameter name="targetPath" type="java.lang.String"/>\r
-                       <parameter name="targetFileName" type="java.lang.String"/>\r
-                       <parameter name="killDateDays" type="java.lang.Integer" />\r
-               </parameters>\r
-       </declarations>\r
-       <commands>\r
-               <calljobstep id="id1" type="FileCopyStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="sourceProtocol" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="sourcePath" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="sourceFileName" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="targetProtocol" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="targetPath" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="targetFileName" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="killDateDays" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-       </commands>\r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/templates/create-lowres-ondemand.xml b/server/-product/production/OMAR/jobs/templates/create-lowres-ondemand.xml
deleted file mode 100644 (file)
index f792273..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<jobtemplate name="Hiányzó PROXY videók pótlása" useSessionLog="false">\r
-       <declarations>\r
-               <parameters>\r
-                       <parameter name="mediaCubeMedia" type="user.jobengine.db.Media" />\r
-                       <parameter name="deleteSource" type="java.lang.Boolean"/>\r
-                       <parameter name="killDateDays" type="java.lang.Integer"/>\r
-                       <parameter name="successRecipient" type="java.lang.String" />\r
-                       <parameter name="localHiresPath" type="java.lang.String" />\r
-                       <parameter name="globalHiresPath" type="java.lang.String" />\r
-                       <parameter name="localLowresPath" type="java.lang.String" />\r
-                       <parameter name="transcoderAddress" type="java.lang.String" />\r
-                       <parameter name="transcoderTemplateName" type="java.lang.String" />\r
-                       <parameter name="localRetrievePath" type="java.lang.String" />\r
-                       <parameter name="globalRetrievePath" type="java.lang.String" />\r
-                       <parameter name="targetNamePattern" type="java.lang.String" />\r
-               </parameters>\r
-               <variables>\r
-                       <variable name="archiveItem" type="user.jobengine.server.steps.ArchiveItem" />\r
-               </variables>\r
-       </declarations>\r
-       <commands>\r
-               <calljobstep type="CreateArchiveItemStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="mediaCubeMedia" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="localHiresPath" />\r
-                               </input>\r
-                       </inputs>\r
-                       <outputs>\r
-                               <output>\r
-                                       <variable name="archiveItem" />\r
-                               </output>\r
-                       </outputs>\r
-               </calljobstep>\r
-               <calljobstep type="TSMRestoreStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="mediaCubeMedia" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="localHiresPath" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="targetNamePattern" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="successRecipient" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="killDateDays" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="localRetrievePath" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="globalRetrievePath" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-               <calljobstep type="MediaToolStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <variable name="archiveItem" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="mediaCubeMedia" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-               <calljobstep type="TranscodeFFAStranStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <variable name="archiveItem" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="mediaCubeMedia" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="transcoderAddress" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="transcoderTemplateName" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="globalHiresPath" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="localLowresPath" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="deleteSource" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-               <calljobstep type="UpdateGhostMediaDataStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="mediaCubeMedia" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-       </commands>\r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/templates/create-proxy-ffmpeg.xml b/server/-product/production/OMAR/jobs/templates/create-proxy-ffmpeg.xml
deleted file mode 100644 (file)
index acb2cb6..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<jobtemplate multiInstance="true" useSessionLog="true">\r
-       <declarations>\r
-               <parameters>\r
-                       <parameter name="input" type="java.lang.String" />\r
-                       <parameter name="output" type="java.lang.String" />\r
-                       <parameter name="profile" type="java.lang.String" />\r
-               </parameters>\r
-       </declarations>\r
-       <commands>\r
-               <calljobstep remote="true" type="TranscodeFFMpegStep.java" weight="1" >\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="input" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="output" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="profile" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-       </commands>\r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/templates/delete-materials.xml b/server/-product/production/OMAR/jobs/templates/delete-materials.xml
deleted file mode 100644 (file)
index 365fe19..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<jobtemplate name="Anyagok törlése" multiInstance="true" useSessionLog="false">\r
-       <declarations>\r
-               <parameters>\r
-                       <parameter name="sourcePath" type="java.lang.String"/>\r
-               </parameters>\r
-       </declarations>\r
-       <commands>\r
-               <calljobstep id="id1" type="CleanupMountedLocationStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="sourcePath" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-       </commands>\r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/templates/dummy-test-job.xml b/server/-product/production/OMAR/jobs/templates/dummy-test-job.xml
deleted file mode 100644 (file)
index 2c5d5a5..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!DOCTYPE xml>\r
-\r
-<jobtemplate useSessionLog="true">\r
-       <declarations>\r
-               <parameters>\r
-                       <parameter name="param1" type="java.lang.String" />\r
-               </parameters>\r
-               <variables>\r
-                       <variable name="var1" type="java.lang.Integer" />\r
-                       <variable name="var2" type="java.lang.Long" />\r
-               </variables>\r
-       </declarations>\r
-       <commands>\r
-               <calljobstep type="DummyTestStep1.java" weight="1" >\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="param1" />\r
-                               </input>\r
-                       </inputs>\r
-                       <outputs>\r
-                               <output>\r
-                                       <variable name="var1" />\r
-                               </output>\r
-                       </outputs>\r
-               </calljobstep>\r
-               <calljobstep type="DummyTestStep2.java" weight="1" >\r
-                       <inputs>\r
-                               <input>\r
-                                       <variable name="var1" />\r
-                               </input>\r
-                       </inputs>\r
-                       <outputs>\r
-                               <output>\r
-                                       <variable name="var2" />\r
-                               </output>\r
-                       </outputs>\r
-               </calljobstep>\r
-               <calljobstep type="DummyTestStep3.java" weight="1" >\r
-                       <inputs>\r
-                               <input>\r
-                                       <variable name="var2" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-       </commands>\r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/templates/integration-test.xml b/server/-product/production/OMAR/jobs/templates/integration-test.xml
deleted file mode 100644 (file)
index 6593e5d..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<jobtemplate>\r
-       <commands>\r
-               <calljobstep remote="true" type="IntegrationTestStep.java" weight="1" />\r
-       </commands>\r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/templates/metadata-updater.xml b/server/-product/production/OMAR/jobs/templates/metadata-updater.xml
deleted file mode 100644 (file)
index f516c3e..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<jobtemplate name="Metaadat szinkronizálás">\r
-       <commands>\r
-               <calljobstep type="MetadataUpdater.java" />\r
-       </commands>\r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/templates/migrate-hsm.xml b/server/-product/production/OMAR/jobs/templates/migrate-hsm.xml
deleted file mode 100644 (file)
index faec872..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<jobtemplate name="HSM migráció" useSessionLog="false">\r
-       <declarations>\r
-               <parameters>\r
-                       <parameter name="sourceLocation" type="java.lang.String" />\r
-                       <parameter name="targetLocation" type="java.lang.String" />\r
-               </parameters>\r
-       </declarations>\r
-       <commands>\r
-               <calljobstep id="step1" type="HSMMigrateStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="sourceLocation" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="targetLocation" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-       </commands>\r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/templates/move-jpeg-to-isilon.xml b/server/-product/production/OMAR/jobs/templates/move-jpeg-to-isilon.xml
deleted file mode 100644 (file)
index ae74dab..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!DOCTYPE xml>\r
-\r
-<jobtemplate useSessionLog="true">\r
-       <declarations>\r
-               <parameters>\r
-                       <parameter name="sourceUri" type="java.lang.String"/>\r
-                       <parameter name="sourceProtocol" type="java.lang.String"/>\r
-                       <parameter name="sourceFolder" type="java.lang.String"/>\r
-                       <parameter name="targetUri" type="java.lang.String"/>\r
-                       <parameter name="targetProtocol" type="java.lang.String"/>\r
-                       <parameter name="targetFolder" type="java.lang.String"/>\r
-                       <parameter name="userName" type="java.lang.String"/>\r
-                       <parameter name="password" type="java.lang.String"/>\r
-                       <parameter name="port" type="java.lang.Integer"/>\r
-               </parameters>\r
-       </declarations>\r
-       <commands>\r
-               <calljobstep type="MoveJpegToIsilonStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="sourceUri" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="sourceProtocol" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="sourceFolder" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="targetUri" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="targetProtocol" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="targetFolder" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="userName" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="password" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="port" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-       </commands>     \r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/templates/prores-archive.xml b/server/-product/production/OMAR/jobs/templates/prores-archive.xml
deleted file mode 100644 (file)
index 2d49bcb..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!DOCTYPE xml>\r
-\r
-<jobtemplate multiInstance="false" useSessionLog="false">\r
-       <declarations>\r
-               <parameters>\r
-                       <parameter name="sourceStoreFolder" type="java.lang.String" />\r
-                       <parameter name="sourceStoreName" type="java.lang.String" />\r
-                       <parameter name="targetStoreName" type="java.lang.String" />\r
-                       <parameter name="escortStoreFolder" type="java.lang.String" />\r
-                       <parameter name="filter" type="com.ibm.nosql.json.api.BasicDBObject" />\r
-               </parameters>\r
-               <variables>\r
-                       <variable name="foundFiles" type="java.util.List"/>\r
-                       <variable name="proResFiles" type="java.util.Map"/>\r
-                       <variable name="files" type="java.util.Map"/>\r
-               </variables>\r
-       </declarations>\r
-       <commands>\r
-               <calljobstep type="ProResArchiveStep.java" weight="5">\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="sourceStoreFolder" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="filter" />\r
-                               </input>\r
-                       </inputs>\r
-                       <outputs>\r
-                               <output>\r
-                                       <variable name="foundFiles" />\r
-                               </output>\r
-                       </outputs>\r
-               </calljobstep>\r
-               <calljobstep type="AnalyzeMediaFilesStep.java" weight="5">\r
-                       <inputs>\r
-                               <input>\r
-                                       <variable name="foundFiles" />\r
-                               </input>\r
-                       </inputs>\r
-                       <outputs>\r
-                               <output>\r
-                                       <variable name="proResFiles" />\r
-                               </output>\r
-                       </outputs>\r
-               </calljobstep>\r
-               <calljobstep type="ValidateProResStep.java" weight="5">\r
-                       <inputs>\r
-                               <input>\r
-                                       <variable name="proResFiles" />\r
-                               </input>\r
-                       </inputs>\r
-                       <outputs>\r
-                               <output>\r
-                                       <variable name="files" />\r
-                               </output>\r
-                       </outputs>\r
-               </calljobstep>\r
-                               <calljobstep type="GenerateJSONMetadataStep.java" weight="5">\r
-                       <inputs>\r
-                               <input>\r
-                                       <variable name="files" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="sourceStoreName" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="targetStoreName" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="escortStoreFolder" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-       </commands>\r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/templates/remote-transcode.xml b/server/-product/production/OMAR/jobs/templates/remote-transcode.xml
deleted file mode 100644 (file)
index ce4c77b..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<jobtemplate multiInstance="true" useSessionLog="true">\r
-       <declarations>\r
-               <parameters>\r
-                       <!-- Slave server address for transcode -->\r
-                       <parameter name="remoteServer" type="java.lang.String" />\r
-                       <!-- Slave server template for transcode -->\r
-                       <parameter name="transcodeTemplate" type="java.lang.String" />\r
-                       <!-- Slave server job display name -->\r
-                       <parameter name="jobName" type="java.lang.String" />\r
-                       <!-- Slave server transcode job profile -->\r
-                       <parameter name="profileName" type="java.lang.String" />\r
-                       <!-- TEMP store for media retrieve -->\r
-                       <parameter name="tempStoreName" type="java.lang.String" />\r
-                       <!-- TEMP store protocol for media retrieve -->\r
-                       <parameter name="tempStoreProtocol" type="java.lang.String" />\r
-               </parameters>\r
-               <variables>\r
-                       <!-- Media to transcode -->\r
-                       <variable name="media" type="user.jobengine.db.Media" />\r
-                       <!-- Media file name -->\r
-                       <variable name="fileName" type="java.lang.String" />\r
-                       <!-- Media store uri -->\r
-                       <variable name="mediaStoreUri" type="user.commons.StoreUri" />\r
-                       <!-- TEMP store uri -->\r
-                       <variable name="tempStoreUri" type="user.commons.StoreUri" />\r
-                       <!-- Slave server remote job parameters -->\r
-                       <variable name="remoteJobParameters" type="com.ibm.nosql.json.api.BasicDBObject" />\r
-               </variables>\r
-       </declarations>\r
-       <commands>\r
-               <calljobstep type="QueryMissingProxyMediaStep.java" weight="1" >\r
-                       <outputs>\r
-                               <output>\r
-                                       <variable name="media" />\r
-                               </output>\r
-                       </outputs>\r
-               </calljobstep>  \r
-               <calljobstep type="PrepareMediaRestoreStep.java" weight="1" >\r
-                       <inputs>\r
-                               <input>\r
-                                       <variable name="media" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="tempStoreName" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="tempStoreProtocol" />\r
-                               </input>\r
-                       </inputs>\r
-                       <outputs>\r
-                               <output>\r
-                                       <variable name="mediaStoreUri" />\r
-                               </output>\r
-                               <output>\r
-                                       <variable name="tempStoreUri" />\r
-                               </output>\r
-                               <output>\r
-                                       <variable name="fileName" />\r
-                               </output>\r
-                       </outputs>\r
-               </calljobstep>  \r
-               <calljobstep type="TransferStep.java" weight="5" >\r
-                       <inputs>\r
-                               <input>\r
-                                       <variable name="mediaStoreUri" />\r
-                               </input>\r
-                               <input>\r
-                                       <variable name="fileName" />\r
-                               </input>\r
-                               <input>\r
-                                       <variable name="tempStoreUri" />\r
-                               </input>\r
-                               <input>\r
-                                       <variable name="fileName" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>  \r
-               <calljobstep type="PrepareRemoteTranscodeJobParametersStep.java" weight="1" >\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="profileName" />\r
-                               </input>\r
-                               <input>\r
-                                       <variable name="fileName" />\r
-                               </input>\r
-                       </inputs>\r
-                       <outputs>\r
-                               <output>\r
-                                       <variable name="remoteJobParameters" />\r
-                               </output>\r
-                       </outputs>\r
-               </calljobstep>  \r
-               <calljobstep type="RemoteJobStep.java" weight="10" >\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="remoteServer" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="transcodeTemplate" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="jobName" />\r
-                               </input>\r
-                               <input>\r
-                                       <variable name="remoteJobParameters" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-       </commands>\r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/templates/retrieve-ondemand.xml b/server/-product/production/OMAR/jobs/templates/retrieve-ondemand.xml
deleted file mode 100644 (file)
index b58d8fd..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<jobtemplate name="Archivált anyag visszatöltése" multiInstance="true" useSessionLog="false">\r
-       <declarations>\r
-               <parameters>\r
-                       <parameter name="localRetrievePath" type="java.lang.String" />\r
-                       <parameter name="globalRetrievePath" type="java.lang.String" />\r
-                       <parameter name="materialOutputFolder" type="java.lang.String" />\r
-                       <parameter name="promoOutputFolder" type="java.lang.String" />\r
-                       <parameter name="advertisementOutputFolder" type="java.lang.String" />\r
-                       <parameter name="octopusOutputFolder" type="java.lang.String" />\r
-                       <parameter name="genericOutputFolder" type="java.lang.String" />\r
-                       <parameter name="onlineOutputFolder" type="java.lang.String" />\r
-                       <parameter name="archivedMedia" type="user.jobengine.db.ArchivedMedia" />\r
-                       <parameter name="houseId" type="java.lang.String" />\r
-                       <parameter name="successRecipient" type="java.lang.String" />\r
-                       <parameter name="targetPathType" type="java.lang.String" />\r
-                       <parameter name="killDateDays" type="java.lang.Integer"/>\r
-                       <parameter name="nexioAgency" type="java.lang.String"/>\r
-                       <parameter name="nexioPort" type="java.lang.Integer"/>\r
-                       <parameter name="nexioUserName" type="java.lang.String"/>\r
-                       <parameter name="nexioPassword" type="java.lang.String"/>\r
-               </parameters>\r
-               <variables>\r
-                       <variable name="targetPath" type="java.lang.String" />\r
-                       <variable name="targetNamePattern" type="java.lang.String" />\r
-                       <variable name="useNexioTarget" type="java.lang.Boolean" />\r
-               </variables>\r
-       </declarations>\r
-       <commands>\r
-               <calljobstep type="OutputPathAndNameSelectorStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="localRetrievePath" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="materialOutputFolder" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="promoOutputFolder" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="advertisementOutputFolder" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="octopusOutputFolder" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="genericOutputFolder" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="onlineOutputFolder" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="houseId" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="targetPathType" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="archivedMedia" />\r
-                               </input>\r
-                       </inputs>\r
-                       <outputs>\r
-                               <output>\r
-                                       <variable name="targetPath" />\r
-                               </output>\r
-                               <output>\r
-                                       <variable name="targetNamePattern" />\r
-                               </output>\r
-                               <output>\r
-                                       <variable name="useNexioTarget" />\r
-                               </output>\r
-                       </outputs>                      \r
-               </calljobstep>\r
-               <calljobstep type="TSMExtendedRetrieveStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="archivedMedia" />\r
-                               </input>\r
-                               <input>\r
-                                       <variable name="targetPath" />\r
-                               </input>\r
-                               <input>\r
-                                       <variable name="targetNamePattern" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="successRecipient" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="killDateDays" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="localRetrievePath" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="globalRetrievePath" />\r
-                               </input>\r
-                               <input>\r
-                                       <variable name="useNexioTarget" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="nexioAgency" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="nexioPort" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="nexioUserName" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="nexioPassword" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-               <calljobstep type="MXFCutterStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="archivedMedia" />\r
-                               </input>\r
-                               <input>\r
-                                       <variable name="targetPath" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="successRecipient" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="houseId" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="killDateDays" />\r
-                               </input>\r
-                               <input>\r
-                                       <variable name="useNexioTarget" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="nexioAgency" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="nexioPort" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="nexioUserName" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="nexioPassword" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-       </commands>\r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/templates/retrieve.xml b/server/-product/production/OMAR/jobs/templates/retrieve.xml
deleted file mode 100644 (file)
index e12fd95..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<jobtemplate name="Archivált anyag visszatöltése" multiInstance="true" useSessionLog="false">\r
-       <declarations>\r
-               <parameters>\r
-                       <parameter name="mediaId" type="java.lang.Long" />\r
-                       <parameter name="targetPath" type="java.lang.String" />\r
-               </parameters>\r
-       </declarations>\r
-       <commands>\r
-               <calljobstep type="TSMSimpleRestoreStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="mediaId" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="targetPath" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-       </commands>\r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/templates/safe-delete-recursive.xml b/server/-product/production/OMAR/jobs/templates/safe-delete-recursive.xml
deleted file mode 100644 (file)
index bfa8e37..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<jobtemplate name="Rekurzív törlés" useSessionLog="false">\r
-       <declarations>\r
-               <parameters>\r
-                       <parameter name="sourcePath" type="java.lang.String" />\r
-               </parameters>\r
-       </declarations>\r
-       <commands>\r
-               <calljobstep id="step1" type="SafeDeleteRecursive.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="sourcePath" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-       </commands>\r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/templates/sync-subtitles.xml b/server/-product/production/OMAR/jobs/templates/sync-subtitles.xml
deleted file mode 100644 (file)
index f68c278..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!DOCTYPE xml>\r
-\r
-<jobtemplate>\r
-       <declarations>\r
-               <parameters>\r
-                       <parameter name="sourceFolder" type="java.lang.String" />\r
-                       <parameter name="filter" type="com.ibm.nosql.json.api.BasicDBObject" />\r
-               </parameters>\r
-       </declarations>\r
-       <commands>\r
-               <calljobstep remote="true" type="PathItemsCollectorStep.java" weight="1" >\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="sourceFolder" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="filter" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-       </commands>\r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/templates/sys-recreate-lowres.xml b/server/-product/production/OMAR/jobs/templates/sys-recreate-lowres.xml
deleted file mode 100644 (file)
index 9ef84b3..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<jobtemplate name="Hiányzó PROXY videók pótlása" useSessionLog="false">\r
-       <declarations>\r
-               <parameters>\r
-                       <parameter name="localHiresPath" type="java.lang.String" />\r
-                       <parameter name="globalHiresPath" type="java.lang.String" />\r
-                       <parameter name="localLowresPath" type="java.lang.String" />\r
-                       <parameter name="transcoderAddress" type="java.lang.String" />\r
-                       <parameter name="transcoderTemplateName" type="java.lang.String" />\r
-                       <parameter name="localRetrievePath" type="java.lang.String" />\r
-                       <parameter name="globalRetrievePath" type="java.lang.String" />\r
-               </parameters>\r
-               <variables>\r
-                       <variable name="mediaCubeMedia" type="user.jobengine.db.Media" />\r
-                       <variable name="targetNamePattern" type="java.lang.String" />\r
-                       <variable name="archiveItem" type="user.jobengine.server.steps.ArchiveItem" />\r
-                       <variable name="killDateDays" type="java.lang.Integer"/>\r
-                       <variable name="successRecipient" type="java.lang.String" />\r
-                       <variable name="deleteSource" type="java.lang.Boolean"/>\r
-               </variables>\r
-       </declarations>\r
-       <commands>\r
-               <calljobstep type="CreateMissingLowresStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <parameter name="localHiresPath" />\r
-                               </input>\r
-                       </inputs>\r
-                       <outputs>\r
-                               <output>\r
-                                       <variable name="mediaCubeMedia" />\r
-                               </output>\r
-                               <output>\r
-                                       <variable name="archiveItem" />\r
-                               </output>\r
-                               <output>\r
-                                       <variable name="targetNamePattern" />\r
-                               </output>\r
-                               <output>\r
-                                       <variable name="successRecipient" />\r
-                               </output>\r
-                               <output>\r
-                                       <variable name="killDateDays" />\r
-                               </output>\r
-                               <output>\r
-                                       <variable name="deleteSource" />\r
-                               </output>\r
-                       </outputs>\r
-               </calljobstep>\r
-               <calljobstep type="TSMRestoreStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <variable name="mediaCubeMedia" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="localHiresPath" />\r
-                               </input>\r
-                               <input>\r
-                                       <variable name="targetNamePattern" />\r
-                               </input>\r
-                               <input>\r
-                                       <variable name="successRecipient" />\r
-                               </input>\r
-                               <input>\r
-                                       <variable name="killDateDays" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="localRetrievePath" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="globalRetrievePath" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-               <calljobstep type="MediaToolStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <variable name="archiveItem" />\r
-                               </input>\r
-                               <input>\r
-                                       <variable name="mediaCubeMedia" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-               <calljobstep type="TranscodeFFAStranStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <variable name="archiveItem" />\r
-                               </input>\r
-                               <input>\r
-                                       <variable name="mediaCubeMedia" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="transcoderAddress" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="transcoderTemplateName" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="globalHiresPath" />\r
-                               </input>\r
-                               <input>\r
-                                       <parameter name="localLowresPath" />\r
-                               </input>\r
-                               <input>\r
-                                       <variable name="deleteSource" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-               <calljobstep type="UpdateGhostMediaDataStep.java" weight="1">\r
-                       <inputs>\r
-                               <input>\r
-                                       <variable name="mediaCubeMedia" />\r
-                               </input>\r
-                       </inputs>\r
-               </calljobstep>\r
-       </commands>\r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/jobs/templates/test-fork-cancelable.xml b/server/-product/production/OMAR/jobs/templates/test-fork-cancelable.xml
deleted file mode 100644 (file)
index 8c88d84..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<jobtemplate multiInstance="true" useSessionLog="false">\r
-<commands>\r
-       <calljobstep type="TestForkCancelableStep.java" weight="1" />\r
-</commands>\r
-</jobtemplate>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/log/.gitignore b/server/-product/production/OMAR/log/.gitignore
deleted file mode 100644 (file)
index c474102..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-/delete-materials.log
-/markered-mediacube.log
-/mediacube-err.log
-/mediacube.log
-/movtest.log
diff --git a/server/-product/production/OMAR/log/2022-05/.gitignore b/server/-product/production/OMAR/log/2022-05/.gitignore
deleted file mode 100644 (file)
index 5e8754b..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-/markered-mediacube-05-05-2022-1.log.gz
-/markered-mediacube-05-06-2022-1.log.gz
-/mediacube-05-05-2022-1.log.gz
-/mediacube-05-06-2022-1.log.gz
-/mediacube-err-05-05-2022-1.log.gz
-/mediacube-err-05-06-2022-1.log.gz
diff --git a/server/-product/production/OMAR/log/2022-05/markered-mediacube-05-09-2022-1.log.gz b/server/-product/production/OMAR/log/2022-05/markered-mediacube-05-09-2022-1.log.gz
deleted file mode 100644 (file)
index 5325035..0000000
Binary files a/server/-product/production/OMAR/log/2022-05/markered-mediacube-05-09-2022-1.log.gz and /dev/null differ
diff --git a/server/-product/production/OMAR/log/2022-05/mediacube-05-09-2022-1.log.gz b/server/-product/production/OMAR/log/2022-05/mediacube-05-09-2022-1.log.gz
deleted file mode 100644 (file)
index b4179fc..0000000
Binary files a/server/-product/production/OMAR/log/2022-05/mediacube-05-09-2022-1.log.gz and /dev/null differ
diff --git a/server/-product/production/OMAR/log/2022-05/mediacube-err-05-09-2022-1.log.gz b/server/-product/production/OMAR/log/2022-05/mediacube-err-05-09-2022-1.log.gz
deleted file mode 100644 (file)
index 605ced8..0000000
Binary files a/server/-product/production/OMAR/log/2022-05/mediacube-err-05-09-2022-1.log.gz and /dev/null differ
diff --git a/server/-product/production/OMAR/mediacube.bat b/server/-product/production/OMAR/mediacube.bat
deleted file mode 100644 (file)
index 24a39d6..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-@echo off\r
-if exist tmp rmdir tmp /s /q\r
-mkdir tmp\r
-java ^\r
--Dorg.eclipse.epp.logging.aeri.skipReports=true ^\r
--Declipse.ignoreApp=true ^\r
--Dosgi.noShutdown=true ^\r
--Dlog4j.configurationFile=settings/log4j2.xml ^\r
--Djetty.home=settings ^\r
--Djetty.etc.config.urls=jetty.xml ^\r
--Djava.io.tmpdir=tmp ^\r
--Dfile.encoding=UTF-8 ^\r
--Dgosh.home=configuration ^\r
--jar ../../target/products/MediaCube/linux/gtk/x86_64/plugins/org.eclipse.equinox.launcher_1.3.201.v20161025-1711.jar ^\r
--Xms512m ^\r
--Xmx1024m ^\r
--console\r
diff --git a/server/-product/production/OMAR/settings/application.yaml b/server/-product/production/OMAR/settings/application.yaml
deleted file mode 100644 (file)
index c870af3..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-datasource:\r
-  mediacube:\r
-    url: jdbc:db2://localhost:50000/mc\r
-    user: db2admin\r
-    password: password\r
-    external-indexer: true\r
-    simple-search: true\r
-    login-timeout: 3\r
-    pool-size: 10\r
-  mediacube-nosql:\r
-    url: jdbc:db2://localhost:50000/mc\r
-    user: db2admin\r
-    password: password\r
-    schema: test\r
-    login-timeout: 3\r
-  hsm: \r
-    url: jdbc:db2://10.11.1.89:51500/tsmdb1\r
-    user: tsminst1\r
-    password: tsminst1\r
-  planair: \r
-    url: jdbc:sqlserver://10.11.254.86;databaseName=PA_Vivantis;\r
-    user: MAM\r
-    password: VDani\r
-services:\r
-  ffmpeg:\r
-    executable-location: /opt/ffmpeg/ffmpeg \r
-  mediacube:\r
-    proxy-root: /data/mediacube\r
-  nexio:\r
-#    host: 10.10.1.55\r
-#    collection-name: nexioclips\r
-#    use-mos-gateway: true\r
-    disabled: true\r
-jobs:\r
-  validate-transfers: false\r
-  copy-buffer-size: 32768\r
-  scheduled-execution-disabled: true\r
-tsm:\r
-  randomize-archives: false \r
-  delimiter: /\r
-  node-name: JOBENGINE\r
-  fs-name: /JOBENGINE\r
-  alternate-fs-name: /JOBENGINE\r
-  hl-name: /JOBENGINE\r
-   
\ No newline at end of file
diff --git a/server/-product/production/OMAR/settings/dsm.opt b/server/-product/production/OMAR/settings/dsm.opt
deleted file mode 100644 (file)
index 90fcbdd..0000000
+++ /dev/null
@@ -1 +0,0 @@
-SErvername       tsm.in.useribm.hu\r
diff --git a/server/-product/production/OMAR/settings/dsmopt.lock b/server/-product/production/OMAR/settings/dsmopt.lock
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/server/-product/production/OMAR/settings/external-commands.yaml b/server/-product/production/OMAR/settings/external-commands.yaml
deleted file mode 100644 (file)
index 5f3a3a6..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-profiles:\r
--\r
-  name: proxy\r
-  executable: /Programs/ffmpeg/bin/ffmpeg.exe\r
-  arguments:\r
-    - -y  \r
-    - -v\r
-    - error\r
-    - -progress\r
-    - pipe:1\r
-    - -i\r
-    - "%i"  \r
-    - "%o"  \r
--\r
-  name: length\r
-  executable: /Programs/ffmpeg/bin/ffprobe.exe\r
-  arguments:\r
-    - -v\r
-    - error\r
-    - -select_streams\r
-    - v:0 \r
-    - -show_entries  \r
-    - stream=nb_frames  \r
-    - -of  \r
-    - default=noprint_wrappers=1:nokey=1  \r
-    - "%i"\r
\ No newline at end of file
diff --git a/server/-product/production/OMAR/settings/jetty.xml b/server/-product/production/OMAR/settings/jetty.xml
deleted file mode 100644 (file)
index 30bdeb0..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">\r
-\r
-<Configure id="Server" class="org.eclipse.jetty.server.Server">\r
-       <Call name="addConnector">\r
-               <Arg>\r
-                       <New class="org.eclipse.jetty.server.ServerConnector">\r
-                               <Arg name="server">\r
-                                       <Ref refid="Server" />\r
-                               </Arg>\r
-                               <Set name="port">\r
-                                       <Property name="jetty.http.port" default="9080" />\r
-                               </Set>\r
-                       </New>\r
-               </Arg>\r
-       </Call>\r
-\r
-<!--   <Set name="sessionIdManager"> -->\r
-<!--           <New id="idMgr" -->\r
-<!--                   class="org.eclipse.jetty.server.session.DefaultSessionIdManager"> -->\r
-<!--                   <Arg> -->\r
-<!--                           <Ref refid="Server" /> -->\r
-<!--                   </Arg> -->\r
-<!--                   <Set name="workerName">node1</Set> -->\r
-<!--           </New> -->\r
-<!--   </Set> -->\r
-\r
-       <Set name="handler">\r
-               <New id="Handlers"\r
-                       class="org.eclipse.jetty.server.handler.HandlerCollection">\r
-                       <Set name="handlers">\r
-                               <Array type="org.eclipse.jetty.server.Handler">\r
-                                       <Item>\r
-                                               <New id="Contexts"\r
-                                                       class="org.eclipse.jetty.server.handler.ContextHandlerCollection" />\r
-                                       </Item>\r
-                                       <Item>\r
-                                               <New id="DefaultHandler"\r
-                                                       class="org.eclipse.jetty.server.handler.DefaultHandler" />\r
-                                       </Item>\r
-                               </Array>\r
-                       </Set>\r
-               </New>\r
-       </Set>\r
-</Configure>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/settings/log4j2.xml b/server/-product/production/OMAR/settings/log4j2.xml
deleted file mode 100644 (file)
index 5f51452..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!DOCTYPE xml>\r
-\r
-<Configuration status="ERROR" monitorInterval="10" packages="user.commons.log4j2.appender">\r
-       <Properties>\r
-               <Property name="logPath">log</Property>\r
-               <Property name="fileName">${logPath}/mediacube.log</Property>\r
-               <Property name="movTestName">${logPath}/movtest.log</Property>\r
-               <Property name="movTestPattern">${logPath}/$${date:yyyy-MM}/movtest-%d{MM-dd-yyyy}-%i.log.gz</Property>\r
-               <Property name="delete-materials.log">${logPath}/delete-materials.log</Property>\r
-               <Property name="delete-materials.pattern">${logPath}/$${date:yyyy-MM}/delete-materials-%d{MM-dd-yyyy}-%i.log.gz</Property>\r
-               <Property name="filePattern">${logPath}/$${date:yyyy-MM}/mediacube-%d{MM-dd-yyyy}-%i.log.gz</Property>\r
-               <Property name="markeredFileName">${logPath}/markered-mediacube.log</Property>\r
-               <Property name="markeredFilePattern">${logPath}/$${date:yyyy-MM}/markered-mediacube-%d{MM-dd-yyyy}-%i.log.gz</Property>\r
-               <Property name="fileName.err">${logPath}/mediacube-err.log</Property>\r
-               <Property name="filePattern.err">${logPath}/$${date:yyyy-MM}/mediacube-err-%d{MM-dd-yyyy}-%i.log.gz</Property>\r
-       </Properties>\r
-       <Appenders>\r
-               <Console name="Console" target="SYSTEM_OUT">\r
-                       <Filters>\r
-                               <MarkerFilter marker="MEDIACUBE" onMatch="DENY" onMismatch="NEUTRAL" />\r
-                       </Filters>\r
-                       <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %logger{1}.%M - %msg (%F:%L) %n" />\r
-               </Console>\r
-               <Console name="MarkeredConsole" target="SYSTEM_ERR">\r
-                       <Filters>\r
-                               <MarkerFilter marker="MEDIACUBE" onMatch="ACCEPT" onMismatch="DENY" />\r
-                       </Filters>\r
-                       <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %logger{1}.%M - %markerSimpleName - %msg (%F:%L)%n" />\r
-               </Console>\r
-               <HTMLMailAppender name="MarkeredMail" subject="[Media Vivantis] MediaCube rendszerüzenet" to="zombori.mark@mediavivantis.hu,varga-nagy.lajos@mediavivantis.hu,vasary@elgekko.net" from="mediacubeserver@mediavivantis.hu" smtpHost="mediavivantis-hu.mail.protection.outlook.com"\r
-                       smtpPort="25" smtpProtocol="smtp" ignoreExceptions="false" bufferSize="1">\r
-                       <Filters>\r
-                               <MarkerFilter marker="MEDIACUBE" onMatch="ACCEPT" onMismatch="DENY" />\r
-                       </Filters>\r
-                       <PatternLayout pattern="%d{HH:mm:ss} %-5level - %msg %n%n A küldő a %F forráskód %L. sorából a %logger{1}.%M függvény volt. %n" />\r
-               </HTMLMailAppender>\r
-               <RollingFile name="movTestName" fileName="${movTestName}" filePattern="${movTestPattern}">\r
-                       <Filters>\r
-                               <MarkerFilter marker="MOVTEST" onMatch="ACCEPT" onMismatch="DENY" />\r
-                       </Filters>\r
-                       <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %logger{1}.%M - %markerSimpleName - %msg (%F:%L)%n %throwable" />\r
-                       <Policies>\r
-                               <TimeBasedTriggeringPolicy />\r
-                       </Policies>\r
-               </RollingFile>\r
-               <RollingFile name="delete-materials" fileName="${delete-materials.log}" filePattern="${delete-materials.pattern}">\r
-                       <Filters>\r
-                               <MarkerFilter marker="delete-materials.xml" onMatch="ACCEPT" onMismatch="DENY" />\r
-                       </Filters>\r
-                       <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %logger{1}.%M - %markerSimpleName - %msg (%F:%L)%n %throwable" />\r
-                       <Policies>\r
-                               <TimeBasedTriggeringPolicy />\r
-                       </Policies>\r
-               </RollingFile>\r
-               <RollingFile name="MarkeredRollingFile" fileName="${markeredFileName}" filePattern="${markeredFilePattern}">\r
-                       <Filters>\r
-                               <MarkerFilter marker="MEDIACUBE" onMatch="ACCEPT" onMismatch="DENY" />\r
-                       </Filters>\r
-                       <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %logger{1}.%M - %markerSimpleName - %msg (%F:%L)%n %throwable" />\r
-                       <Policies>\r
-                               <TimeBasedTriggeringPolicy />\r
-                       </Policies>\r
-               </RollingFile>\r
-               <RollingFile name="RollingFile" fileName="${fileName}" filePattern="${filePattern}">\r
-                       <Filters>\r
-                               <MarkerFilter marker="MEDIACUBE" onMatch="DENY" onMismatch="NEUTRAL" />\r
-                       </Filters>\r
-                       <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %level %logger{1}.%M %msg (%F:%L)%n %throwable" />\r
-                       <Policies>\r
-                               <TimeBasedTriggeringPolicy />\r
-                       </Policies>\r
-               </RollingFile>\r
-               <RollingFile name="RollingFileExceptions" fileName="${fileName.err}" filePattern="${filePattern.err}">\r
-                       <PatternLayout pattern="%d{HH:mm:ss.SSS} %logger{1}.%M %msg (%F:%L)%n %throwable" />\r
-                       <Filters>\r
-                               <ThresholdFilter level="ERROR" onMatch="ACCEPT" onMismatch="DENY" />\r
-                       </Filters>\r
-                       <Policies>\r
-                               <TimeBasedTriggeringPolicy />\r
-                       </Policies>\r
-               </RollingFile>\r
-       </Appenders>\r
-       <Loggers>\r
-               <Root level="INFO">\r
-                       <AppenderRef ref="Console" />\r
-                       <AppenderRef ref="MarkeredConsole" />\r
-                       <AppenderRef ref="RollingFile" />\r
-                       <AppenderRef ref="RollingFileExceptions" />\r
-                       <AppenderRef ref="MarkeredRollingFile" />\r
-<!--                   <AppenderRef ref="MarkeredMail" />-->\r
-                       <AppenderRef ref="movTestName" />\r
-                       <AppenderRef ref="delete-materials" />\r
-               </Root>\r
-               <Logger name="org.zkoss" level="ERROR" additivity="false" />\r
-               <Logger name="org.quartz" level="ERROR" additivity="false" />\r
-               <Logger name="org.eclipse.jetty.osgi.boot" level="ERROR" additivity="false" />\r
-\r
-<!--           <logger name="org.jboss.resteasy.core" level="debug" /> -->\r
-<!--           <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="debug" /> -->\r
-       </Loggers>\r
-</Configuration>
\ No newline at end of file
diff --git a/server/-product/production/OMAR/settings/maestro.yaml b/server/-product/production/OMAR/settings/maestro.yaml
deleted file mode 100644 (file)
index b8091a2..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-sourceStoreUri:\r
-  name: Default\r
-  protocol: LOCAL\r
-  uri: "/mnt/NLE"\r
-  fileFilter: "*.mxf"\r
-  showDirectories: true\r
-alternateSourceStoreUris:\r
-- name: NLE1\r
-  protocol: LOCAL\r
-  uri: "/mnt/NLE/NLE1"\r
-  fileFilter: "*.mxf"\r
-  showDirectories: true\r
-- name: NLE2\r
-  protocol: LOCAL\r
-  uri: "/mnt/NLE/NLE2"\r
-  fileFilter: "*.mxf"\r
-  showDirectories: true\r
-- name: NLE3\r
-  protocol: LOCAL\r
-  uri: "/mnt/NLE/NLE3"\r
-  fileFilter: "*.mxf"\r
-  showDirectories: true\r
-- name: NLE4\r
-  protocol: LOCAL\r
-  uri: "/mnt/NLE/NLE4"\r
-  fileFilter: "*.mxf"\r
-  showDirectories: true\r
-- name: POLC\r
-  protocol: LOCAL\r
-  uri: "/mnt/POLC"\r
-  fileFilter: "*.mxf"\r
-  showDirectories: true\r
-targets:\r
-- name: FINISHED_SHOWS\r
-  killDateDays: 7\r
-  storeUri:\r
-    protocol: LOCAL\r
-    uri: "/mnt/PROMISE/FINISHED_SHOWS"\r
diff --git a/server/-product/production/OMAR/settings/mediacube.yaml b/server/-product/production/OMAR/settings/mediacube.yaml
deleted file mode 100644 (file)
index 347ca89..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-jobQueuePollInterval: 1000\r
-disableHelp: true\r
-maestroDisabled: false\r
-alternateRetrieveSelector: false\r
-disableStatistics: true\r
-disableEditor: false\r
-topTypeFilters:\r
-- name: Hír bejátszó\r
-- name: Hír nyers\r
-- name: Visszarögzített\r
-- name: Egyéb\r
-bottomTypeFilters:\r
-- name: Műsor\r
-- name: Műsor nyers\r
-- name: Promo\r
-- name: Promo nyers\r
-- name: Reklám\r
-- name: Reklám nyers\r
-authentication:\r
-  authEnabled: true\r
-  defaultUser: root\r
-  defaultPassword: password\r
-  adHost: intra.mediavivantis.hu\r
-  adNonSecurePort: 3268\r
-  adBaseDn: DC=intra,DC=mediavivantis,DC=hu\r
-  adAdminMap:\r
-  - G_MV_U_MUSZAK\r
-  - G_MV_U_INGEST\r
-  adSubmitterMap:\r
-  - G_ECH_U_INFORMATIKUSOK\r
-  - G_ECH_U_MUSZAKVEZETOK\r
-  - ECH-ISILON-ADMINS\r
-  adEditorMap:\r
-  - G_ECH_U_INFORMATIKUSOK\r
-  - G_ECH_U_MUSZAKVEZETOK\r
-  - ECH-ISILON-ADMINS\r
-  localAccounts:\r
-  - user: user\r
-    password: 5F4DCC3B5AA765D61D8327DEB882CF99\r
-    email:\r
-  - user: lebony\r
-    password: 4E25B117B14D86D7DCECB4E433CF932C\r
-    email:\r
-  - user: root\r
-    password: 5F4DCC3B5AA765D61D8327DEB882CF99\r
-    email: vasary@elgekko.net\r
-  localAdmins:\r
-  - root\r
-  - admin\r
-  localSubmitters:\r
-  - lebony\r
-  localEditors:\r
-  - editor\r
index 9b0d260f5dff7d8dcd47bc45474859a83f76c27c..fd2d99407b210aefe75edc0da273f0a4f3b6dad8 100644 (file)
@@ -3,3 +3,4 @@ encoding//src/hu/user/mediacube/executors/tests/SupportAttachLowres.java=UTF-8
 encoding//src/hu/user/mediacube/executors/tests/SupportCheckDelete.java=UTF-8\r
 encoding//src/hu/user/mediacube/executors/tests/SupportCheckItem.java=UTF-8\r
 encoding//src/hu/user/mediacube/executors/tests/SupportCreateItems.java=UTF-8\r
+encoding//src/hu/user/mediacube/executors/tests/SupportSyncMCToTSM.java=UTF-8\r
index 9e5bb23df9d0b7463dd5d2c17848f551d81f5d0a..19bb773f29ac58884edfa808cd7e6b526d661803 100644 (file)
@@ -1071,19 +1071,37 @@ public class SmallTests {
        // htv errors\r
        @Test\r
        public void test9999() throws Exception {\r
-               Set<String> tsm = new LinkedHashSet<>(Files.readAllLines(Paths.get("/opt/HTV/htv-tsm.txt")));\r
+               List<String> lines = Files.readAllLines(Paths.get("/opt/HTV/htv-tsm.txt"));\r
+\r
+               Set<String> tsm = new LinkedHashSet<>();\r
+               lines.forEach(x -> {\r
+                       if (tsm.contains(x)) {\r
+                               System.out.println("Already added " + x);\r
+                       } else {\r
+                               tsm.add(x);\r
+                       }\r
+\r
+               });\r
+\r
+               System.out.println("TSM lines " + tsm.size());\r
                Set<String> mc = new LinkedHashSet<>(Files.readAllLines(Paths.get("/opt/HTV/htv-mc.txt")));\r
+               Map<String, String> mcMap = new HashMap<>();\r
+               mc.forEach(x -> {\r
+                       String[] tokens = x.split("\t");\r
+                       mcMap.put(tokens[0].replace("\"", ""), tokens[1].replace("'", ""));\r
+               });\r
 \r
                int errorCount = 0;\r
                int current = 0;\r
 \r
-               for (String mcfile : mc) {\r
+               Set<String> mcIds = mcMap.keySet();\r
+               for (String mcfile : mcIds) {\r
                        current++;\r
                        boolean tsmContains = tsm.contains(mcfile);\r
                        if (!tsmContains) {\r
                                errorCount++;\r
-                               int p = current * 100 / mc.size();\r
-                               System.out.println("Missing " + mcfile + " %" + p);\r
+                               int p = current * 100 / mcIds.size();\r
+                               System.out.println(mcfile + "\t" + mcMap.get(mcfile));\r
                        }\r
                }\r
                System.out.println("All missing: " + errorCount);\r
index 472ac53a5c18d24803f9aa773f48c6ffabd8c141..30ef735853e18d53b2aad9c598ced094606fa3b1 100644 (file)
@@ -50,8 +50,7 @@ public class TSMLister implements IDirectoryLister {
                client = new TSMBufferedClient(NODENAME);\r
                // client.connect(storeUri.getUserName(), storeUri.getPassword(), "\\");\r
                client.connect(storeUri.getUserName(), storeUri.getPassword());\r
-               logger.info("TSMBufferedClient connected, parameters: {} {}/{} {}, separator: {}", NODENAME, FSNAME,\r
-                               ALTERNATE_FSNAME, HLNAME, File.separator);\r
+               logger.info("TSMBufferedClient connected, parameters: {} {}/{} {}, separator: {}", NODENAME, FSNAME, ALTERNATE_FSNAME, HLNAME, File.separator);\r
        }\r
 \r
        @Override\r
@@ -66,6 +65,11 @@ public class TSMLister implements IDirectoryLister {
 \r
        @Override\r
        public boolean exists(String fileName) throws Exception {\r
+               /*\r
+                * TSMBackupFileObject backupFileObject =\r
+                * tsmClient.getActiveBackupFileObject(tsmProperties.getFsName(),\r
+                * tsmProperties.getHlName(), tsmProperties.getDelimiter() + id);\r
+                */\r
                return false;\r
        }\r
 \r
@@ -76,8 +80,7 @@ public class TSMLister implements IDirectoryLister {
                connect();\r
                String currentFileName = fileName;\r
                logger.info("Getting {}, {}, {}", FSNAME, HLNAME, DELIMITER + currentFileName);\r
-               TSMBackupFileObject backupFileObject = client.getActiveBackupFileObject(FSNAME, HLNAME,\r
-                               DELIMITER + currentFileName);\r
+               TSMBackupFileObject backupFileObject = client.getActiveBackupFileObject(FSNAME, HLNAME, DELIMITER + currentFileName);\r
 \r
                // probaljuk meg a masik tarbol\r
                if (backupFileObject == null) {\r
index 1c44347bf6e5aefc0da3a4e7421550ea30626490..6298b58a0089da7a04d87d5e82421c3ce50e8f3e 100644 (file)
@@ -101,8 +101,7 @@ public class JobEngineConfiguration implements IJobEngineConfiguration {
        public IJobStep createJobStep(String stepUnitName) throws Exception {\r
                IJobStep result = null;\r
 \r
-               boolean isGroovyClass = stepUnitName.toLowerCase().endsWith(".java")\r
-                               || stepUnitName.toLowerCase().endsWith(".groovy");\r
+               boolean isGroovyClass = stepUnitName.toLowerCase().endsWith(".java") || stepUnitName.toLowerCase().endsWith(".groovy");\r
                logger.info("Looking for {} step ClassLoader requirement", stepUnitName);\r
 \r
                if (resetStepClassLoader) {\r
@@ -135,8 +134,7 @@ public class JobEngineConfiguration implements IJobEngineConfiguration {
 \r
                if (isGroovyClass) {\r
                        if (dynamicStepsLoader != null)\r
-                               stepClass = (Class<IJobStep>) dynamicStepsLoader.loadClassFromSourceCode(groovyClassLoader,\r
-                                               stepUnitName);\r
+                               stepClass = (Class<IJobStep>) dynamicStepsLoader.loadClassFromSourceCode(groovyClassLoader, stepUnitName);\r
                } else\r
                        stepClass = (Class<IJobStep>) stepsClassLoader.loadClass(stepUnitName);\r
 \r
@@ -242,7 +240,7 @@ public class JobEngineConfiguration implements IJobEngineConfiguration {
        /**\r
         * Visszadja az ütemezett feladatokat tartalmazó collection-t (a\r
         * scheduledjobs.json fájl tartalmát)\r
-        * \r
+        *\r
         */\r
        @Override\r
        public ArrayList<Entry<String, BasicDBObject>> getSchedules() {\r
@@ -322,8 +320,7 @@ public class JobEngineConfiguration implements IJobEngineConfiguration {
                                                int newMaxConcurrent = executor.getMaxConcurrent();\r
                                                if (currentMaxConcurrent != newMaxConcurrent) {\r
                                                        stepExecutor.setMaxConcurrent(newMaxConcurrent);\r
-                                                       logger.info("Executor maxConcurrent changed from {} to {}", currentMaxConcurrent,\r
-                                                                       newMaxConcurrent);\r
+                                                       logger.info("Executor maxConcurrent changed from {} to {}", currentMaxConcurrent, newMaxConcurrent);\r
                                                }\r
                                        }\r
 \r
@@ -360,8 +357,8 @@ public class JobEngineConfiguration implements IJobEngineConfiguration {
                BasicDBList scheduledJobs = NoSQLUtils.asDBList(dbo, "joblist");\r
 \r
                scheduledJobs.forEach(o -> {\r
+                       BasicDBObject j = (BasicDBObject) o;\r
                        try {\r
-                               BasicDBObject j = (BasicDBObject) o;\r
                                String template = j.getString("template");\r
                                String xml = loadTemplateXml(template);\r
                                j.put("xml", xml);\r
@@ -379,7 +376,7 @@ public class JobEngineConfiguration implements IJobEngineConfiguration {
 \r
                                schedules.add(new SimpleEntry<String, BasicDBObject>(template, j));\r
                        } catch (Exception e) {\r
-                               logger.error("Scheduled job error! {}", e.getMessage());\r
+                               logger.error("Scheduled job error! {}. Details: {}", e.getMessage(), j.toPrettyString(""));\r
                        }\r
                });\r
        }\r
@@ -547,8 +544,7 @@ public class JobEngineConfiguration implements IJobEngineConfiguration {
                        if (!Files.isDirectory(templatesPath))\r
                                throw new FileNotFoundException(templatesPath + " is not a directory!");\r
                        if (templateToSave.getFileName() != null) {\r
-                               filePath = templatesPath.toString() + FileSystems.getDefault().getSeparator()\r
-                                               + templateToSave.getFileName();\r
+                               filePath = templatesPath.toString() + FileSystems.getDefault().getSeparator() + templateToSave.getFileName();\r
                                setFileAsWritable(Paths.get(filePath));\r
                                FileOutputStream fos = new FileOutputStream(filePath);\r
                                logger.info("Saving job template to {}", filePath);\r
@@ -595,15 +591,13 @@ public class JobEngineConfiguration implements IJobEngineConfiguration {
                InputStream is = null;\r
                try {\r
                        templatesPath = Paths.get(systemConfig.getConfig(DIR_TEMPLATES));\r
-                       duplicateFileName = FilenameUtils.getName(selectedJob.getString("template")).replace(".xml", "")\r
-                                       .concat("-copy.xml");\r
+                       duplicateFileName = FilenameUtils.getName(selectedJob.getString("template")).replace(".xml", "").concat("-copy.xml");\r
                        filePath = templatesPath.toString() + FileSystems.getDefault().getSeparator() + duplicateFileName;\r
                        while (Files.exists(Paths.get(filePath))) {\r
                                duplicateFileName = FilenameUtils.getName(duplicateFileName).replace(".xml", "").concat("-copy.xml");\r
                                filePath = templatesPath.toString() + FileSystems.getDefault().getSeparator() + duplicateFileName;\r
                        }\r
-                       is = new FileInputStream(templatesPath.toString() + FileSystems.getDefault().getSeparator()\r
-                                       + selectedJob.getString("template"));\r
+                       is = new FileInputStream(templatesPath.toString() + FileSystems.getDefault().getSeparator() + selectedJob.getString("template"));\r
                        Files.copy(is, Paths.get(filePath));\r
                } catch (FileNotFoundException e) {\r
                        logger.error("File not found: {}", filePath);\r
@@ -638,6 +632,7 @@ public class JobEngineConfiguration implements IJobEngineConfiguration {
                resetStepClassLoader = true;\r
        }\r
 \r
+       @Override\r
        public ArrayList<String> getSteps() {\r
                return steps;\r
        }\r
index 97d559b94e54d51bb5f9ff1372b522f5473a4c7d..4dfe4b528152da65ac76285ab809c2daa8e7e61b 100644 (file)
@@ -6,7 +6,7 @@
                <tabs visible="true">\r
                        <tab id="tab0" label="Futó folyamatok" selected="true" />\r
                        <tab id="tab1" label="Folyamat szerkesztő" />\r
-                       <tab id="tab2" label="Folyamat szerkesztő2" />\r
+<!--                   <tab id="tab2" label="Folyamat szerkesztő2" /> -->\r
                </tabs>\r
                <tabpanels>\r
                        <tabpanel>\r
index 0b955abfa5c39b53592829109f02bae3d8baebb0..a24895aac387195fd25a30c37156005f923b889a 100644 (file)
@@ -8,7 +8,7 @@
                <menubar id="menubar" hflex="max" sclass="redmenubar">\r
                        <menuitem sclass="whitemenu" label="Keresés" onClick="@command('navigate', action='/')" disabled="false" />\r
                        <menuitem sclass="whitemenu" label="Folyamatok" onClick="@command('navigate', action='jobs')" \r
-                               disabled="${not sessionScope.userPrincipal.submitter or sessionScope.userPrincipal.anonymous}" />\r
+                               disabled="${(not sessionScope.userPrincipal.pooler and not sessionScope.userPrincipal.submitter) or sessionScope.userPrincipal.anonymous}" />\r
                        <menuitem sclass="whitemenu" label="Maestro" onClick="@command('navigate', action='maestro')" visible="${lm.maestroAvailable}" />\r
                        <menu sclass="whitemenu" label="Statisztikák" visible="${not sessionScope.guiStatisticsDisable}">\r
                                <menupopup>\r
index 708ddd80863ce0f23c9bdebedfabce9c8bd5c110..cfe25737f63654f962a297d4eb1ffcef4192b727 100644 (file)
@@ -1,4 +1,4 @@
-version=2.8.0\r
+version=2.8.1\r
 #!!!2.8.0 Keresofelulet modositas (hardkodolt)\r
 #2.7.9 Keresofelulet modositas (hardkodolt)\r
 #2.7.8 Classloader mechanizmus atalakitasa, metadata editor history\r
index aaff0397281181659882369e47b3321ce87a1242..541a67de95531c204c1bb4a9f95648e9b19e2808 100644 (file)
@@ -20,6 +20,7 @@ import org.zkoss.zul.ListModelList;
 import org.zkoss.zul.Messagebox;\r
 import org.zkoss.zul.Window;\r
 \r
+import user.commons.ListUtils;\r
 import user.jobengine.db.ArchivedMedia;\r
 import user.jobengine.db.ItemManager;\r
 import user.jobengine.db.Store;\r
@@ -75,7 +76,8 @@ public class AlternateRetrieveBatchSelectorModel extends BaseModel {
                        if (scheduledJob == null)\r
                                throw new Exception("A sablon nem található: " + JOBTEMPLATE);\r
 \r
-                       //String escortStoreName, String targetStoreName, List<ArchivedMedia> basket, String recipient\r
+                       // String escortStoreName, String targetStoreName, List<ArchivedMedia> basket,\r
+                       // String recipient\r
                        Map<String, Object> parameters = scheduledJob.getJobParameters();\r
                        parameters.put(TARGETSTORENAME, stores.getSelection().iterator().next().getName());\r
                        parameters.put(RECIPIENT, email);\r
@@ -119,13 +121,25 @@ public class AlternateRetrieveBatchSelectorModel extends BaseModel {
                List<Store> targetStores = ItemManager.getInstance().getTargetStores();\r
                if (targetStores != null) {\r
 \r
-                       List<String> filters = SessionUtil.getMediaCubeConfig().getTargetRestoreFilters();\r
+                       List<StoreFilter> filters = SessionUtil.getMediaCubeConfig().getTargetRestoreFilters();\r
                        if (filters == null || filters.size() == 0) {\r
                                stores.addAll(targetStores);\r
                        } else {\r
                                for (Store store : targetStores) {\r
-                                       if (filters.contains(store.getName()))\r
-                                               stores.add(store);\r
+                                       filters.forEach(filter -> {\r
+                                               if (!store.getName().equals(filter.getName())) {\r
+                                                       return;\r
+                                               }\r
+                                               List<String> allowedGroups = filter.getAllowedGroups();\r
+                                               if (ListUtils.isEmpty(allowedGroups)) {\r
+                                                       stores.add(store);\r
+                                               } else {\r
+                                                       if (allowedGroups.contains(SessionUtil.getUserPrincipal().getGroupName())) {\r
+                                                               stores.add(store);\r
+                                                       }\r
+                                               }\r
+\r
+                                       });\r
                                }\r
                        }\r
 \r
index 204ecce5daf57a67c61cc7c5c703841b150040aa..732344bab7fa91438d51a562ae1450357432cd84 100644 (file)
@@ -14,6 +14,7 @@ public class MediaCubeAuthentication {
        private List<String> adEditorMap;\r
        private List<MediaCubeAccount> localAccounts;\r
        private List<String> localAdmins;\r
+       private List<String> localPoolers;\r
        private List<String> localSubmitters;\r
        private List<String> localEditors;\r
 \r
@@ -121,4 +122,12 @@ public class MediaCubeAuthentication {
                this.localSubmitters = localSubmitters;\r
        }\r
 \r
+       public List<String> getLocalPoolers() {\r
+               return localPoolers;\r
+       }\r
+\r
+       public void setLocalPoolers(List<String> localPoolers) {\r
+               this.localPoolers = localPoolers;\r
+       }\r
+\r
 }\r
index 5844fbfbb70db0ca2e571c963c327d2f9b4a6795..c89c4dcd4be82d3025a20f43acdd02194ee9a99f 100644 (file)
@@ -3,11 +3,12 @@ package user.jobengine.zk.model;
 import java.util.List;\r
 \r
 public class MediaCubeConfig {\r
+\r
        private int jobQueuePollInterval = 10;\r
        private MediaCubeAuthentication authentication;\r
        private List<TypeFilter> topTypeFilters;\r
        private List<TypeFilter> bottomTypeFilters;\r
-       private List<String> targetRestoreFilters;\r
+       private List<StoreFilter> targetRestoreFilters;\r
        private boolean maestroDisabled;\r
        private boolean alternateRetrieveSelector;\r
        private boolean disableStatistics;\r
@@ -26,7 +27,7 @@ public class MediaCubeConfig {
                return jobQueuePollInterval;\r
        }\r
 \r
-       public List<String> getTargetRestoreFilters() {\r
+       public List<StoreFilter> getTargetRestoreFilters() {\r
                return targetRestoreFilters;\r
        }\r
 \r
@@ -86,7 +87,7 @@ public class MediaCubeConfig {
                this.maestroDisabled = maestroDisabled;\r
        }\r
 \r
-       public void setTargetRestoreFilters(List<String> targetRestoreFilters) {\r
+       public void setTargetRestoreFilters(List<StoreFilter> targetRestoreFilters) {\r
                this.targetRestoreFilters = targetRestoreFilters;\r
        }\r
 \r
index f97844bed9defada68ac5d158365baa82e88e886..edba7f4908ac6d7860a83d0b8f4d670c364c3b37 100644 (file)
@@ -12,7 +12,7 @@ public class AdminAuthInitiator implements Initiator {
                if (!SessionUtil.isAuthenticated())\r
                        SessionUtil.redirect("/pages/login.zul");\r
 \r
-               if (!(SessionUtil.isAdmin() || SessionUtil.isSubmitter()))\r
+               if (!(SessionUtil.isAdmin() || SessionUtil.isSubmitter() || SessionUtil.isPooler()))\r
                        SessionUtil.redirect("/pages/access-denied.zul");\r
        }\r
 \r
index 47bac7f2829ea3c8d84aebe57a16cb3242dab860..623a4ddb09692b28286beec97d37242fd96c1dcc 100644 (file)
@@ -48,11 +48,18 @@ public class LocalUserHandler {
                        boolean isAdmin = isMemberOf(account, mediaCubeAuthentication.getLocalAdmins());\r
                        boolean isSubmitter = isMemberOf(account, mediaCubeAuthentication.getLocalSubmitters());\r
                        boolean isEditor = isMemberOf(account, mediaCubeAuthentication.getLocalEditors());\r
+                       boolean isPooler = isMemberOf(account, mediaCubeAuthentication.getLocalPoolers());\r
+\r
                        result.setAdmin(isAdmin);\r
                        if (isAdmin || isSubmitter)\r
                                result.setSubmitter(true);\r
+\r
                        if (isAdmin || isEditor)\r
                                result.setEditor(true);\r
+\r
+                       if (isAdmin || isPooler)\r
+                               result.setPooler(true);\r
+\r
                }\r
                return result;\r
        }\r
index b0828a0c4a9ba528512959383a7406b095f5a8ea..644abe28b54f2733c211a8ce3abfcfd2f66f8d50 100644 (file)
@@ -36,7 +36,7 @@ import user.jobengine.zk.model.IndexModel;
 import user.jobengine.zk.model.MaestroConfig;\r
 import user.jobengine.zk.model.MediaCubeConfig;\r
 \r
-public class SessionUtil implements GlobalConstants{\r
+public class SessionUtil implements GlobalConstants {\r
        private static Logger logger = LogManager.getLogger();\r
        private static final String MEDIACUBE_CONFIG = "mediaCubeConfig";\r
        private static final String MAESTRO_CONFIG = "maestroConfig";\r
@@ -55,16 +55,17 @@ public class SessionUtil implements GlobalConstants{
        public static final String GUI_STAT_DISABLE = "gui.statistics.disable";\r
        public static final String GUI_HELP_DISABLE = "gui.help.disable";\r
        public static final String GUI_EDITOR_DISABLE = "gui.editor.disable";\r
-       \r
-       //      private static MediaCubeConfig mediaCubeConfig;\r
+\r
+       // private static MediaCubeConfig mediaCubeConfig;\r
        //\r
-       //      static {\r
-       //              try {\r
-       //                      mediaCubeConfig = JSONConfig.read(JOBENGINE_MEDIACUBE_CONFIG, MediaCubeConfig.class);\r
-       //              } catch (Exception e) {\r
-       //                      logger.error("Critical error", e);\r
-       //              }\r
-       //      }\r
+       // static {\r
+       // try {\r
+       // mediaCubeConfig = JSONConfig.read(JOBENGINE_MEDIACUBE_CONFIG,\r
+       // MediaCubeConfig.class);\r
+       // } catch (Exception e) {\r
+       // logger.error("Critical error", e);\r
+       // }\r
+       // }\r
 \r
        public static boolean authenticate(String account, String password) {\r
                MediaCubeConfig mediaCubeConfig = getMediaCubeConfig();\r
@@ -107,11 +108,12 @@ public class SessionUtil implements GlobalConstants{
        }\r
 \r
        static public void cleanup() {\r
-               //              IJobChangedListener listener = (IJobChangedListener) getAttribute(SessionUtil.JOBLISTENER);\r
-               //              if (listener != null) {\r
-               //                      JobEngine.getInstance().removeJobChangedEventListener(listener);\r
-               //                      setAttribute(SessionUtil.JOBLISTENER, null);\r
-               //              }\r
+               // IJobChangedListener listener = (IJobChangedListener)\r
+               // getAttribute(SessionUtil.JOBLISTENER);\r
+               // if (listener != null) {\r
+               // JobEngine.getInstance().removeJobChangedEventListener(listener);\r
+               // setAttribute(SessionUtil.JOBLISTENER, null);\r
+               // }\r
 \r
                // setAttribute(SessionUtil.MENUMODEL, null);\r
                // setAttribute(SessionUtil.USERPRINCIPAL, null);\r
@@ -159,7 +161,7 @@ public class SessionUtil implements GlobalConstants{
                                IConfiguration systemConfig = ComponentBinder.getSystemConfig();\r
                                String configFilePath = systemConfig.getConfig(JobEngineConfiguration.CONF_MAESTRO);\r
                                result = systemConfig.load(configFilePath, MaestroConfig.class);\r
-                               //result = JSONConfig.read(configFilePath, MaestroConfig.class);\r
+                               // result = JSONConfig.read(configFilePath, MaestroConfig.class);\r
                                setAttribute(MAESTRO_CONFIG, result);\r
                        }\r
                } catch (Exception e) {\r
@@ -176,7 +178,7 @@ public class SessionUtil implements GlobalConstants{
                                IConfiguration systemConfig = ComponentBinder.getSystemConfig();\r
                                String configFilePath = ComponentBinder.getSystemConfig().getConfig(JobEngineConfiguration.CONF_MEDIACUBE);\r
                                result = systemConfig.load(configFilePath, MediaCubeConfig.class);\r
-                               //result = JSONConfig.read(configFilePath, MediaCubeConfig.class);\r
+                               // result = JSONConfig.read(configFilePath, MediaCubeConfig.class);\r
                                setAttribute(MEDIACUBE_CONFIG, result);\r
                        }\r
                } catch (Exception e) {\r
@@ -291,6 +293,11 @@ public class SessionUtil implements GlobalConstants{
                return userPrincipal != null && userPrincipal.isSubmitter();\r
        }\r
 \r
+       static public boolean isPooler() {\r
+               UserPrincipal userPrincipal = getUserPrincipal();\r
+               return userPrincipal != null && userPrincipal.isPooler();\r
+       }\r
+\r
        public static void logout() {\r
                setAttribute(USER_PRINCIPAL, null);\r
                setAttribute(HISTORY, null);\r
@@ -381,9 +388,9 @@ public class SessionUtil implements GlobalConstants{
        }\r
 \r
        static public void registerJobChangedListener(IJobChangedListener listener) {\r
-               //              cleanup();\r
-               //              JobEngine.getInstance().addJobChangedEventListener(listener);\r
-               //              setAttribute(JOBLISTENER, listener);\r
+               // cleanup();\r
+               // JobEngine.getInstance().addJobChangedEventListener(listener);\r
+               // setAttribute(JOBLISTENER, listener);\r
 \r
                IJobEngine jobEngine = ComponentBinder.getJobEngine();\r
                if (jobEngine != null)\r
@@ -403,13 +410,13 @@ public class SessionUtil implements GlobalConstants{
                if (session != null)\r
                        session.setAttribute(name, obj);\r
        }\r
-       \r
+\r
        public static void publish(Event event) {\r
                EventQueues.lookup(EVENTQUEUE_NAME, EventQueues.SESSION, true).publish(event);\r
        }\r
 \r
        public static void subscribe(EventListener<Event> eventListener) {\r
-               EventQueues.lookup(EVENTQUEUE_NAME, EventQueues.SESSION, true).subscribe(eventListener);                \r
+               EventQueues.lookup(EVENTQUEUE_NAME, EventQueues.SESSION, true).subscribe(eventListener);\r
        }\r
 \r
        public static void unsubscribe(EventListener<Event> eventListener) {\r
index 9b489e8539c480b1ebfaa72daf2d487d8a2cf9a3..4b28e14bc8df2c16a1ce186d6587c341795eeabb 100644 (file)
@@ -14,20 +14,23 @@ public class UserPrincipal implements java.io.Serializable {
        private boolean anonymous;\r
        private boolean submitter;\r
        private boolean editor;\r
+       private boolean pooler;\r
        private String account;\r
        private String displayName;\r
        private String email;\r
+       private String groupName;\r
 \r
        public UserPrincipal(String account) {\r
-               this(account, false, false, false);\r
+               this(account, false, false, false, false);\r
        }\r
 \r
-       public UserPrincipal(String account, boolean isAdmin, boolean isSubmitter, boolean isAnonymous) {\r
+       public UserPrincipal(String account, boolean isAdmin, boolean isSubmitter, boolean isAnonymous, boolean isPooler) {\r
                this.account = account;\r
                this.displayName = account;\r
-               this.admin = isAdmin;\r
-               this.submitter = isSubmitter;\r
-               this.anonymous = isAnonymous;\r
+               this.setAdmin(isAdmin);\r
+               this.setSubmitter(isSubmitter);\r
+               this.setAnonymous(isAnonymous);\r
+               this.setPooler(isPooler);\r
        }\r
 \r
        public String getAccount() {\r
@@ -54,16 +57,22 @@ public class UserPrincipal implements java.io.Serializable {
                return editor;\r
        }\r
 \r
+       public boolean isPooler() {\r
+               return pooler;\r
+       }\r
+\r
        public boolean isSubmitter() {\r
                return submitter;\r
        }\r
 \r
        public void setAdmin(boolean admin) {\r
                this.admin = admin;\r
+               this.groupName = "Admin";\r
        }\r
 \r
        public void setAnonymous(boolean anonymous) {\r
                this.anonymous = anonymous;\r
+               this.groupName = "Anonymous";\r
        }\r
 \r
        public void setDisplayName(String displayName) {\r
@@ -72,6 +81,7 @@ public class UserPrincipal implements java.io.Serializable {
 \r
        public void setEditor(boolean editor) {\r
                this.editor = editor;\r
+               this.groupName = "Editor";\r
        }\r
 \r
        public void setEmail(String email) {\r
@@ -80,6 +90,7 @@ public class UserPrincipal implements java.io.Serializable {
 \r
        public void setSubmitter(boolean submitter) {\r
                this.submitter = submitter;\r
+               this.groupName = "Submitter";\r
        }\r
 \r
        @Override\r
@@ -92,4 +103,13 @@ public class UserPrincipal implements java.io.Serializable {
                }\r
                return String.format("Display name: %s, email: %s, membership: %s", String.valueOf(displayName), String.valueOf(email), membership.toString());\r
        }\r
+\r
+       public void setPooler(boolean pooler) {\r
+               this.pooler = pooler;\r
+               this.groupName = "Pooler";\r
+       }\r
+\r
+       public String getGroupName() {\r
+               return groupName;\r
+       }\r
 }\r