--- /dev/null
+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
+++ /dev/null
-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
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