Skip to content

Commit

Permalink
KOST-Simy v0.0.4_DE
Browse files Browse the repository at this point in the history
===================
 - Log mit Maske ergänzen
 - Handbuch Deutsch
TODO:
 - Handbücher EN & FR
 - Englische und Französische Version
  • Loading branch information
Chlara committed Sep 10, 2015
1 parent 5bd6fa1 commit a4e6e53
Show file tree
Hide file tree
Showing 8 changed files with 107 additions and 68 deletions.
Expand Up @@ -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" );
Expand Down
Expand Up @@ -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?
Expand Down Expand Up @@ -82,20 +84,20 @@ 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%";
percentageInvalid = (float) 99.99;
} 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();

Expand All @@ -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
Expand Down Expand Up @@ -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;
}
}
}

Expand Down Expand Up @@ -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(
Expand Down
Expand Up @@ -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";
}
31 changes: 16 additions & 15 deletions KOST-Simy/src/main/resources/de_messages.properties
Expand Up @@ -38,7 +38,7 @@ message.xml.image1 = <Image>
message.xml.image2 = </Image>
message.xml.logend = </KOSTSimyLog>
message.xml.valergebnis.valid = <Similar>similar</Similar>
message.xml.valergebnis.invalid = <Dissimilar>dissimilar</Dissimilar>
message.xml.valergebnis.invalid = <Mask>{0}</Mask><Dissimilar>dissimilar</Dissimilar>
message.xml.valergebnis.notvalidated = <NotCompared>not compared</NotCompared>
message.xml.valergebnis.close = </Comparison>

Expand All @@ -49,22 +49,23 @@ message.xml.configuration.error.1 = <Message>Das Konfigurations-File konnte nich
message.xml.configuration.error.2 = <Message>Im gleichen Verzeichnis wie das ".jar"-File muss sich ein Ordner namens "configuration" befinden.</Message></Error>
message.xml.configuration.error.3 = <Message>Im configuration-Ordner wiederum muss die Konfigurationsdatei "kostsimy.conf.xml" liegen.</Message></Error>

error.xml.unknown = <Message>Ein unbekannter Fehler ist aufgetreten. {0}</Message></Error>
error.xml.unknown = <Message>Ein unbekannter Fehler ist aufgetreten.</Message><Message> -> {0}</Message></Error>

# *************Modul-Meldungen*************************************************************************
# Modul PDF Extract
error.xml.pdfa.jpeg = <Message>In der PDF-Datei enthalte JPEG-Datei konnte nicht extrahiert werden. ({0}) -> Bildvergleich abgebrochen!</Message></Error>
error.xml.pdfa.jp2 = <Message>In der PDF-Datei enthalte JP2-Datei konnte nicht extrahiert werden. ({0}) -> Bildvergleich abgebrochen!</Message></Error>
error.xml.pdfa.jpegs = <Message>In der PDF-Datei sind {0} JPEGs enthalten. Unterstuetzt wird nur 1 JPEG oder JP2. -> Bildvergleich abgebrochen!</Message></Error>
error.xml.pdfa.jp2s = <Message>In der PDF-Datei sind {0} JP2s enthalten. Unterstuetzt wird nur 1 JPEG oder JP2. -> Bildvergleich abgebrochen!</Message></Error>
error.xml.pdfa.jpegjp2 = <Message>In der PDF-Datei sind {0} JPEGs und {1} JP2s enthalten. Unterstuetzt wird nur 1 JPEG oder JP2. -> Bildvergleich abgebrochen!</Message></Error>
error.xml.pdfa.jbig2 = <Message>In der PDF-Datei sind {0} JBIG2 enthalten. Unterstuetzt wird nur 1 JPEG oder JP2. -> Bildvergleich abgebrochen!</Message></Error>
error.xml.pdfa.ccitt = <Message>In der PDF-Datei sind {0} CCITT enthalten. Unterstuetzt wird nur 1 JPEG oder JP2. -> Bildvergleich abgebrochen!</Message></Error>
error.xml.pdfa.jpeg = <Message>In der PDF-Datei enthalte JPEG-Datei konnte nicht extrahiert werden. ({0})</Message><Message> -> Bildvergleich abgebrochen!</Message></Error>
error.xml.pdfa.jp2 = <Message>In der PDF-Datei enthalte JP2-Datei konnte nicht extrahiert werden. ({0})</Message><Message> -> Bildvergleich abgebrochen!</Message></Error>
error.xml.pdfa.jpegs = <Message>In der PDF-Datei sind {0} JPEGs enthalten. Unterstuetzt wird nur 1 JPEG oder JP2.</Message><Message> -> Bildvergleich abgebrochen!</Message></Error>
error.xml.pdfa.jp2s = <Message>In der PDF-Datei sind {0} JP2s enthalten. Unterstuetzt wird nur 1 JPEG oder JP2.</Message><Message> -> Bildvergleich abgebrochen!</Message></Error>
error.xml.pdfa.jpegjp2 = <Message>In der PDF-Datei sind {0} JPEGs und {1} JP2s enthalten. Unterstuetzt wird nur 1 JPEG oder JP2.</Message><Message> -> Bildvergleich abgebrochen!</Message></Error>
error.xml.pdfa.jbig2 = <Message>In der PDF-Datei sind {0} JBIG2 enthalten. Unterstuetzt wird nur 1 JPEG oder JP2.</Message><Message> -> Bildvergleich abgebrochen!</Message></Error>
error.xml.pdfa.ccitt = <Message>In der PDF-Datei sind {0} CCITT enthalten. Unterstuetzt wird nur 1 JPEG oder JP2.</Message><Message> -> Bildvergleich abgebrochen!</Message></Error>

