git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorvasary.daniel <TFS\vasary.daniel>
Tue, 1 Jun 2021 19:36:20 +0000 (19:36 +0000)
committervasary.daniel <TFS\vasary.daniel>
Tue, 1 Jun 2021 19:36:20 +0000 (19:36 +0000)
server/-dependencies/pom.xml
server/user.jobengine.executors/src/user/jobengine/server/steps/ArchiveSubtitlesStep.java [new file with mode: 0644]
server/user.jobengine.executors/src/user/jobengine/server/steps/SubtitleFilesCollectorStep.java [new file with mode: 0644]
server/user.mediacube.gui/META-INF/MANIFEST.MF
server/user.mediacube.gui/src/user/jobengine/gui/GUIActivator.java [moved from server/user.mediacube.gui/src/user/jobengine/gui/Activator.java with 64% similarity]

index 3ac7c4d000d632cea3e0342a5608ba38061acf01..5b197a5daeb5cc34165a3bf51eb36b0a43944326 100644 (file)
                                                                </artifact>\r
                                                                <artifact>\r
                                                                        <id>org.eclipse.jetty.osgi:jetty-osgi-boot:${jetty.version}</id>\r
+                                                                       <source>true</source>\r
                                                                </artifact>\r
                                                                <artifact>\r
                                                                        <id>org.eclipse.jetty:jetty-client:${jetty.version}</id>\r
diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/ArchiveSubtitlesStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/ArchiveSubtitlesStep.java
new file mode 100644 (file)
index 0000000..8da80ed
--- /dev/null
@@ -0,0 +1,78 @@
+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
+import java.nio.file.StandardCopyOption;\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.Arrays;\r
+import java.util.List;\r
+import java.util.Set;\r
+\r
+import org.apache.logging.log4j.LogManager;\r
+import org.apache.logging.log4j.Logger;\r
+\r
+public class ArchiveSubtitlesStep extends JobStep {\r
+       private static final Logger logger = LogManager.getLogger();\r
+\r
+       public void ensureFolder(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
+                               try {\r
+                                       Files.createDirectories(filePath);\r
+                               } catch (Exception e1) {\r
+                                       logger.catching(e1);\r
+                                       throw e1;\r
+                               }\r
+                       }\r
+               }\r
+       }\r
+\r
+       //"x:\PB_ORIG\AMC_BLK\BUL\CCEM018865-01_DONE.stl"\r
+       //"x:\PB_ARCH\AMC_BLK\CCEM018865-01_BUL.stl"\r
+\r
+       @StepEntry\r
+       public Object[] execute(List<String> files) {\r
+               int current = 0;\r
+               for (String file : files) {\r
+                       Path source = Paths.get(file);\r
+                       String lang = source.getParent().getFileName().toString().toUpperCase();\r
+                       Path archiveRoot = Paths.get(file.replace("PB_ORIG", "PB_ARCH/TEST"));\r
+                       archiveRoot = archiveRoot.getParent().getParent();\r
+                       //logger.info(getMarker(), "Archive root is {}, lang is {}", archiveRoot, lang);\r
+                       Path archive = Paths.get(archiveRoot.toString(), source.getFileName().toString().replace(".stl", "_" + lang + ".stl"));\r
+                       boolean isOverride = archive.toFile().exists();\r
+                       try {\r
+                               ensureFolder(archiveRoot);\r
+                               Files.copy(source, archive, StandardCopyOption.REPLACE_EXISTING);\r
+                               if (archive.toFile().exists()) {\r
+                                       boolean isContentEquals = Arrays.equals(Files.readAllBytes(source), Files.readAllBytes(archive));\r
+                                       logger.info(getMarker(), "Contents equals {}", isContentEquals);\r
+                                       if (isContentEquals) {\r
+                                               if (isOverride)\r
+                                                       logger.info(getMarker(), "Successfully replaced {}", archive);\r
+                                               else\r
+                                                       logger.info(getMarker(), "Successfully archived {}", archive);\r
+                                       }\r
+                               }\r
+\r
+                       } catch (Exception e) {\r
+                               logger.error(getMarker(), "Error copy {} to {}. System message: {}", source, archive, e.getMessage());\r
+                       }\r
+                       current++;\r
+                       int progress = current * 100 / files.size();\r
+                       setProgress(progress);\r
+               }\r
+               setProgress(100);\r
+               return null;\r
+       }\r
+}\r
diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/SubtitleFilesCollectorStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/SubtitleFilesCollectorStep.java
new file mode 100644 (file)
index 0000000..0ba134a
--- /dev/null
@@ -0,0 +1,34 @@
+package user.jobengine.server.steps;\r
+\r
+import java.nio.file.Path;\r
+import java.text.SimpleDateFormat;\r
+import java.util.Calendar;\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
+/* DO NOT REMOVE!\r
+import user.jobengine.server.steps.FileSearchFilterOptions;\r
+*/\r
+public class SubtitleFilesCollectorStep extends PathItemsCollectorStep {\r
+       private static final Logger logger = LogManager.getLogger();\r
+\r
+       @Override\r
+       protected FileSearchFilterOptions createFileFilter(BasicDBObject filter) {\r
+               FileSearchFilterOptions result = new FileSearchFilterOptions(filter) {\r
+                       @Override\r
+                       public boolean acceptFile(Path file) {\r
+                               return super.acceptFile(file) && !file.getFileName().toString().contains("_DONE");\r
+                       }\r
+               };\r
+               return result;\r
+       }\r
+\r
+       @Override\r
+       @StepEntry\r
+       public Object[] execute(String sourceFolder, BasicDBObject filter) throws Exception {\r
+               return super.execute(sourceFolder, filter);\r
+       }\r
+}\r
index 14d37dea63d40122da2b9960fb8f78e70e3441ea..ceb0fc0414ea18ee1bbf33009620bd0656fb754c 100644 (file)
@@ -20,9 +20,10 @@ Import-Package: javax.servlet;version="3.1.0",
  org.apache.logging.log4j;version="2.8.2",
  org.junit,
  org.osgi.framework;version="1.8.0",
+ org.osgi.util.tracker;version="1.5.1",
  org.slf4j;version="1.7.2",
  user.jobengine.server,
  user.jobengine.server.messages,
  user.jobengine.server.scheduler
-Bundle-Activator: Activator
+Bundle-Activator: user.jobengine.gui.GUIActivator
 
similarity index 64%
rename from server/user.mediacube.gui/src/user/jobengine/gui/Activator.java
rename to server/user.mediacube.gui/src/user/jobengine/gui/GUIActivator.java
index 4f3094176382453e2a1055b53d1a364938deca48..dbae865ddd1765d6f05b776934e1d51d169bebe4 100644 (file)
@@ -1,19 +1,17 @@
 package user.jobengine.gui;\r
+\r
 import org.osgi.framework.BundleActivator;\r
 import org.osgi.framework.BundleContext;\r
 \r
-public class Activator implements BundleActivator {\r
+public class GUIActivator implements BundleActivator {\r
 \r
        @Override\r
        public void start(BundleContext context) throws Exception {\r
-               // TODO Auto-generated method stub\r
 \r
        }\r
 \r
        @Override\r
        public void stop(BundleContext context) throws Exception {\r
-               // TODO Auto-generated method stub\r
-\r
        }\r
 \r
 }\r