diff --git a/KOST-Simy/src/main/java/ch/kostceco/tools/kostsimy/KOSTSimy.java b/KOST-Simy/src/main/java/ch/kostceco/tools/kostsimy/KOSTSimy.java index 4eb21a8..6949f77 100644 --- a/KOST-Simy/src/main/java/ch/kostceco/tools/kostsimy/KOSTSimy.java +++ b/KOST-Simy/src/main/java/ch/kostceco/tools/kostsimy/KOSTSimy.java @@ -768,8 +768,11 @@ private static boolean compFile( File origDir, String logFileName, File director if ( reportImId.exists() ) { Util.deleteDir( reportImId ); } + File maskImgcmp = new File( directoryOfLogfile.getAbsolutePath() + File.separator + + origDir.getName() + "_mask.jpg" ); + LOGGER.logError( kostsimy.getTextResourceService() - .getText( MESSAGE_XML_VALERGEBNIS_INVALID ) ); + .getText( MESSAGE_XML_VALERGEBNIS_INVALID, maskImgcmp.getName() ) ); LOGGER .logError( kostsimy.getTextResourceService().getText( MESSAGE_XML_VALERGEBNIS_CLOSE ) ); System.out.println( "Dissimilar" ); diff --git a/KOST-Simy/src/main/java/ch/kostceco/tools/kostsimy/comparison/moduleim/impl/CompareImageModuleImpl.java b/KOST-Simy/src/main/java/ch/kostceco/tools/kostsimy/comparison/moduleim/impl/CompareImageModuleImpl.java index c2411c0..fc3d40e 100644 --- a/KOST-Simy/src/main/java/ch/kostceco/tools/kostsimy/comparison/moduleim/impl/CompareImageModuleImpl.java +++ b/KOST-Simy/src/main/java/ch/kostceco/tools/kostsimy/comparison/moduleim/impl/CompareImageModuleImpl.java @@ -55,6 +55,8 @@ public boolean validate( File origDatei, File repDatei, File directoryOfLogfile // boolean isValidFailed = false; boolean compResult = false; int allInt = 0; + boolean allNoInt = false; + String allStr = ""; // Initialisierung ImageMagick -> überprüfen der Angaben: existiert die compare.exe am angebenen // Ort? @@ -82,7 +84,7 @@ public boolean validate( File origDatei, File repDatei, File directoryOfLogfile } else if ( imToleranceTxt.equalsIgnoreCase( "S" ) ) { // small = 2% imTolerance = "2%"; - percentageInvalid = (float) 99.999999; + percentageInvalid = (float) 99.9999; } else if ( imToleranceTxt.equalsIgnoreCase( "L" ) ) { // large = 10% imTolerance = "10%"; @@ -90,12 +92,12 @@ public boolean validate( File origDatei, File repDatei, File directoryOfLogfile } else if ( imToleranceTxt.equalsIgnoreCase( "XL" ) ) { // xlarge = 15% imTolerance = "15%"; - percentageInvalid = (float) 99.99; + percentageInvalid = (float) 99.9; } else { // medium = 5% imTolerance = "5%"; imToleranceTxt = "M"; - percentageInvalid = (float) 99.9999; + percentageInvalid = (float) 99.999; } String pathToCompareExe = fCompareExe.getAbsolutePath(); @@ -113,13 +115,11 @@ public boolean validate( File origDatei, File repDatei, File directoryOfLogfile String pathToMask = directoryOfLogfile.getAbsolutePath() + File.separator + origDatei.getName() + "_mask.jpg"; - /* compare -fuzz 15% -metric AE -quiet -identify -verbose -highlight-color DarkMagenta - * Image_1.jpg Image_2.jpg mask.jpg >>results_id.txt 2>results.txt */ - // String command = - // "resources\\ImageMagick-6.9.2-Q16\\Compare.exe -fuzz 5% -metric AE -quiet -identify -verbose -highlight-color DarkMagenta C:\\TEMP\\tiff2pdfa2\\palazzo_3.jpg C:\\TEMP\\tiff2pdfa2\\palazzo.jpg logs\\palazzo_3.jpg_mask.jpg >>logs\\palazzo_3.jpg_identify_report.txt 2>logs\\palazzo_3.jpg_compare_report.txt"; + /* compare -fuzz 15% -metric AE -quiet -identify -verbose -highlight-color DarkRed Image_1.jpg + * Image_2.jpg mask.jpg >>results_id.txt 2>results.txt */ String command = "cmd /c \"" + pathToCompareExe + " -fuzz " + imTolerance - + " -metric AE -quiet -identify -verbose -highlight-color DarkMagenta \"" + + " -metric AE -quiet -identify -verbose -highlight-color DarkRed \"" + origDatei.getAbsolutePath() + "\" " + "\"" + repDatei.getAbsolutePath() + "\" \"" + pathToMask + "\" >>" + pathToOutputId + " 2>" + pathToOutput + "\""; /* Das redirect Zeichen verunmöglicht eine direkte eingabe. mit dem geschachtellten Befehl @@ -216,18 +216,20 @@ public boolean validate( File origDatei, File repDatei, File directoryOfLogfile * * in den ersten zwei zeilen sind die eigenschaften der beiden Bilder enthalten * - * Danach die Anzahl Pixel mit einer grösseren Abweichung aus, einerseits für Grau und - * allg. - * - * 0= vergleichbar */ + * Danach die Anzahl Pixel mit einer grösseren Abweichung aus, allg: 0= vergleichbar */ if ( line.contains( " all: " ) ) { if ( line.contains( " all: 0" ) ) { allNull = true; } else { /* Invalide Px extrahieren " all: 3563" extrahieren */ String lineReportAll = line.substring( 9 ); - // lineReport = 3563 - allInt = Integer.parseInt( lineReportAll ); + try { + // lineReport = 3563 + allInt = Integer.parseInt( lineReportAll ); + } catch ( Exception e ) { + allNoInt = true; + allStr = lineReportAll; + } } } @@ -305,34 +307,51 @@ public boolean validate( File origDatei, File repDatei, File directoryOfLogfile } if ( !compResult ) { // Bildvergleich nicht bestanden + if ( allNoInt ) { + /* Bilder mit vielen Pixels die Abweichen (Potenz -> String): Vereinfachte Fehlerausgabe */ + double z2 = 0; - /* Bilder mit einer Abweichung: Prozent ermitteln und mit percentageInvalid abgleichen */ - double z1 = 0; - double z2 = 0; - float percentageCalc = (float) 0.0; - float percentageCalcInv = (float) 0.0; - - /* Invalide z1 [allInt] und total px z2 aus imgPx1 " Pixels: 8809392" extrahieren */ - String lineReport = imgPx1.substring( 12 ); - // lineReport = 8809392 - z2 = Double.parseDouble( lineReport ); - z1 = allInt; + /* Invalide [allStr] und total px z2 aus imgPx1 " Pixels: 8809392" extrahieren */ + String lineReport = imgPx1.substring( 12 ); + // lineReport = 8809392 + z2 = Double.parseDouble( lineReport ); - percentageCalc = (float) (100 - (100 / z2 * z1)); - percentageCalcInv = 100 - percentageCalc; - - // Prozetzahlen vergleichen - if ( percentageInvalid > percentageCalc ) { - // Bilder mit einer grösseren Abweichung isValid = false; getMessageService().logError( getTextResourceService().getText( MESSAGE_XML_MODUL_CI ) - + getTextResourceService().getText( ERROR_XML_CI_CIINVALID, percentageCalcInv, - z2, imToleranceTxt, z1 ) ); + + getTextResourceService().getText( ERROR_XML_CI_CIINVALIDSTR, z2, + imToleranceTxt, allStr ) ); + + } else { + /* Bilder mit einer Abweichung (Int): Prozent ermitteln und mit percentageInvalid + * abgleichen */ + double z1 = 0; + double z2 = 0; + float percentageCalc = (float) 0.0; + float percentageCalcInv = (float) 0.0; + + /* Invalide z1 [allInt] und total px z2 aus imgPx1 " Pixels: 8809392" extrahieren */ + String lineReport = imgPx1.substring( 12 ); + // lineReport = 8809392 + z2 = Double.parseDouble( lineReport ); + z1 = allInt; + + percentageCalc = (float) (100 - (100 / z2 * z1)); + percentageCalcInv = 100 - percentageCalc; + + // Prozetzahlen vergleichen + if ( percentageInvalid > percentageCalc ) { + // Bilder mit einer grösseren Abweichung + isValid = false; + + getMessageService().logError( + getTextResourceService().getText( MESSAGE_XML_MODUL_CI ) + + getTextResourceService().getText( ERROR_XML_CI_CIINVALID, percentageCalcInv, + z2, imToleranceTxt, z1 ) ); + } } } - in.close(); } catch ( Exception e ) { getMessageService().logError( diff --git a/KOST-Simy/src/main/java/ch/kostceco/tools/kostsimy/logging/MessageConstants.java b/KOST-Simy/src/main/java/ch/kostceco/tools/kostsimy/logging/MessageConstants.java index 9fb5635..f7d5e13 100644 --- a/KOST-Simy/src/main/java/ch/kostceco/tools/kostsimy/logging/MessageConstants.java +++ b/KOST-Simy/src/main/java/ch/kostceco/tools/kostsimy/logging/MessageConstants.java @@ -86,6 +86,7 @@ public interface MessageConstants String ERROR_XML_IMCMP_SERVICEFAILED = "error.xml.imcmp.servicefailed"; String ERROR_XML_IMCMP_NOREPORT = "error.xml.imcmp.noreport"; String ERROR_XML_CI_CIINVALID = "error.xml.ci.ciinvalid"; + String ERROR_XML_CI_CIINVALIDSTR = "error.xml.ci.ciinvalidstr"; String ERROR_XML_CI_SIZEINVALID = "error.xml.ci.sizeinvalid"; String ERROR_XML_CI_PIXELINVALID = "error.xml.ci.pixelinvalid"; } diff --git a/KOST-Simy/src/main/resources/de_messages.properties b/KOST-Simy/src/main/resources/de_messages.properties index e4bff6b..0c5f7bb 100644 --- a/KOST-Simy/src/main/resources/de_messages.properties +++ b/KOST-Simy/src/main/resources/de_messages.properties @@ -38,7 +38,7 @@ message.xml.image1 = message.xml.image2 = message.xml.logend = message.xml.valergebnis.valid = similar -message.xml.valergebnis.invalid = dissimilar +message.xml.valergebnis.invalid = {0}dissimilar message.xml.valergebnis.notvalidated = not compared message.xml.valergebnis.close = @@ -49,22 +49,23 @@ message.xml.configuration.error.1 = Das Konfigurations-File konnte nich message.xml.configuration.error.2 = Im gleichen Verzeichnis wie das ".jar"-File muss sich ein Ordner namens "configuration" befinden. message.xml.configuration.error.3 = Im configuration-Ordner wiederum muss die Konfigurationsdatei "kostsimy.conf.xml" liegen. -error.xml.unknown = Ein unbekannter Fehler ist aufgetreten. {0} +error.xml.unknown = Ein unbekannter Fehler ist aufgetreten. -> {0} # *************Modul-Meldungen************************************************************************* # Modul PDF Extract -error.xml.pdfa.jpeg = In der PDF-Datei enthalte JPEG-Datei konnte nicht extrahiert werden. ({0}) -> Bildvergleich abgebrochen! -error.xml.pdfa.jp2 = In der PDF-Datei enthalte JP2-Datei konnte nicht extrahiert werden. ({0}) -> Bildvergleich abgebrochen! -error.xml.pdfa.jpegs = In der PDF-Datei sind {0} JPEGs enthalten. Unterstuetzt wird nur 1 JPEG oder JP2. -> Bildvergleich abgebrochen! -error.xml.pdfa.jp2s = In der PDF-Datei sind {0} JP2s enthalten. Unterstuetzt wird nur 1 JPEG oder JP2. -> Bildvergleich abgebrochen! -error.xml.pdfa.jpegjp2 = In der PDF-Datei sind {0} JPEGs und {1} JP2s enthalten. Unterstuetzt wird nur 1 JPEG oder JP2. -> Bildvergleich abgebrochen! -error.xml.pdfa.jbig2 = In der PDF-Datei sind {0} JBIG2 enthalten. Unterstuetzt wird nur 1 JPEG oder JP2. -> Bildvergleich abgebrochen! -error.xml.pdfa.ccitt = In der PDF-Datei sind {0} CCITT enthalten. Unterstuetzt wird nur 1 JPEG oder JP2. -> Bildvergleich abgebrochen! +error.xml.pdfa.jpeg = In der PDF-Datei enthalte JPEG-Datei konnte nicht extrahiert werden. ({0}) -> Bildvergleich abgebrochen! +error.xml.pdfa.jp2 = In der PDF-Datei enthalte JP2-Datei konnte nicht extrahiert werden. ({0}) -> Bildvergleich abgebrochen! +error.xml.pdfa.jpegs = In der PDF-Datei sind {0} JPEGs enthalten. Unterstuetzt wird nur 1 JPEG oder JP2. -> Bildvergleich abgebrochen! +error.xml.pdfa.jp2s = In der PDF-Datei sind {0} JP2s enthalten. Unterstuetzt wird nur 1 JPEG oder JP2. -> Bildvergleich abgebrochen! +error.xml.pdfa.jpegjp2 = In der PDF-Datei sind {0} JPEGs und {1} JP2s enthalten. Unterstuetzt wird nur 1 JPEG oder JP2. -> Bildvergleich abgebrochen! +error.xml.pdfa.jbig2 = In der PDF-Datei sind {0} JBIG2 enthalten. Unterstuetzt wird nur 1 JPEG oder JP2. -> Bildvergleich abgebrochen! +error.xml.pdfa.ccitt = In der PDF-Datei sind {0} CCITT enthalten. Unterstuetzt wird nur 1 JPEG oder JP2. -> Bildvergleich abgebrochen! # Modul CI -error.xml.imcmp.missing = Compare.exe von ImageMagick existiert nicht in den Ressourcen. Bitte Originalressourcen nicht veraendern. -> Bildvergleich abgebrochen! -error.xml.imcmp.servicefailed = Bei der Verwendung von ImageMagickCompare ist eine unbekannter Fehler aufgetreten. -> Bildvergleich abgebrochen! Fehler: {0} -error.xml.imcmp.noreport = Das System kann {0} nicht finden -> Bildvergleich abgebrochen! -error.xml.ci.ciinvalid = Der ImageMagickCompare-Vergleich wurde nicht bestanden. {0}% ({3}px von {1}px) unterscheiden sich (Konfigurierte Toleranz: {2}). -error.xml.ci.sizeinvalid = Die Beiden Bilder sind nicht gleich gross: Original {0} - Replica {1}. -> Bildvergleich abgebrochen! -error.xml.ci.pixelinvalid = Die Beiden Bilder haben nicht gleich viele Pixels: Original {0} - Replica {1}. +error.xml.imcmp.missing = Compare.exe von ImageMagick existiert nicht in den Ressourcen. Bitte Originalressourcen nicht veraendern. -> Bildvergleich abgebrochen! +error.xml.imcmp.servicefailed = Bei der Verwendung von ImageMagickCompare ist eine unbekannter Fehler aufgetreten. -> Fehler: {0} -> Bildvergleich abgebrochen! +error.xml.imcmp.noreport = Das System kann {0} nicht finden! -> Bildvergleich abgebrochen! +error.xml.ci.ciinvalid = Der ImageMagickCompare-Vergleich wurde nicht bestanden. -> {0}% ({3}px von {1}px) unterscheiden sich. -> Konfigurierte Toleranz: {2}. +error.xml.ci.ciinvalidstr = Der ImageMagickCompare-Vergleich wurde nicht bestanden. -> {2}px von {0}px unterscheiden sich. -> Konfigurierte Toleranz: {1}. +error.xml.ci.sizeinvalid = Die Beiden Bilder sind nicht gleich gross: -> Original {0} - Replica {1}. -> Bildvergleich abgebrochen! +error.xml.ci.pixelinvalid = Die Beiden Bilder haben nicht gleich viele Pixels: -> Original {0} - Replica {1}. diff --git a/KOST-Simy/src/main/resources_notJar/doc/KOST-Simy_Anwendungshandbuch_v0.0.1.pdf b/KOST-Simy/src/main/resources_notJar/doc/KOST-Simy_Anwendungshandbuch_v0.0.1.pdf deleted file mode 100644 index 6456149..0000000 Binary files a/KOST-Simy/src/main/resources_notJar/doc/KOST-Simy_Anwendungshandbuch_v0.0.1.pdf and /dev/null differ diff --git a/KOST-Simy/src/main/resources_notJar/doc/KOST-Simy_Anwendungshandbuch_v0.0.4.pdf b/KOST-Simy/src/main/resources_notJar/doc/KOST-Simy_Anwendungshandbuch_v0.0.4.pdf new file mode 100644 index 0000000..ecf7fc0 Binary files /dev/null and b/KOST-Simy/src/main/resources_notJar/doc/KOST-Simy_Anwendungshandbuch_v0.0.4.pdf differ diff --git a/KOST-Simy/src/main/resources_notJar/resources/kost-simy.xsl b/KOST-Simy/src/main/resources_notJar/resources/kost-simy.xsl index ab76f93..2cddf25 100644 --- a/KOST-Simy/src/main/resources_notJar/resources/kost-simy.xsl +++ b/KOST-Simy/src/main/resources_notJar/resources/kost-simy.xsl @@ -82,27 +82,42 @@
- - + +
- - - -> - +
+ + + + +
+ + + -> + +
+ + + + + + + +
+ + + + + + + + +
+
+
+
- - - - - - - -
- - - -

diff --git a/KOST-Simy_FuntionalPrincipleSimilarityCheck.JPG b/KOST-Simy_FuntionalPrincipleSimilarityCheck.JPG index 7eae1c5..c6eb536 100644 Binary files a/KOST-Simy_FuntionalPrincipleSimilarityCheck.JPG and b/KOST-Simy_FuntionalPrincipleSimilarityCheck.JPG differ