# Modul CI
error.xml.imcmp.missing = <Message>Compare.exe von ImageMagick existiert nicht in den Ressourcen. Bitte Originalressourcen nicht veraendern. -> Bildvergleich abgebrochen!</Message></Error>
error.xml.imcmp.servicefailed = <Message>Bei der Verwendung von ImageMagickCompare ist eine unbekannter Fehler aufgetreten. -> Bildvergleich abgebrochen! Fehler: {0}</Message></Error>
error.xml.imcmp.noreport = <Message>Das System kann {0} nicht finden -> Bildvergleich abgebrochen!</Message></Error>
error.xml.ci.ciinvalid = <Message>Der ImageMagickCompare-Vergleich wurde nicht bestanden. {0}% ({3}px von {1}px) unterscheiden sich (Konfigurierte Toleranz: {2}).</Message></Error>
error.xml.ci.sizeinvalid = <Message>Die Beiden Bilder sind nicht gleich gross: Original {0} - Replica {1}. -> Bildvergleich abgebrochen!</Message></Error>
error.xml.ci.pixelinvalid = <Message>Die Beiden Bilder haben nicht gleich viele Pixels: Original {0} - Replica {1}.</Message></Error>
error.xml.imcmp.missing = <Message>Compare.exe von ImageMagick existiert nicht in den Ressourcen. Bitte Originalressourcen nicht veraendern.</Message><Message> -> Bildvergleich abgebrochen!</Message></Error>
error.xml.imcmp.servicefailed = <Message>Bei der Verwendung von ImageMagickCompare ist eine unbekannter Fehler aufgetreten.</Message><Message> -> Fehler: {0}</Message><Message> -> Bildvergleich abgebrochen!</Message></Error>
error.xml.imcmp.noreport = <Message>Das System kann {0} nicht finden!</Message><Message> -> Bildvergleich abgebrochen!</Message></Error>
error.xml.ci.ciinvalid = <Message>Der ImageMagickCompare-Vergleich wurde nicht bestanden.</Message><Message> -> {0}% ({3}px von {1}px) unterscheiden sich.</Message><Message> -> Konfigurierte Toleranz: {2}.</Message></Error>
error.xml.ci.ciinvalidstr = <Message>Der ImageMagickCompare-Vergleich wurde nicht bestanden.</Message><Message> -> {2}px von {0}px unterscheiden sich.</Message><Message> -> Konfigurierte Toleranz: {1}.</Message></Error>
error.xml.ci.sizeinvalid = <Message>Die Beiden Bilder sind nicht gleich gross:</Message><Message> -> Original {0} - Replica {1}.</Message><Message> -> Bildvergleich abgebrochen!</Message></Error>
error.xml.ci.pixelinvalid = <Message>Die Beiden Bilder haben nicht gleich viele Pixels:</Message><Message> -> Original {0} - Replica {1}.</Message></Error>
Binary file not shown.
Binary file not shown.
51 changes: 33 additions & 18 deletions KOST-Simy/src/main/resources_notJar/resources/kost-simy.xsl
Expand Up @@ -82,27 +82,42 @@
<xsl:if test="Dissimilar">
<div>
<table width="100%">
<tr class="caption">
<td>
<xsl:value-of select="ValType" />
<xsl:value-of select="PdfaVL" />
->
<xsl:value-of select="ValFile" />
<tr class="captionm">
<td width="80%" valign="top">
<table width="100%">
<tr class="caption">
<td>
<xsl:value-of select="ValType" />
<xsl:value-of select="PdfaVL" />
->
<xsl:value-of select="ValFile" />
</td>
</tr>
</table>
<table width="100%">
<xsl:for-each select="Error">
<tr class="captionm">
<td width="25%" valign="top">
<xsl:value-of select="Modul" />
</td>
<td width="75%" valign="top">
<table width="100%">
<xsl:for-each select="Message">
<tr class="captionm">
<xsl:value-of select="." />
</tr>
</xsl:for-each>
</table>
</td>
</tr>
</xsl:for-each>
</table>
</td>
<td width="20%">
<a href="{Mask}" target="_blank"> <img src="{Mask}" alt="" title="Click to view" border="0" width="100" /></a>
</td>
</tr>
</table>
<table width="100%">
<xsl:for-each select="Error">
<tr class="captionm">
<td width="25%">
<xsl:value-of select="Modul" />
</td>
<td width="75%">
<xsl:value-of select="Message" />
</td>
</tr>
</xsl:for-each>
</table>
</div>
<br />
</xsl:if>
Expand Down
Binary file modified KOST-Simy_FuntionalPrincipleSimilarityCheck.JPG
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit a4e6e53

Please sign in to comment.