diff --git a/org.adempiere.report.jasper.fragment.test/.classpath b/org.adempiere.report.jasper.fragment.test/.classpath deleted file mode 100644 index 1fa3e6803d..0000000000 --- a/org.adempiere.report.jasper.fragment.test/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/org.adempiere.report.jasper.fragment.test/.project b/org.adempiere.report.jasper.fragment.test/.project deleted file mode 100644 index a264a58e73..0000000000 --- a/org.adempiere.report.jasper.fragment.test/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - org.adempiere.report.jasper.fragment.test - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - diff --git a/org.adempiere.report.jasper.fragment.test/.settings/org.eclipse.jdt.core.prefs b/org.adempiere.report.jasper.fragment.test/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index f42de363af..0000000000 --- a/org.adempiere.report.jasper.fragment.test/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,7 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 -org.eclipse.jdt.core.compiler.compliance=1.7 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.7 diff --git a/org.adempiere.report.jasper.fragment.test/.settings/org.eclipse.pde.core.prefs b/org.adempiere.report.jasper.fragment.test/.settings/org.eclipse.pde.core.prefs deleted file mode 100644 index f29e940a00..0000000000 --- a/org.adempiere.report.jasper.fragment.test/.settings/org.eclipse.pde.core.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -pluginProject.extensions=false -resolve.requirebundle=false diff --git a/org.adempiere.report.jasper.fragment.test/2Pack/org.adempiere.report.jasper.test.zip b/org.adempiere.report.jasper.fragment.test/2Pack/org.adempiere.report.jasper.test.zip deleted file mode 100644 index 45f2eea85e..0000000000 Binary files a/org.adempiere.report.jasper.fragment.test/2Pack/org.adempiere.report.jasper.test.zip and /dev/null differ diff --git a/org.adempiere.report.jasper.fragment.test/META-INF/MANIFEST.MF b/org.adempiere.report.jasper.fragment.test/META-INF/MANIFEST.MF deleted file mode 100644 index 192faea16f..0000000000 --- a/org.adempiere.report.jasper.fragment.test/META-INF/MANIFEST.MF +++ /dev/null @@ -1,9 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: Test -Bundle-SymbolicName: org.adempiere.report.jasper.fragment.test -Bundle-Version: 1.0.0.qualifier -Fragment-Host: org.adempiere.report.jasper.webapp;bundle-version="1.0.0" -Bundle-RequiredExecutionEnvironment: JavaSE-1.7 -Jetty-WarPatchFragmentFolderPath: / - diff --git a/org.adempiere.report.jasper.fragment.test/build.properties b/org.adempiere.report.jasper.fragment.test/build.properties deleted file mode 100644 index 25a6ff4e69..0000000000 --- a/org.adempiere.report.jasper.fragment.test/build.properties +++ /dev/null @@ -1,6 +0,0 @@ -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - test.jrxml -src.includes = test.jrxml diff --git a/org.adempiere.report.jasper.fragment.test/test.jrxml b/org.adempiere.report.jasper.fragment.test/test.jrxml deleted file mode 100644 index f22a4d9726..0000000000 --- a/org.adempiere.report.jasper.fragment.test/test.jrxml +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - <band height="782"> - <staticText> - <reportElement x="0" y="50" width="150" height="40"/> - <textElement/> - <text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text> - </staticText> - <staticText> - <reportElement x="160" y="50" width="390" height="40"/> - <textElement/> - <text><![CDATA[<staticText><reportElement x="0" y="50" width="150" height="40"/><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text> - </staticText> - <staticText> - <reportElement x="0" y="100" width="150" height="40"/> - <textElement> - <font size="12"/> - </textElement> - <text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text> - </staticText> - <staticText> - <reportElement x="160" y="100" width="390" height="40"/> - <textElement/> - <text><![CDATA[<staticText><reportElement x="0" y="100" width="150" height="40"/><textElement><font size="14"/></textElement><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text> - </staticText> - <staticText> - <reportElement x="0" y="150" width="150" height="40"/> - <textElement> - <font fontName="Times New Roman" size="12" /> - </textElement> - <text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text> - </staticText> - <staticText> - <reportElement x="160" y="150" width="390" height="40"/> - <textElement/> - <text><![CDATA[<staticText><reportElement x="0" y="150" width="150" height="40"/><textElement><font fontName="Times New Roman" size="12" /></textElement><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text> - </staticText> - <staticText> - <reportElement x="0" y="200" width="150" height="40"/> - <textElement> - <font fontName="Times New Roman" size="12" isBold="true" isItalic="true" /> - </textElement> - <text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text> - </staticText> - <staticText> - <reportElement x="160" y="200" width="390" height="40"/> - <textElement/> - <text><![CDATA[<staticText><reportElement x="0" y="200" width="150" height="40"/><textElement><font fontName="Times New Roman" size="12" isBold="true" isItalic="true" /></textElement><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text> - </staticText> - <staticText> - <reportElement x="0" y="250" width="150" height="40"/> - <textElement> - <font fontName="Comic Sans Test" size="12" isBold="false" /> - </textElement> - <text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text> - </staticText> - <staticText> - <reportElement x="160" y="250" width="390" height="40"/> - <textElement/> - <text><![CDATA[<staticText><reportElement x="0" y="250" width="150" height="40"/><textElement><font fontName="Comic Sans MS" size="12" isBold="false" /></textElement><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text> - </staticText> - <staticText> - <reportElement x="0" y="300" width="150" height="40"/> - <textElement> - <font fontName="Comic Sans MS" size="12" isBold="true" /> - </textElement> - <text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text> - </staticText> - <staticText> - <reportElement x="160" y="300" width="390" height="40"/> - <textElement/> - <text><![CDATA[<staticText><reportElement x="0" y="300" width="150" height="40"/><textElement><font fontName="Comic Sans MS" size="12" isBold="true" /></textElement><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text> - </staticText> - <staticText> - <reportElement x="0" y="350" width="150" height="40"/> - <textElement> - <font fontName="Monospaced" size="12" isItalic="true" isUnderline="true" /> - </textElement> - <text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text> - </staticText> - <staticText> - <reportElement x="160" y="350" width="390" height="40"/> - <textElement/> - <text><![CDATA[<staticText><reportElement x="0" y="350" width="150" height="40"/><textElement><font fontName="Monospaced" size="12" isItalic="true" isUnderline="true" /></textElement><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text> - </staticText> - <staticText> - <reportElement x="0" y="400" width="150" height="40"/> - <textElement> - <font fontName="Monospaced" size="12" isBold="true" isStrikeThrough="true" /> - </textElement> - <text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text> - </staticText> - <staticText> - <reportElement x="160" y="400" width="390" height="40"/> - <textElement/> - <text><![CDATA[<staticText><reportElement x="0" y="400" width="150" height="40"/><textElement><font fontName="Monospaced" size="12" isBold="true" isStrikeThrough="true" /></textElement><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text> - </staticText> - <staticText> - <reportElement x="0" y="450" width="150" height="40" forecolor="#ff0000"/> - <textElement> - <font size="14"/> - </textElement> - <text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text> - </staticText> - <staticText> - <reportElement x="160" y="450" width="390" height="40"/> - <textElement/> - <text><![CDATA[<staticText><reportElement x="0" y="450" width="150" height="40" forecolor="red"/><textElement><font size="14"/></textElement><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text> - </staticText> - <staticText> - <reportElement mode="Opaque" x="0" y="500" width="150" height="40" forecolor="#ff00" backcolor="#ffff00"/> - <textElement> - <font fontName="Times New Roman" size="12" isBold="true" /> - </textElement> - <text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text> - </staticText> - <staticText> - <reportElement x="160" y="500" width="390" height="40"/> - <textElement/> - <text><![CDATA[<staticText><reportElement x="0" y="500" width="150" height="40" forecolor="green" backcolor="#FFFF00" mode="Opaque"/><textElement><font fontName="Times New Roman" size="12" isBold="true" /></textElement><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text> - </staticText> - <staticText> - <reportElement mode="Opaque" x="0" y="550" width="150" height="90" forecolor="#ff" backcolor="#ffdd99"/> - <textElement textAlignment="Center" verticalAlignment="Middle"> - <font fontName="Times New Roman" size="12" isBold="true" /> - </textElement> - <text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text> - </staticText> - <staticText> - <reportElement x="160" y="550" width="390" height="90"/> - <textElement/> - <text><![CDATA[<staticText><reportElement x="0" y="550" width="150" height="90" forecolor="blue" backcolor="#FFDD99" mode="Opaque"/><textElement textAlignment="Center" verticalAlignment="Middle"><font fontName="Times New Roman" size="12" isBold="true" /></textElement><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text> - </staticText> - <staticText> - <reportElement mode="Opaque" x="0" y="650" width="150" height="90" forecolor="#ff0000" backcolor="#99ddff"/> - <textElement textAlignment="Right" verticalAlignment="Bottom"> - <font fontName="Times New Roman" size="12" isBold="true" /> - </textElement> - <text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text> - </staticText> - <staticText> - <reportElement x="160" y="650" width="390" height="90"/> - <textElement/> - <text><![CDATA[<staticText><reportElement x="0" y="650" width="150" height="90" forecolor="red" backcolor="#99DDFF" mode="Opaque"/><textElement textAlignment="Right" verticalAlignment="Bottom"><font fontName="Times New Roman" size="12" isBold="true" /></textElement><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text> - </staticText> - </band> - - diff --git a/org.adempiere.report.jasper.webapp/.classpath b/org.adempiere.report.jasper.webapp/.classpath deleted file mode 100644 index 96d268005a..0000000000 --- a/org.adempiere.report.jasper.webapp/.classpath +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/org.adempiere.report.jasper.webapp/.project b/org.adempiere.report.jasper.webapp/.project deleted file mode 100644 index cc08957051..0000000000 --- a/org.adempiere.report.jasper.webapp/.project +++ /dev/null @@ -1,34 +0,0 @@ - - - org.adempiere.report.jasper.webapp - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - org.eclipse.m2e.core.maven2Builder - - - - - - org.eclipse.m2e.core.maven2Nature - org.eclipse.jdt.core.javanature - org.eclipse.pde.PluginNature - - diff --git a/org.adempiere.report.jasper.webapp/.settings/org.eclipse.core.resources.prefs b/org.adempiere.report.jasper.webapp/.settings/org.eclipse.core.resources.prefs deleted file mode 100644 index 99f26c0203..0000000000 --- a/org.adempiere.report.jasper.webapp/.settings/org.eclipse.core.resources.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -encoding/=UTF-8 diff --git a/org.adempiere.report.jasper.webapp/.settings/org.eclipse.jdt.core.prefs b/org.adempiere.report.jasper.webapp/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 7adc0fb9a0..0000000000 --- a/org.adempiere.report.jasper.webapp/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,10 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 -org.eclipse.jdt.core.compiler.compliance=11 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning -org.eclipse.jdt.core.compiler.release=enabled -org.eclipse.jdt.core.compiler.source=11 diff --git a/org.adempiere.report.jasper.webapp/.settings/org.eclipse.m2e.core.prefs b/org.adempiere.report.jasper.webapp/.settings/org.eclipse.m2e.core.prefs deleted file mode 100644 index f897a7f1cb..0000000000 --- a/org.adempiere.report.jasper.webapp/.settings/org.eclipse.m2e.core.prefs +++ /dev/null @@ -1,4 +0,0 @@ -activeProfiles= -eclipse.preferences.version=1 -resolveWorkspaceProjects=true -version=1 diff --git a/org.adempiere.report.jasper.webapp/META-INF/MANIFEST.MF b/org.adempiere.report.jasper.webapp/META-INF/MANIFEST.MF deleted file mode 100644 index 8f38278554..0000000000 --- a/org.adempiere.report.jasper.webapp/META-INF/MANIFEST.MF +++ /dev/null @@ -1,17 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: iDempiere JasperReport Web App -Bundle-SymbolicName: org.adempiere.report.jasper.webapp;singleton:=true -Bundle-Version: 7.1.0.qualifier -Require-Bundle: org.adempiere.base;bundle-version="0.0.0" -Bundle-RequiredExecutionEnvironment: JavaSE-11 -Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version>=11))" -Web-ContextPath: JasperReportFiles -Import-Package: javax.servlet;version="2.5.0", - javax.servlet.http;version="2.5.0", - javax.servlet.jsp;version="2.1.0", - org.apache.commons.codec, - org.apache.commons.codec.binary -Bundle-ClassPath: . -Automatic-Module-Name: org.adempiere.report.jasper.webapp -Bundle-Vendor: iDempiere Community diff --git a/org.adempiere.report.jasper.webapp/RUN_build.bat b/org.adempiere.report.jasper.webapp/RUN_build.bat deleted file mode 100644 index 8109888069..0000000000 --- a/org.adempiere.report.jasper.webapp/RUN_build.bat +++ /dev/null @@ -1,15 +0,0 @@ -@CALL ..\utils_dev\myDevEnv.bat -@IF NOT %COMPIERE_ENV%==Y GOTO NOBUILD - -@echo Cleanup ... -@%JAVA_HOME%\bin\java -Dant.home="." %ANT_PROPERTIES% org.apache.tools.ant.Main clean - -@echo Building ... -@%JAVA_HOME%\bin\java -Dant.home="." %ANT_PROPERTIES% org.apache.tools.ant.Main main - -@REM @pause -@REM @exit - -:NOBUILD -@Echo Check myDevEnv.bat (copy from myDevEnvTemplate.bat) -@REM @Pause diff --git a/org.adempiere.report.jasper.webapp/RUN_build.sh b/org.adempiere.report.jasper.webapp/RUN_build.sh deleted file mode 100644 index b9768666a0..0000000000 --- a/org.adempiere.report.jasper.webapp/RUN_build.sh +++ /dev/null @@ -1,18 +0,0 @@ -# Module compiling script -# Ported from Windows script Marek Mosiewicz - - -SAVED_DIR=`pwd` #save current dir -cd `dirname $0`/../utils_dev #change dir to place where script resides - doesn not work with sym links -UTILS_DEV=`pwd` #this is compiere source -cd $SAVED_DIR #back to the saved directory - -. $UTILS_DEV/myDevEnv.sh #call environment -echo done -if [ ! $COMPIERE_ENV==Y ] ; then - echo "Can't set developemeent environemnt - check myDevEnv.sh" - exit 1 -fi - -echo running Ant -$JAVA_HOME/bin/java -Dant.home="." $ANT_PROPERTIES org.apache.tools.ant.Main diff --git a/org.adempiere.report.jasper.webapp/WEB-INF/jboss-web.xml b/org.adempiere.report.jasper.webapp/WEB-INF/jboss-web.xml deleted file mode 100644 index 3074a41536..0000000000 --- a/org.adempiere.report.jasper.webapp/WEB-INF/jboss-web.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - ejb/compiere/MD5 - ejb/compiere/MD5 - - - - \ No newline at end of file diff --git a/org.adempiere.report.jasper.webapp/WEB-INF/web.xml b/org.adempiere.report.jasper.webapp/WEB-INF/web.xml deleted file mode 100644 index b6e4cd6339..0000000000 --- a/org.adempiere.report.jasper.webapp/WEB-INF/web.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - MD5Filter - - org.compiere.web.MD5Filter - - - - MD5Filter - /* - - - - GetMD5File - - org.compiere.web.GetMD5FileServlet - - - - - GetMD5File - /GetMD5File - - - - - - - - - - diff --git a/org.adempiere.report.jasper.webapp/build.properties b/org.adempiere.report.jasper.webapp/build.properties deleted file mode 100644 index dabe31b60f..0000000000 --- a/org.adempiere.report.jasper.webapp/build.properties +++ /dev/null @@ -1,11 +0,0 @@ -bin.includes = META-INF/,\ - standalone.jrxml,\ - WEB-INF/,\ - . -bin.excludes = src/**,\ - .settings/**,\ - .classpath,\ - .project,\ - build.properties -output.. = target/classes/ -source.. = src/ diff --git a/org.adempiere.report.jasper.webapp/packaging-build.xml b/org.adempiere.report.jasper.webapp/packaging-build.xml deleted file mode 100644 index 2a91237dc1..0000000000 --- a/org.adempiere.report.jasper.webapp/packaging-build.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/org.adempiere.report.jasper.webapp/pom.xml b/org.adempiere.report.jasper.webapp/pom.xml deleted file mode 100644 index ada1382e02..0000000000 --- a/org.adempiere.report.jasper.webapp/pom.xml +++ /dev/null @@ -1,12 +0,0 @@ - - 4.0.0 - - org.idempiere - org.idempiere.parent - 7.1.0-SNAPSHOT - ../org.idempiere.parent/pom.xml - - org.adempiere.report.jasper.webapp - eclipse-plugin - \ No newline at end of file diff --git a/org.adempiere.report.jasper.webapp/src/org/compiere/utils/DigestOfFile.java b/org.adempiere.report.jasper.webapp/src/org/compiere/utils/DigestOfFile.java deleted file mode 100644 index c8b46d9b48..0000000000 --- a/org.adempiere.report.jasper.webapp/src/org/compiere/utils/DigestOfFile.java +++ /dev/null @@ -1,124 +0,0 @@ -package org.compiere.utils; - -import java.security.*; -import java.io.*; - -import org.apache.commons.codec.binary.Base64; - -/** - * @author rlemeill - * - */ -public class DigestOfFile -{ - /** - * @param algorithm ie MD5 - * @throws Exception - */ - public DigestOfFile(String algorithm) throws Exception - { - digestAgent = MessageDigest.getInstance(algorithm); - } - - /** - * @param file to hash - * @return hash - * @throws Exception - */ - synchronized public byte[] digestAsByteArray(File file) throws Exception - { - digestAgent.reset(); - InputStream is = new BufferedInputStream(new FileInputStream(file)); - for (int bytesRead = 0; (bytesRead = is.read(buffer)) >= 0;) - { - digestAgent.update(buffer, 0, bytesRead); - } - is.close(); - byte[] digest = digestAgent.digest(); - return digest; - } - - /** - * @author rlemeill - * @param file - * @return hash (base64 encoded) - * @throws Exception - */ - synchronized public String digestAsBase64(File file) throws Exception - { - byte[] digest = digestAsByteArray(file); - Base64 base64 = new Base64(); - String digestAsBase64 = new String(base64.encode(digest)); - return digestAsBase64; - } - - - - //private static final char[] HEX_CHARS = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'}; - - private MessageDigest digestAgent; - private byte[] buffer = new byte[4096]; - - /** - * @author rlemeill - * @param args file - */ - public static void main(String[] args) - { - try - { - DigestOfFile md5DigestAgent = new DigestOfFile("MD5"); - - for (int argIndex = 0; argIndex < args.length; argIndex++) - { - { - String base64Digest = md5DigestAgent.digestAsBase64(new File(args[argIndex])); - System.out.println("Base64 MD5 of " + args[argIndex] + " = [" + base64Digest + "]"); - } - } - } - catch (Exception e) - { - e.printStackTrace(System.out); - } - } - - - /** - * @param file1 first file to compare - * @param file2 second file to compare - * @return true if files are identic false otherwise - */ - public static boolean md5localHashCompare(File file1,File file2) - { - //compute Hash of exisiting and downloaded - String hashFile1; - String hashFile2; - try{ - DigestOfFile md5DigestAgent = new DigestOfFile("MD5"); - hashFile1 = md5DigestAgent.digestAsBase64(file1); - hashFile2 = md5DigestAgent.digestAsBase64(file2); - return hashFile1.equals(hashFile2) ; } - catch (Exception e) - { - return false; //if there is an error during comparison return files are difs - } - } - - /** - * @param file - * @return md5 hash null if file is not found or other error - */ - public static String GetLocalMD5Hash(File file) - { - String hash; - try{ - DigestOfFile md5DigestAgent = new DigestOfFile("MD5"); - hash = md5DigestAgent.digestAsBase64(file); - return hash; } - catch (Exception e) - { - return null; //if there is an error during comparison return files are difs - } - } -} diff --git a/org.adempiere.report.jasper.webapp/src/org/compiere/utils/MD5Impl.java b/org.adempiere.report.jasper.webapp/src/org/compiere/utils/MD5Impl.java deleted file mode 100644 index da40f3b6b3..0000000000 --- a/org.adempiere.report.jasper.webapp/src/org/compiere/utils/MD5Impl.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Créé le 22 mars 2005 - * - * TODO Pour changer le modčle de ce fichier généré, allez ŕ : - * Fenętre - Préférences - Java - Style de code - Modčles de code - */ -package org.compiere.utils; - -import java.net.URL; -import java.util.logging.Level; - -import org.compiere.util.CLogger; -import org.compiere.utils.DigestOfFile; - -public class MD5Impl { - /** - * - */ - private static final CLogger log = CLogger.getCLogger(MD5Impl.class); - - public MD5Impl() { - super(); - } - - /** - * Business method - * @param FileName - * @return hash base64 encoded - */ - public String getFileMD5(String FileName) { - String hash = null; - String absoluteFilename = null; - String filepartOnly = null; - try - { - //Thread.currentThread().getContextClassLoader().getResource(""); - if ( FileName.startsWith("http://") ) - { - //extract absolute path - String[] filePathParts = FileName.split("/"); - filepartOnly = filePathParts[filePathParts.length-1]; - URL currentFile = Thread.currentThread().getContextClassLoader().getResource(filepartOnly); - System.out.println(filepartOnly); - absoluteFilename = currentFile.getFile(); - if (log.isLoggable(Level.INFO)) log.info("decoded absolute path name for "+filepartOnly +" is "+absoluteFilename); - } - else - { - absoluteFilename = FileName; - } - - if (absoluteFilename != null) - { - DigestOfFile md5DigestAgent = new DigestOfFile("MD5"); - hash = md5DigestAgent.digestAsBase64(new java.io.File(absoluteFilename)); - } - - } - catch(Exception e) - { - log.severe(e.getMessage()); - return null; - } - - return hash; - } - - /** - * Business method - * @param Filename - * @return AbsolutePath on server - */ - public String getFileAsolutePath(String Filename) - { - java.net.URL currentFile = Thread.currentThread().getContextClassLoader().getResource(Filename); - return currentFile.toString(); - } -} \ No newline at end of file diff --git a/org.adempiere.report.jasper.webapp/src/org/compiere/web/GetMD5FileServlet.java b/org.adempiere.report.jasper.webapp/src/org/compiere/web/GetMD5FileServlet.java deleted file mode 100644 index 6d282b9098..0000000000 --- a/org.adempiere.report.jasper.webapp/src/org/compiere/web/GetMD5FileServlet.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Créé le 22 mars 2005 - * - * TODO Pour changer le modčle de ce fichier généré, allez ŕ : - * Fenętre - Préférences - Java - Style de code - Modčles de code - */ -package org.compiere.web; - -import java.io.IOException; -import java.io.PrintWriter; - -import javax.servlet.ServletConfig; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.compiere.util.Util; -import org.compiere.utils.MD5Impl; - -/** - * Servlet Class - * - * @author Michael Judd BF [2728388] - fix potential CSS vulnerability - */ -public class GetMD5FileServlet extends HttpServlet { - - /** - * - */ - private static final long serialVersionUID = -2625917637549702574L; - /** - * - */ - private MD5Impl md5; - - public GetMD5FileServlet() { - super(); - } - - public void init(ServletConfig config) throws ServletException { - super.init(config); - md5 = new MD5Impl(); - } - - protected void doGet(HttpServletRequest req, HttpServletResponse resp) - throws ServletException, - IOException { - // TODO Auto-generated method stub - String file = Util.maskHTML(req.getParameter("File")); - String output = req.getParameter("output"); - if ("text".equalsIgnoreCase(output)) - { - resp.setContentType("text/plain"); - PrintWriter out = resp.getWriter(); - out.print(md5.getFileMD5(file)); - } - else - { - PrintWriter out = resp.getWriter(); - out.println("MD5 Hash"); - out.println("File is: "+ file + "
MD5 : "+ md5.getFileMD5(file)+"
"); - //out.println(md5.getFileAsolutePath(file)); - out.println(""); - } - } - -} \ No newline at end of file diff --git a/org.adempiere.report.jasper.webapp/src/org/compiere/web/MD5Filter.java b/org.adempiere.report.jasper.webapp/src/org/compiere/web/MD5Filter.java deleted file mode 100644 index 6d9445ae14..0000000000 --- a/org.adempiere.report.jasper.webapp/src/org/compiere/web/MD5Filter.java +++ /dev/null @@ -1,111 +0,0 @@ -package org.compiere.web; - -import java.io.IOException; -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - - -/** - * Implementation of javax.servlet.Filter used to compress - * the ServletResponse if it is bigger than a threshold. - * - * @author Amy Roh - * @author Dmitri Valdin - * @version $Revision: 1.2 $, $Date: 2004/03/18 16:40:33 $ - */ - -public class MD5Filter implements Filter{ - - /** - * The filter configuration object we are associated with. If this value - * is null, this filter instance is not currently configured. - */ - private FilterConfig config = null; - - /** - /** - * Place this filter into service. - * - * @param filterConfig The filter configuration object - */ - - public void init(FilterConfig filterConfig) { - - config = filterConfig; - } - - /** - * Take this filter out of service. - */ - public void destroy() { - - this.config = null; - - } - - /** - * The doFilter method of the Filter is called by the container - * each time a request/response pair is passed through the chain due - * to a client request for a resource at the end of the chain. - * The FilterChain passed into this method allows the Filter to pass on the - * request and response to the next entity in the chain.

- * This method first examines the request to check whether the client support - * compression.
- * It simply just pass the request and response if there is no support for - * compression.
- * If the compression support is available, it creates a - * CompressionServletResponseWrapper object which compresses the content and - * modifies the header if the content length is big enough. - * It then invokes the next entity in the chain using the FilterChain object - * (chain.doFilter()),
- **/ - - public void doFilter ( ServletRequest request, ServletResponse response, - FilterChain chain ) throws IOException, ServletException { - - if (request instanceof HttpServletRequest) { - // is md5 request - String s = ((HttpServletRequest)request).getParameter("md5"); - if (!"true".equals(s)) { - chain.doFilter(request, response); - return; - } - } - - if (response instanceof HttpServletResponse) { - MD5ResponseWrapper wrappedResponse = - new MD5ResponseWrapper((HttpServletResponse)response); - try { - chain.doFilter(request, wrappedResponse); - } finally { - wrappedResponse.finishResponse(); - } - return; - } - } - - /** - * Set filter config - * This function is equivalent to init. Required by Weblogic 6.1 - * - * @param filterConfig The filter configuration object - */ - public void setFilterConfig(FilterConfig filterConfig) { - init(filterConfig); - } - - /** - * Return filter config - * Required by Weblogic 6.1 - */ - public FilterConfig getFilterConfig() { - return config; - } - -} diff --git a/org.adempiere.report.jasper.webapp/src/org/compiere/web/MD5OutputStream.java b/org.adempiere.report.jasper.webapp/src/org/compiere/web/MD5OutputStream.java deleted file mode 100644 index 274100ca76..0000000000 --- a/org.adempiere.report.jasper.webapp/src/org/compiere/web/MD5OutputStream.java +++ /dev/null @@ -1,63 +0,0 @@ -/** - * - */ -package org.compiere.web; - -import java.io.IOException; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; -import java.security.NoSuchProviderException; - -import javax.servlet.ServletOutputStream; -import javax.servlet.WriteListener; - -import org.apache.commons.codec.binary.Base64; - -/** - * @author hengsin - * - */ -public class MD5OutputStream extends ServletOutputStream { - - private MessageDigest digestAgent; - - /** - * - */ - public MD5OutputStream() { - try { - digestAgent = MessageDigest.getInstance("MD5", "SUN"); - } catch (NoSuchAlgorithmException e) { - e.printStackTrace(); - } catch (NoSuchProviderException e) { - e.printStackTrace(); - } - } - - /** - * @see java.io.OutputStream#write(int) - */ - @Override - public void write(int b) throws IOException { - digestAgent.update((byte) b); - } - - /** - * @return md5 hash - */ - public String getMD5Hash() { - byte[] digest = digestAgent.digest(); - Base64 base64 = new Base64(); - String digestAsBase64 = new String(base64.encode(digest)); - return digestAsBase64; - } - - @Override - public boolean isReady() { - return true; - } - - @Override - public void setWriteListener(WriteListener arg0) { - } -} diff --git a/org.adempiere.report.jasper.webapp/src/org/compiere/web/MD5ResponseWrapper.java b/org.adempiere.report.jasper.webapp/src/org/compiere/web/MD5ResponseWrapper.java deleted file mode 100644 index 2f5bb1e0c3..0000000000 --- a/org.adempiere.report.jasper.webapp/src/org/compiere/web/MD5ResponseWrapper.java +++ /dev/null @@ -1,75 +0,0 @@ -/** - * - */ -package org.compiere.web; - -import java.io.IOException; -import java.io.PrintWriter; - -import javax.servlet.ServletOutputStream; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpServletResponseWrapper; - -/** - * @author hengsin - * - */ -public class MD5ResponseWrapper extends HttpServletResponseWrapper { - - private ServletOutputStream stream = null; - private PrintWriter writer = null; - private HttpServletResponse origResponse; - - /** - * @param response - */ - public MD5ResponseWrapper(HttpServletResponse response) { - super(response); - origResponse = response; - } - - public void finishResponse() { - if (stream != null) { - String digest = ((MD5OutputStream)stream).getMD5Hash(); - origResponse.setContentType("text/plain"); - origResponse.setContentLength(digest.getBytes().length); - try { - origResponse.getOutputStream().write(digest.getBytes()); - origResponse.getOutputStream().flush(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - - @Override - public ServletOutputStream getOutputStream() throws IOException { - if (writer != null) - throw new IllegalStateException("getWriter() has already been called for this response"); - - if (stream == null) - stream = createOutputStream(); - - return (stream); - } - - @Override - public PrintWriter getWriter() throws IOException { - if (writer != null) - return (writer); - - if (stream != null) - throw new IllegalStateException("getOutputStream() has already been called for this response"); - - stream = createOutputStream(); - - writer = new PrintWriter(stream); - return writer; - } - - private ServletOutputStream createOutputStream() { - stream = new MD5OutputStream(); - return stream; - } - -} diff --git a/org.adempiere.report.jasper/RUN_build.bat b/org.adempiere.report.jasper/RUN_build.bat deleted file mode 100644 index 6500adcd27..0000000000 --- a/org.adempiere.report.jasper/RUN_build.bat +++ /dev/null @@ -1,15 +0,0 @@ -@CALL ..\utils_dev\myDevEnv.bat -@IF NOT %COMPIERE_ENV%==Y GOTO NOBUILD - -@echo Cleanup ... -@%JAVA_HOME%\bin\java -Dant.home="." %ANT_PROPERTIES% org.apache.tools.ant.Main clean - -@echo Building ... -@%JAVA_HOME%\bin\java -Dant.home="." %ANT_PROPERTIES% org.apache.tools.ant.Main dist - -@pause -@exit - -:NOBUILD -@Echo Check myDevEnv.bat (copy from myDevEnvTemplate.bat) -@Pause diff --git a/org.adempiere.report.jasper/RUN_build.sh b/org.adempiere.report.jasper/RUN_build.sh deleted file mode 100644 index f217faaba1..0000000000 --- a/org.adempiere.report.jasper/RUN_build.sh +++ /dev/null @@ -1,18 +0,0 @@ -# Module compiling script -# Ported from Windows script Marek Mosiewicz - - -SAVED_DIR=`pwd` #save current dir -cd `dirname $0`/../utils_dev #change dir to place where script resides - doesn not work with sym links -UTILS_DEV=`pwd` #this is compiere source -cd $SAVED_DIR #back to the saved directory - -. $UTILS_DEV/myDevEnv.sh #call environment -echo done -if [ ! $COMPIERE_ENV==Y ] ; then - echo "Can't set developemeent environemnt - check myDevEnv.sh" - exit 1 -fi - -echo running Ant -$JAVA_HOME/bin/java -Dant.home="." $ANT_PROPERTIES org.apache.tools.ant.Main diff --git a/org.adempiere.report.jasper/scripts/Makefile b/org.adempiere.report.jasper/scripts/Makefile deleted file mode 100644 index 4d01d5bee9..0000000000 --- a/org.adempiere.report.jasper/scripts/Makefile +++ /dev/null @@ -1,22 +0,0 @@ -CVS=cvs -RM=rm -CVSROOT=:pserver:anonymous@cvs.sourceforge.net:/cvsroot/compiere -#JAVAHOME=c:\jdk1.5.0_01 -JAVAHOME=c:\j2sdk1.4.2_06 -JAVAC=$(JAVAHOME)\bin\javac -JAVA=$(JAVAHOME)\bin\java - -#usage at de top directory (containing base, client...) -#make -f JasperReports/scripts/Makefile all -version: - $(JAVAC) JasperReports\scripts\Version.java -classpath lib\Compiere.jar - -patch: version - $(RM) -f JasperReports/patch-$(shell $(JAVA) JasperReports.scripts.Version ).diff - -$(CVS) -d $(CVSROOT) diff -N -u base client data db dbPort extend install interfaces jboss launch looks print serverApps serverRoot utils utils_dev tools webStore>> JasperReports/patch-$(shell $(JAVA) JasperReports.scripts.Version ).diff - -pack: version - $(RM) -f compierejasper-$(shell $(JAVA) JasperReports.scripts.Version ).tar.bz2 - tar -cvjf compierejasper-$(shell $(JAVA) JasperReports.scripts.Version ).tar.bz2 --exclude=JasperReports/lib --exclude=JasperReports/build --exclude=JasperReports/needed JasperReports tools/lib/barbecue-1.1.jar tools/lib/iReport.jar tools/lib/commons-beanutils-1.7.jar tools/lib/itext-1.2.jar tools/lib/commons-collections-3.1.jar tools/lib/commons-digester-1.6.jar tools/lib/commons-logging-1.4.jar tools/lib/jasperreports-0.6.5.jar tools/lib/jfreechart-0.9.21.jar tools/lib/xercesImpl.jar tools/lib/xml-apis.jar - -all: patch pack \ No newline at end of file diff --git a/org.adempiere.report.jasper/scripts/Version.java b/org.adempiere.report.jasper/scripts/Version.java deleted file mode 100644 index 0a847d7ae1..0000000000 --- a/org.adempiere.report.jasper/scripts/Version.java +++ /dev/null @@ -1,14 +0,0 @@ -package JasperReports.scripts; - -import org.compiere.*; - - -class Version -{ - public static void main(String args[]) - { - String version[]; - version = org.compiere.Compiere.MAIN_VERSION.split(" "); - System.out.println(version[1]); - } -} diff --git a/org.adempiere.report.jasper/src/org/adempiere/report/jasper/ReportStarter.java b/org.adempiere.report.jasper/src/org/adempiere/report/jasper/ReportStarter.java index a67255d646..2e22e8a1ad 100644 --- a/org.adempiere.report.jasper/src/org/adempiere/report/jasper/ReportStarter.java +++ b/org.adempiere.report.jasper/src/org/adempiere/report/jasper/ReportStarter.java @@ -28,6 +28,9 @@ import java.math.BigDecimal; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.StandardCopyOption; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -71,6 +74,7 @@ import org.compiere.util.DB; import org.compiere.util.Env; import org.compiere.util.Ini; import org.compiere.util.Language; +import org.compiere.util.Msg; import org.compiere.util.Trx; import org.compiere.util.Util; import org.compiere.utils.DigestOfFile; @@ -197,8 +201,6 @@ public class ReportStarter implements ProcessCall, ClientProcess fout.close(); return downloadedFile; } catch (FileNotFoundException e) { - if(reportLocation.indexOf("Subreport") == -1 && !reportLocation.endsWith(".properties")) // Only show the warning if it is not a subreport or properties - log.warning("404 not found: Report cannot be found on server "+ e.getMessage()); return null; } catch (IOException e) { throw new AdempiereException("I/O error when trying to download (sub)report from server "+ e.getLocalizedMessage()); @@ -254,78 +256,91 @@ public class ReportStarter implements ProcessCall, ClientProcess String downloadedLocalFile = System.getProperty("java.io.tmpdir") + System.getProperty("file.separator")+"TMP" + cleanFile; reportFile = new File(localFile); - - if (reportFile.exists()) - { - String localMD5hash = DigestOfFile.GetLocalMD5Hash(reportFile); - String remoteMD5Hash = getRemoteMD5(reportLocation); - if (log.isLoggable(Level.INFO)) log.info("MD5 for local file is "+localMD5hash ); - if ( remoteMD5Hash != null) + { + String remoteMD5Hash = getRemoteMD5(reportLocation); + if (!Util.isEmpty(remoteMD5Hash, true)) { - if (localMD5hash.equals(remoteMD5Hash)) + String localMD5hash = DigestOfFile.getMD5Hash(reportFile); + if (log.isLoggable(Level.INFO)) log.info("MD5 for local file is "+localMD5hash ); + if (localMD5hash.equals(remoteMD5Hash.trim())) { - if (log.isLoggable(Level.INFO)) log.info(" no need to download: local report is up-to-date"); + if (log.isLoggable(Level.INFO)) log.info("MD5 match: local report file is up-to-date"); + return reportFile; } else { - if (log.isLoggable(Level.INFO)) log.info(" report on server is different that local one, download and replace"); + if (log.isLoggable(Level.INFO)) log.info("MD5 is different, download and replace"); downloadedFile = getRemoteFile(reportLocation, downloadedLocalFile); - reportFile.delete(); - downloadedFile.renameTo(reportFile); + if (downloadedFile != null) + { + Path to = reportFile.toPath(); + Path from = downloadedFile.toPath(); + Files.copy(from, to, StandardCopyOption.REPLACE_EXISTING); + return to.toFile(); + } + else + { + return null; + } } } else { - log.warning("Remote hashing is not available did you deployed webApp.ear?"); downloadedFile = getRemoteFile(reportLocation, downloadedLocalFile); - // compare hash of existing and downloaded - if ( DigestOfFile.md5localHashCompare(reportFile,downloadedFile) ) + if (downloadedFile == null) + return null; + + // compare hash of existing and downloaded + if ( DigestOfFile.md5HashCompare(reportFile,downloadedFile) ) { //nothing file are identical - if (log.isLoggable(Level.INFO)) log.info(" no need to replace your existing report"); + if (log.isLoggable(Level.INFO)) log.info("MD5 match: local report file is up-to-date"); + return reportFile; } else { - if (log.isLoggable(Level.INFO)) log.info(" report on server is different that local one, replacing"); - reportFile.delete(); - downloadedFile.renameTo(reportFile); + if (log.isLoggable(Level.INFO)) log.info("MD5 is different, replace with downloaded file"); + Path to = reportFile.toPath(); + Path from = downloadedFile.toPath(); + Files.copy(from, to, StandardCopyOption.REPLACE_EXISTING); + return to.toFile(); } } } else { reportFile = getRemoteFile(reportLocation,localFile); + return reportFile; } } catch (Exception e) { throw new AdempiereException("Unknown exception: "+ e.getLocalizedMessage()); - } - return reportFile; + } } private String getRemoteMD5(String reportLocation) { - try{ - String md5url = reportLocation; - if (md5url.indexOf("?") > 0) - md5url = md5url + "&md5=true"; - else - md5url = md5url + "?md5=true"; + try { + String md5url = reportLocation + ".md5"; URL reportURL = new URL(md5url); - InputStream in = reportURL.openStream(); - - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - byte buf[] = new byte[1024]; - int s = 0; - while((s = in.read(buf, 0, 1024)) > 0) - baos.write(buf, 0, s); - - in.close(); - String hash = new String(baos.toByteArray()); - return hash; + try (InputStream in = reportURL.openStream()) { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + byte buf[] = new byte[1024]; + int s = 0; + while((s = in.read(buf, 0, 1024)) > 0) + baos.write(buf, 0, s); + + String hash = new String(baos.toByteArray()); + int posSpace = hash.indexOf(" "); + if (posSpace > 0) + hash = hash.substring(0, posSpace); + return hash; + } } catch (IOException e) { - throw new AdempiereException("I/O error when trying to download (sub)report from server "+ e.getLocalizedMessage()); + if (log.isLoggable(Level.INFO)) + log.log(Level.INFO, "MD5 not available for " + reportLocation, e); + return null; } } @@ -388,7 +403,8 @@ public class ReportStarter implements ProcessCall, ClientProcess } ReportData reportData = getReportData(pi, trxName); if (reportData == null) { - reportResult(AD_PInstance_ID, "Can not find report data", trxName); + reportResult(AD_PInstance_ID, "Failed to retrieve report data", trxName); + pi.setSummary("Failed to retrieve report data", true); return false; } @@ -401,6 +417,7 @@ public class ReportStarter implements ProcessCall, ClientProcess if (Util.isEmpty(reportPath, true)) { reportResult(AD_PInstance_ID, "Can not find report", trxName); + pi.setSummary("Can not find report", true); return false; } if (reportPath.startsWith("@#LocalHttpAddr@")) { @@ -430,6 +447,7 @@ public class ReportStarter implements ProcessCall, ClientProcess String tmp = "Can not find report file at path - " + reportPath; log.severe(tmp); reportResult(AD_PInstance_ID, tmp, trxName); + pi.setSummary(tmp, true); } if (reportFile != null) @@ -860,6 +878,7 @@ public class ReportStarter implements ProcessCall, ClientProcess processInfo.setRowCount(nrows); } reportResult( AD_PInstance_ID, null, trxName); + pi.setSummary(Msg.getMsg(Env.getCtx(), "Success"), false); return true; } @@ -1182,7 +1201,7 @@ public class ReportStarter implements ProcessCall, ClientProcess String downloadedLocalFile = System.getProperty("java.io.tmpdir") + System.getProperty("file.separator")+"TMP" + entry.getName(); File reportFile = new File(localFile); if (reportFile.exists()) { - String localMD5hash = DigestOfFile.GetLocalMD5Hash(reportFile); + String localMD5hash = DigestOfFile.getMD5Hash(reportFile); String entryMD5hash = DigestOfFile.getMD5Hash(entry.getData()); if (localMD5hash.equals(entryMD5hash)) { diff --git a/org.adempiere.report.jasper/src/org/compiere/utils/DigestOfFile.java b/org.adempiere.report.jasper/src/org/compiere/utils/DigestOfFile.java index 724b54023c..2bf6fdb7ba 100644 --- a/org.adempiere.report.jasper/src/org/compiere/utils/DigestOfFile.java +++ b/org.adempiere.report.jasper/src/org/compiere/utils/DigestOfFile.java @@ -4,9 +4,11 @@ import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; +import java.security.DigestInputStream; import java.security.MessageDigest; import org.apache.commons.codec.binary.Base64; +import org.apache.commons.codec.binary.Hex; /** * @author rlemeill @@ -32,14 +34,13 @@ public class DigestOfFile synchronized public byte[] digestAsByteArray(File file) throws Exception { digestAgent.reset(); - InputStream is = new BufferedInputStream(new FileInputStream(file)); - for (int bytesRead = 0; (bytesRead = is.read(buffer)) >= 0;) + try (InputStream is = new BufferedInputStream(new FileInputStream(file)); + DigestInputStream dis = new DigestInputStream(is, digestAgent)) { - digestAgent.update(buffer, 0, bytesRead); - } - is.close(); - byte[] digest = digestAgent.digest(); - return digest; + while(dis.read() != -1){} + byte[] digest = digestAgent.digest(); + return digest; + } } public synchronized byte[] digestAsByteArray(byte[] input) throws Exception @@ -76,13 +77,31 @@ public class DigestOfFile return digestAsBase64; } + /** + * + * @param file + * @return hex encoded md5 string + * @throws Exception + */ + public synchronized String digestAsHex(File file) throws Exception + { + byte[] digest = digestAsByteArray(file); + return Hex.encodeHexString(digest); + } - - //private static final char[] HEX_CHARS = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'}; - + /** + * + * @param input + * @return hex encoded md5 string + * @throws Exception + */ + public synchronized String digestAsHex(byte[] input) throws Exception + { + byte[] digest = digestAsByteArray(input); + return Hex.encodeHexString(digest); + } + private MessageDigest digestAgent; - //private Base64 base64Encoder = new Base64(); - private byte[] buffer = new byte[4096]; /** * @author rlemeill @@ -114,15 +133,15 @@ public class DigestOfFile * @param file2 second file to compare * @return true if files are identic false otherwise */ - public static boolean md5localHashCompare(File file1,File file2) + public static boolean md5HashCompare(File file1,File file2) { //compute Hash of exisiting and downloaded String hashFile1; String hashFile2; try{ DigestOfFile md5DigestAgent = new DigestOfFile("MD5"); - hashFile1 = md5DigestAgent.digestAsBase64(file1); - hashFile2 = md5DigestAgent.digestAsBase64(file2); + hashFile1 = md5DigestAgent.digestAsHex(file1); + hashFile2 = md5DigestAgent.digestAsHex(file2); return hashFile1.equals(hashFile2) ; } catch (Exception e) { @@ -134,13 +153,15 @@ public class DigestOfFile * @param file * @return md5 hash null if file is not found or other error */ - public static String GetLocalMD5Hash(File file) + public static String getMD5Hash(File file) { String hash; - try{ + try + { DigestOfFile md5DigestAgent = new DigestOfFile("MD5"); - hash = md5DigestAgent.digestAsBase64(file); - return hash; } + hash = md5DigestAgent.digestAsHex(file); + return hash; + } catch (Exception e) { return null; //if there is an error during comparison return files are difs @@ -155,10 +176,12 @@ public class DigestOfFile public static String getMD5Hash(byte[] input) { String hash; - try{ + try + { DigestOfFile md5DigestAgent = new DigestOfFile("MD5"); - hash = md5DigestAgent.digestAsBase64(input); - return hash; } + hash = md5DigestAgent.digestAsHex(input); + return hash; + } catch (Exception e) { return null; //if there is an error during comparison return files are difs diff --git a/org.adempiere.report.jasper.webapp/standalone.jrxml b/org.adempiere.report.jasper/test/standalone.jrxml similarity index 63% rename from org.adempiere.report.jasper.webapp/standalone.jrxml rename to org.adempiere.report.jasper/test/standalone.jrxml index 324e199a68..7b509c9b61 100644 --- a/org.adempiere.report.jasper.webapp/standalone.jrxml +++ b/org.adempiere.report.jasper/test/standalone.jrxml @@ -28,124 +28,100 @@ The quick brown fox jumps over the lazy dog.]]> - + - + - The quick brown fox jumps over the lazy dog.]]> + The quick brown fox jumps over the lazy dog.]]> - + - + - The quick brown fox jumps over the lazy dog.]]> + The quick brown fox jumps over the lazy dog.]]> - - - - - - - - - - The quick brown fox jumps over the lazy dog.]]> - - - - - - - - - - - - The quick brown fox jumps over the lazy dog.]]> - - - + - + - The quick brown fox jumps over the lazy dog.]]> + The quick brown fox jumps over the lazy dog.]]> - + - + - The quick brown fox jumps over the lazy dog.]]> + The quick brown fox jumps over the lazy dog.]]> - + - + - The quick brown fox jumps over the lazy dog.]]> + The quick brown fox jumps over the lazy dog.]]> - + - + - The quick brown fox jumps over the lazy dog.]]> + The quick brown fox jumps over the lazy dog.]]> - + - + - The quick brown fox jumps over the lazy dog.]]> + The quick brown fox jumps over the lazy dog.]]> - + - + - The quick brown fox jumps over the lazy dog.]]> + The quick brown fox jumps over the lazy dog.]]> diff --git a/org.adempiere.server-feature/feature.xml b/org.adempiere.server-feature/feature.xml index 986b6b3330..f2ce1c22c8 100644 --- a/org.adempiere.server-feature/feature.xml +++ b/org.adempiere.server-feature/feature.xml @@ -82,13 +82,6 @@ version="0.0.0" unpack="false"/> - - - diff --git a/org.adempiere.server-feature/server.product.launch b/org.adempiere.server-feature/server.product.launch index b8c3b6e294..b9d48921f0 100644 --- a/org.adempiere.server-feature/server.product.launch +++ b/org.adempiere.server-feature/server.product.launch @@ -353,7 +353,6 @@ - diff --git a/pom.xml b/pom.xml index e4e48dcfe6..96887af1f7 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,6 @@ org.adempiere.replication.server org.adempiere.report.jasper.library org.adempiere.report.jasper - org.adempiere.report.jasper.webapp org.adempiere.server org.adempiere.ui org.adempiere.ui.zk