git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorvasary.daniel <TFS\vasary.daniel>
Mon, 9 Aug 2021 09:20:11 +0000 (09:20 +0000)
committervasary.daniel <TFS\vasary.daniel>
Mon, 9 Aug 2021 09:20:11 +0000 (09:20 +0000)
server/user.jobengine.executors/src/user/jobengine/server/steps/ForkDownloadStep.java

index fda90b6be34d23e85d47c52c5283598945bf9f28..6722c822e42d563b5f10bc37c7a571031b2a24cb 100644 (file)
@@ -15,7 +15,9 @@ import org.apache.logging.log4j.Logger;
 \r
 import user.commons.DownloadableMedia;\r
 import user.commons.JobStatus;\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
 import user.jobengine.server.IJobEngine;\r
@@ -26,7 +28,8 @@ public class ForkDownloadStep extends JobStep {
        private static final Logger logger = LogManager.getLogger();\r
 \r
        @StepEntry\r
-       public Object[] execute(String tempStoreName, String template, String expectedColorSpace, int limit) throws Exception {\r
+       public Object[] execute(String tempStoreName, String template, String expectedColorSpace, int limit)\r
+                       throws Exception {\r
                DirectoryStream<Path> directoryStream = null;\r
                int count = limit;\r
                int allCount = 0;\r
@@ -147,6 +150,26 @@ public class ForkDownloadStep extends JobStep {
 \r
                                if (e.getStatus().equals(JobStatus.CANCELED) || e.getStatus().equals(JobStatus.SUSPENDED))\r
                                        EscortFiles.removeCatchedFile(escortFile);\r
+\r
+                               if (e.getStatus().equals(JobStatus.FINISHED) && "PBARCHIVE".equals(sourceStoreName)) {\r
+                                       try {\r
+                                               FtpDirectoryLister lister = (FtpDirectoryLister) sourceStoreUri.getLister();\r
+                                               RemoteFile remoteFile = lister.get(sourceFileName);\r
+                                               if (remoteFile == null)\r
+                                                       logger.info(getMarker(), "Remote file for {} is not available", sourceFileName);\r
+                                               else {\r
+                                                       logger.info(getMarker(), "Remote file {} successfully archived, deleting...",\r
+                                                                       sourceFileName);\r
+                                                       lister.delete(remoteFile);\r
+                                               }\r
+                                       } catch (Exception ex) {\r
+                                               logger.error(getMarker(), ex.getMessage());\r
+                                       } finally {\r
+                                               if (sourceStoreUri != null)\r
+                                                       sourceStoreUri.cleanUp();\r
+                                       }\r
+                               }\r
+\r
                        }, template, "Archiválás", priority, IJobEngine.DEFAULT_OWNER, parameters);\r
                        if (child == null)\r
                                throw new Exception("Submit error.");\r