git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorSweidan Omar <TFS\sweidan.omar>
Wed, 1 Dec 2021 15:11:07 +0000 (15:11 +0000)
committerSweidan Omar <TFS\sweidan.omar>
Wed, 1 Dec 2021 15:11:07 +0000 (15:11 +0000)
server/-product/production/LOCAL/jobs/steps/CalculateMD5Step.java [new file with mode: 0644]
server/-product/production/MEDIAVIVANTIS/jobs/steps/CalculateMD5Step.java [deleted file]
server/user.jobengine.executors/src/user/jobengine/server/steps/CalculateMD5Step.java

diff --git a/server/-product/production/LOCAL/jobs/steps/CalculateMD5Step.java b/server/-product/production/LOCAL/jobs/steps/CalculateMD5Step.java
new file mode 100644 (file)
index 0000000..4cccde4
--- /dev/null
@@ -0,0 +1,56 @@
+package user.jobengine.server.steps;\r
+\r
+import java.io.InputStream;\r
+import java.nio.file.Files;\r
+import java.nio.file.Path;\r
+import java.nio.file.Paths;\r
+import java.security.DigestInputStream;\r
+import java.security.MessageDigest;\r
+import java.security.NoSuchAlgorithmException;\r
+\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 user.commons.MediaCubeMarker;\r
+\r
+public class CalculateMD5Step extends JobStep {\r
+       private static final Logger logger = LogManager.getLogger();\r
+\r
+       @StepEntry\r
+       public Object[] execute(String fileName) throws Exception {\r
+               logger.info(getMarker(), "Executing");\r
+               Message msg = new ParameterizedMessage("");\r
+               logger.info(new MediaCubeMarker("vasary@elgekko.net,vasary@gmail.com", "MediaCube rendszerüzenet"), msg);\r
+\r
+               // getting file size\r
+               Path fileToDigest = Paths.get(fileName);\r
+               long fileSize = Files.size(fileToDigest);\r
+\r
+               MessageDigest messageDigest = null;\r
+               InputStream is = null;\r
+               DigestInputStream dis = null;\r
+               byte[] byteArray = new byte[1024]; // TODO buffersize mereture atirni\r
+               byte[] digest = null;\r
+               String md5String = null;\r
+               int byteCount = 0;\r
+\r
+               try {\r
+                       messageDigest = MessageDigest.getInstance("MD5");\r
+                       is = Files.newInputStream(Paths.get(fileName));\r
+                       dis = new DigestInputStream(is, messageDigest);\r
+                       while ((byteCount = dis.read(byteArray)) != -1) {\r
+                               messageDigest.update(byteArray, 0, byteCount);\r
+                       }\r
+                       dis.close();\r
+\r
+                       digest = messageDigest.digest();\r
+\r
+               } catch (NoSuchAlgorithmException e) {\r
+                       e.printStackTrace();\r
+               }\r
+\r
+               return new Object[] { digest.toString() };\r
+       }\r
+}
\ No newline at end of file
diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/steps/CalculateMD5Step.java b/server/-product/production/MEDIAVIVANTIS/jobs/steps/CalculateMD5Step.java
deleted file mode 100644 (file)
index 6cb3374..0000000
+++ /dev/null
@@ -1,31 +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.message.Message;\r
-import org.apache.logging.log4j.message.ParameterizedMessage;\r
-\r
-import user.commons.MediaCubeMarker;\r
-\r
-public class CalculateMD5Step extends JobStep {\r
-       private static final Logger logger = LogManager.getLogger();\r
-\r
-       @StepEntry\r
-       public Object[] execute(int param) throws Exception {\r
-               logger.info(getMarker(), "Executing");\r
-               Message msg = new ParameterizedMessage("");\r
-               logger.info(new MediaCubeMarker("vasary@elgekko.net,vasary@gmail.com", "MediaCube rendszerüzenet"), msg);\r
-\r
-               for (int i = 0; i < 10; i++) {\r
-                       logger.info(getMarker(), "Executing {}", i);\r
-                       if (getJobRuntime().isWaitingCancel())\r
-                               break;\r
-                       Thread.sleep(100);\r
-                       int progress = (i + 1) * 100 / 10;\r
-                       setProgress(progress);\r
-               }\r
-\r
-               return null;\r
-       }\r
-\r
-}\r
index 8dbdc1dfd48b9f5673aab9f2c4308ceec8f2b52b..4cccde488be204a102f438980d2c8a965e3d698a 100644 (file)
@@ -1,22 +1,56 @@
 package user.jobengine.server.steps;\r
 \r
+import java.io.InputStream;\r
+import java.nio.file.Files;\r
+import java.nio.file.Path;\r
+import java.nio.file.Paths;\r
+import java.security.DigestInputStream;\r
+import java.security.MessageDigest;\r
+import java.security.NoSuchAlgorithmException;\r
+\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 user.commons.MediaCubeMarker;\r
 \r
 public class CalculateMD5Step extends JobStep {\r
        private static final Logger logger = LogManager.getLogger();\r
 \r
        @StepEntry\r
-       public Object[] execute(int param) throws Exception {\r
-               logger.info(getMarker(), "Executing with param {}", param);\r
-               for (int i = 0; i < 10; i++) {\r
-                       if (getJobRuntime().isWaitingCancel())\r
-                               break;\r
-                       Thread.sleep(10);\r
-                       int progress = (i + 1) * 100 / 10;\r
-                       setProgress(progress);\r
+       public Object[] execute(String fileName) throws Exception {\r
+               logger.info(getMarker(), "Executing");\r
+               Message msg = new ParameterizedMessage("");\r
+               logger.info(new MediaCubeMarker("vasary@elgekko.net,vasary@gmail.com", "MediaCube rendszerüzenet"), msg);\r
+\r
+               // getting file size\r
+               Path fileToDigest = Paths.get(fileName);\r
+               long fileSize = Files.size(fileToDigest);\r
+\r
+               MessageDigest messageDigest = null;\r
+               InputStream is = null;\r
+               DigestInputStream dis = null;\r
+               byte[] byteArray = new byte[1024]; // TODO buffersize mereture atirni\r
+               byte[] digest = null;\r
+               String md5String = null;\r
+               int byteCount = 0;\r
+\r
+               try {\r
+                       messageDigest = MessageDigest.getInstance("MD5");\r
+                       is = Files.newInputStream(Paths.get(fileName));\r
+                       dis = new DigestInputStream(is, messageDigest);\r
+                       while ((byteCount = dis.read(byteArray)) != -1) {\r
+                               messageDigest.update(byteArray, 0, byteCount);\r
+                       }\r
+                       dis.close();\r
+\r
+                       digest = messageDigest.digest();\r
+\r
+               } catch (NoSuchAlgorithmException e) {\r
+                       e.printStackTrace();\r
                }\r
-               return null;\r
-       }\r
 \r
-}\r
+               return new Object[] { digest.toString() };\r
+       }\r
+}
\ No newline at end of file