From 872784bd7ba7343737496aa0cc237a3d64158342 Mon Sep 17 00:00:00 2001 From: Sweidan Omar Date: Wed, 1 Dec 2021 15:11:07 +0000 Subject: [PATCH] git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C32405 --- .../LOCAL/jobs/steps/CalculateMD5Step.java | 56 +++++++++++++++++++ .../jobs/steps/CalculateMD5Step.java | 31 ---------- .../server/steps/CalculateMD5Step.java | 56 +++++++++++++++---- 3 files changed, 101 insertions(+), 42 deletions(-) create mode 100644 server/-product/production/LOCAL/jobs/steps/CalculateMD5Step.java delete mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/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 index 00000000..4cccde48 --- /dev/null +++ b/server/-product/production/LOCAL/jobs/steps/CalculateMD5Step.java @@ -0,0 +1,56 @@ +package user.jobengine.server.steps; + +import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.security.DigestInputStream; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.message.Message; +import org.apache.logging.log4j.message.ParameterizedMessage; + +import user.commons.MediaCubeMarker; + +public class CalculateMD5Step extends JobStep { + private static final Logger logger = LogManager.getLogger(); + + @StepEntry + public Object[] execute(String fileName) throws Exception { + logger.info(getMarker(), "Executing"); + Message msg = new ParameterizedMessage(""); + logger.info(new MediaCubeMarker("vasary@elgekko.net,vasary@gmail.com", "MediaCube rendszerüzenet"), msg); + + // getting file size + Path fileToDigest = Paths.get(fileName); + long fileSize = Files.size(fileToDigest); + + MessageDigest messageDigest = null; + InputStream is = null; + DigestInputStream dis = null; + byte[] byteArray = new byte[1024]; // TODO buffersize mereture atirni + byte[] digest = null; + String md5String = null; + int byteCount = 0; + + try { + messageDigest = MessageDigest.getInstance("MD5"); + is = Files.newInputStream(Paths.get(fileName)); + dis = new DigestInputStream(is, messageDigest); + while ((byteCount = dis.read(byteArray)) != -1) { + messageDigest.update(byteArray, 0, byteCount); + } + dis.close(); + + digest = messageDigest.digest(); + + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } + + return new Object[] { digest.toString() }; + } +} \ 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 index 6cb33747..00000000 --- a/server/-product/production/MEDIAVIVANTIS/jobs/steps/CalculateMD5Step.java +++ /dev/null @@ -1,31 +0,0 @@ -package user.jobengine.server.steps; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.apache.logging.log4j.message.Message; -import org.apache.logging.log4j.message.ParameterizedMessage; - -import user.commons.MediaCubeMarker; - -public class CalculateMD5Step extends JobStep { - private static final Logger logger = LogManager.getLogger(); - - @StepEntry - public Object[] execute(int param) throws Exception { - logger.info(getMarker(), "Executing"); - Message msg = new ParameterizedMessage(""); - logger.info(new MediaCubeMarker("vasary@elgekko.net,vasary@gmail.com", "MediaCube rendszerüzenet"), msg); - - for (int i = 0; i < 10; i++) { - logger.info(getMarker(), "Executing {}", i); - if (getJobRuntime().isWaitingCancel()) - break; - Thread.sleep(100); - int progress = (i + 1) * 100 / 10; - setProgress(progress); - } - - return null; - } - -} diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/CalculateMD5Step.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/CalculateMD5Step.java index 8dbdc1df..4cccde48 100644 --- a/server/user.jobengine.executors/src/user/jobengine/server/steps/CalculateMD5Step.java +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/CalculateMD5Step.java @@ -1,22 +1,56 @@ package user.jobengine.server.steps; +import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.security.DigestInputStream; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.message.Message; +import org.apache.logging.log4j.message.ParameterizedMessage; + +import user.commons.MediaCubeMarker; public class CalculateMD5Step extends JobStep { private static final Logger logger = LogManager.getLogger(); @StepEntry - public Object[] execute(int param) throws Exception { - logger.info(getMarker(), "Executing with param {}", param); - for (int i = 0; i < 10; i++) { - if (getJobRuntime().isWaitingCancel()) - break; - Thread.sleep(10); - int progress = (i + 1) * 100 / 10; - setProgress(progress); + public Object[] execute(String fileName) throws Exception { + logger.info(getMarker(), "Executing"); + Message msg = new ParameterizedMessage(""); + logger.info(new MediaCubeMarker("vasary@elgekko.net,vasary@gmail.com", "MediaCube rendszerüzenet"), msg); + + // getting file size + Path fileToDigest = Paths.get(fileName); + long fileSize = Files.size(fileToDigest); + + MessageDigest messageDigest = null; + InputStream is = null; + DigestInputStream dis = null; + byte[] byteArray = new byte[1024]; // TODO buffersize mereture atirni + byte[] digest = null; + String md5String = null; + int byteCount = 0; + + try { + messageDigest = MessageDigest.getInstance("MD5"); + is = Files.newInputStream(Paths.get(fileName)); + dis = new DigestInputStream(is, messageDigest); + while ((byteCount = dis.read(byteArray)) != -1) { + messageDigest.update(byteArray, 0, byteCount); + } + dis.close(); + + digest = messageDigest.digest(); + + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); } - return null; - } -} + return new Object[] { digest.toString() }; + } +} \ No newline at end of file -- 2.54.0