Skip to content

Commit

Permalink
version 2.4-beta
Browse files Browse the repository at this point in the history
  • Loading branch information
rzeh4n committed Feb 26, 2024
1 parent 1055915 commit 2984fd9
Show file tree
Hide file tree
Showing 1,010 changed files with 60,440 additions and 2,446 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
group 'nkp.pspValidator'
version '2.3'
version '2.4-beta'

System.setProperty("file.encoding", "UTF-8")

Expand Down
2 changes: 1 addition & 1 deletion cliModule/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ dependencies {
}

group 'nkp.pspValidator'
version '2.3'
version '2.4-beta'

//https://www.mkyong.com/gradle/gradle-create-a-jar-file-with-dependencies/
task fatJar(type: Jar) {
Expand Down
3 changes: 2 additions & 1 deletion cliModule/src/main/java/npk/pspValidator/cli/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -748,7 +748,7 @@ private static void printHelp(Options options) {
" --" + Params.FORCED_DMF_PER_VERSION + " a" +
" --" + Params.FORCED_DMF_ADG_VERSION + "." +
" Dále je potřeba pomocí --config-dir uvést adresář, který obsahuje definice fDMF," +
" např. monograph_2.0, periodical_1.9, nebo audio_gram_0.5.\n" +
" např. monograph_2.1, periodical_2.0, nebo audio_gram_0.5.\n" +
"\n" +
"Výroba minifikovaného balíku:\n" +
"----------------------------\n" +
Expand Down Expand Up @@ -1005,6 +1005,7 @@ private static void detectImageTools(PrintStream out, ExternalUtilManager extern
for (ExternalUtil util : ExternalUtil.values()) {
if (utilsDisabled.contains(util)) {
out.println(String.format("Vypnuto použití nástroje %s.", util.getUserFriendlyName()));
externalUtilManager.setUtilDisabled(util);
} else {
out.print(String.format("Kontroluji dostupnost nástroje %s: ", util.getUserFriendlyName()));
if (!externalUtilManager.isVersionDetectionDefined(util)) {
Expand Down
70 changes: 49 additions & 21 deletions cliModule/src/test/java/nkp/pspValidator/cli/MainTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ public class MainTest {
private static final String MON_1_2 = "../sharedModule/src/test/resources/monograph_1.2/b50eb6b0-f0a4-11e3-b72e-005056827e52";
private static final String MON_1_2_MAP = "../sharedModule/src/test/resources/monograph_1.2_map/6e9a7000-65c0-11e6-85af-005056827e52";
private static final String MON_1_2_INVALID_IMAGES = "../sharedModule/src/test/resources/monograph_1.2-invalid_images/b50eb6b0-f0a4-11e3-b72e-005056827e52";
private static final String MON_2_0_SINGLEVOLUME = "/Users/martin/IdeaProjects/komplexni-validator-samples/src/test/resources/monografie/vzorovy_balicek_monografie_2.1_jednosvazkova/0ad7d080-aa89-11ec-adf7-5ef3fc9bb22f";
private static final String MON_2_0_MULTIVOLUME = "/Users/martin/IdeaProjects/komplexni-validator-samples/src/test/resources/monografie/vzorovy_balicek_monografie_2.1_vicesvazkova/47647030-3fb3-11e7-ad33-5ef3fc9ae867";

private static final String PER_1_6 = "../sharedModule/src/test/resources/periodical_1.6/7033d800-0935-11e4-beed-5ef3fc9ae867";

Expand All @@ -43,47 +45,58 @@ public class MainTest {

@org.junit.Test
public void cli() throws InvalidXPathExpressionException, PspDataException, ValidatorConfigurationException, XmlFileParsingException, FdmfRegistry.UnknownFdmfException {

Platform platform = Platform.detectOs();
String configDir = null;
String imageMagickPath = null;
String jhovePath = null;
String jpylyzerPath = null;
String kakaduPath = null;
String xmlProtocolsDir = null;

String MON_1_2_INVALIDIMAGES = null;

switch (platform.getOperatingSystem()) {
case WINDOWS:
configDir = "..\\sharedModule\\src\\main\\resources\\nkp\\pspValidator\\shared\\validatorConfig";
imageMagickPath = "C:\\Program Files\\ImageMagick-7.0.3-Q16";
jhovePath = "C:\\Users\\Lenovo\\Documents\\software\\jhove";
jpylyzerPath = "C:\\Users\\Lenovo\\Documents\\software\\jpylyzer_1.17.0_win64";
jhovePath = "C:\\Users\\Lenovo\\OneDrive\\Dokumenty\\software\\jhove-1.29";
jpylyzerPath = "C:\\Users\\Lenovo\\OneDrive\\Dokumenty\\software\\jpylyzer_2.2.0_win64";
kakaduPath = "C:\\Program Files (x86)\\Kakadu\\";
xmlProtocolsDir = "C:\\Users\\Lenovo\\komplexni-validator-protocols";
MON_1_2_INVALIDIMAGES = "C:\\Users\\Lenovo\\tmp\\b50eb6b0-f0a4-11e3-b72e-005056827e52";
break;
case LINUX:
configDir = "../sharedModule/src/main/resources/nkp/pspValidator/shared/validatorConfig";
jhovePath = "/home/martin/Software/jhove-1.29";
kakaduPath = "/home/martin/zakazky/NKP-Komplexni_Validator/utility/kakadu/KDU78_Demo_Apps_for_Linux-x86-64_160226";
xmlProtocolsDir = "/home/martin/tmp/komplexni-validator-protocols";
MON_1_2_INVALIDIMAGES = "/home/martin/tmp/b50eb6b0-f0a4-11e3-b72e-005056827e52";
break;
case MAC:
configDir = "../sharedModule/src/main/resources/nkp/pspValidator/shared/validatorConfig";
jhovePath = "/Users/martinrehanek/Software/jhove";
jhovePath = "/Users/martin/Software/jhove-1.29";
imageMagickPath = "/opt/local/bin";
jpylyzerPath = "/Users/martinrehanek/Software/jpylyzer-1.17.0/jpylyzer";
xmlProtocolsDir = "/Users/martin/tmp/komplexni-validator-protocols";
MON_1_2_INVALIDIMAGES = "/Users/martin/tmp/b50eb6b0-f0a4-11e3-b72e-005056827e52";
break;
}

Validator.DevParams devParams = new Validator.DevParams();

//devParams.getSectionsToRun().add("Soubor CHECKSUM");
//devParams.getSectionsToRun().add("Soubor INFO");
//devParams.getSectionsToRun().add("Struktura souborů");
//devParams.getSectionsToRun().add("Bibliografická metadata");
//devParams.getSectionsToRun().add("Identifikátory");
//devParams.getSectionsToRun().add("Obrazová data");
devParams.getSectionsToRun().add("Soubor CHECKSUM");
devParams.getSectionsToRun().add("Soubor INFO");
devParams.getSectionsToRun().add("Struktura souborů");
devParams.getSectionsToRun().add("Bibliografická metadata");
//devParams.getSectionsToRun().add("ALTO");
//devParams.getSectionsToRun().add("Technická metadata");
//devParams.getSectionsToRun().add("METS hlavičky");
//devParams.getSectionsToRun().add("Autorskoprávní metadata");
//devParams.getSectionsToRun().add("Sekundární METS filesec");
//devParams.getSectionsToRun().add("Strukturální mapy");
devParams.getSectionsToRun().add("Identifikátory");
//devParams.getSectionsToRun().add("Obrazová data");
/*devParams.getSectionsToRun().add("ALTO");
devParams.getSectionsToRun().add("Technická metadata");
devParams.getSectionsToRun().add("METS hlavičky");
devParams.getSectionsToRun().add("Autorskoprávní metadata");
devParams.getSectionsToRun().add("Sekundární METS filesec");
devParams.getSectionsToRun().add("Strukturální mapy");*/

Main.main(devParams, buildParams(
Action.VALIDATE_PSP,
Expand All @@ -94,7 +107,10 @@ public void cli() throws InvalidXPathExpressionException, PspDataException, Vali
//, MON_1_2
//, MON_1_2_MAP
//, MON_1_2_INVALID_IMAGES
, MON_1_4
//, MON_1_4
//, MON_1_2_INVALIDIMAGES
//, MON_2_0_SINGLEVOLUME
, MON_2_0_MULTIVOLUME
//, PER_1_4
//, PER_1_6
//, PER_1_6_INFO_INVALID_NS
Expand All @@ -111,12 +127,12 @@ public void cli() throws InvalidXPathExpressionException, PspDataException, Vali
//, "1.4"
//, "1.6"
//, null
, "2.0"
, null//, "2.0"
, null
//, "1.4"
//, "1.6"
, 2 //verbosity
, "/tmp/protocols"
, 2 //verbosity (3: vsechno, 2: jen sekce a pravidla s chybami a popisy jednotlivych chyb, 1: jen pocty chyb v sekcich s chybami, bez popisu jednotlivych chyb, 0: nic)
, xmlProtocolsDir //xml protocol dir
, null//"src/test/resources/protocol.xml" //xml protocol
, imageMagickPath //null //imageMagick path
, jhovePath //jhove path
Expand All @@ -126,6 +142,9 @@ public void cli() throws InvalidXPathExpressionException, PspDataException, Vali
, true //disable jhove
, true //disable jpylyzer
, true//disable kakadu
, true //disable mp3val
, true //disable shntool
, true //disable checkmate
));
}

Expand All @@ -135,7 +154,8 @@ private String[] buildParams(Action action,
String preferDmfModVersion, String preferDmfPerVersion, String forceDmfModVersion, String forceDmfPerVersion,
Integer verbosity, String xmlProtocolDir, String xmlProtocolFile,
String imageMagickPath, String jhovePath, String jpylyzerPath, String kakaduPath,
boolean disableImageMagick, boolean disableJhove, boolean disableJpylyzer, boolean disableKakadu
boolean disableImageMagick, boolean disableJhove, boolean disableJpylyzer, boolean disableKakadu,
boolean disableMp3val, boolean disableShntool, boolean disableCheckmate
) {
List<String> params = new ArrayList<>();
//action
Expand Down Expand Up @@ -226,7 +246,15 @@ private String[] buildParams(Action action,
if (disableKakadu) {
params.add(String.format("--%s", Params.DISABLE_KAKADU));
}

if (disableMp3val) {
params.add(String.format("--%s", Params.DISABLE_MP3VAL));
}
if (disableShntool) {
params.add(String.format("--%s", Params.DISABLE_SHNTOOL));
}
if (disableCheckmate) {
params.add(String.format("--%s", Params.DISABLE_CHECKMATE));
}
Object[] array = params.toArray();
return Arrays.copyOf(array, array.length, String[].class);
}
Expand Down
Binary file not shown.
Binary file added installers/Linux/opf-jpylyzer_2.2.0_all.deb
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added installers/Windows/jpylyzer_2.2.0_win64.zip
Binary file not shown.
4 changes: 2 additions & 2 deletions javaFxModule/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ repositories {
//https://github.com/FibreFoX/javafx-gradle-plugin

group 'nkp.pspValidator'
version '2.3'
version '2.4-beta'

//sourceCompatibility = 1.8

Expand Down Expand Up @@ -94,7 +94,7 @@ jfx {

//bundler = 'windows.app'//bundler='ALL'
appName = 'KomplexniValidatorGUI'
nativeReleaseVersion = "2.3"
nativeReleaseVersion = "2.4-beta"

//additionalAppResources = ['../sharedModule/src/main/resources/nkp/pspValidator/shared','src/main/resources/config']
additionalAppResources = '../sharedModule/src/main/resources/nkp/pspValidator/shared'
Expand Down
2 changes: 1 addition & 1 deletion sharedModule/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
//https://www.jetbrains.com/help/idea/gradle.html#gradle_version_install

group 'nkp.pspValidator'
version '2.3'
version '2.4-beta'

apply plugin: 'java'
apply plugin: 'application'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
public class DmfDetector {


public static final String DEFAULT_MONOGRAPH_VERSION = "2.0";
public static final String DEFAULT_PERIODICAL_VERSION = "1.9";
public static final String DEFAULT_MONOGRAPH_VERSION = "2.1";
public static final String DEFAULT_PERIODICAL_VERSION = "2.0";
public static final String DEFAULT_AUDIO_GRAM_VERSION = "0.5";
public static final String DEFAULT_AUDIO_FONO_VERSION = "0.3";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,10 @@ public static Platform detectOs() {
//http://stackoverflow.com/questions/10846105/all-possible-values-os-arch-in-32bit-jre-and-in-64bit-jre
String osArch = System.getProperty("os.arch");
OsArchitecture osArchitecture = null;
if (osArch.contains("32") || osArch.contains("x86")) {
osArchitecture = OsArchitecture.B32;
} else if (osArch.contains("64")) {
if (osArch.contains("64")) {
osArchitecture = OsArchitecture.B64;
} else if (osArch.contains("32") || osArch.contains("x86")) {
osArchitecture = OsArchitecture.B32;
}

return new Platform(operatingSystem, osArchitecture, osName, osArch);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ public class Version {
/**
* Version code may contain up to one hyphen separating actual version code from suffix dev/alpha/beta, etc.
*/
public static String VERSION_CODE = "2.3";
public static String BUILD_DATE = "29. 5. 2023";
public static String VERSION_CODE = "2.4-beta";
public static String BUILD_DATE = "26. 2. 2024";
}
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,9 @@ public ValidationResult validate() {

private ValidationResult validate(Level level, List<File> files, ResourceType type, ExternalUtilExecution execution) {
BinaryFileValidator validator = engine.getBinaryFileValidator();
if (!validator.isUtilAvailable(execution.getUtil())) {
if (validator.isUtilDisabled(execution.getUtil())) {
return singlErrorResult(invalid(Level.INFO, null, "nástroj %s je vypnutý", execution.getUtil().getUserFriendlyName()));
} else if (!validator.isUtilAvailable(execution.getUtil())) {
return singlErrorResult(invalid(Level.INFO, null, "nástroj %s není dostupný", execution.getUtil().getUserFriendlyName()));
} else if (!validator.isUtilExecutionDefined(execution)) {
return singlErrorResult(invalid(Level.INFO, null, "pro nástroj %s není definováno spuštění '%s'", execution.getUtil().getUserFriendlyName(), execution.getName()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@

import java.io.File;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

Expand All @@ -18,6 +20,7 @@ public class ExternalUtilManager {
private final Map<ExternalUtilExecution, UtilHandler> utilExecutionHandlers;
private final Map<String, Boolean> utilAvailable = new HashMap<>();

private final Set<ExternalUtil> utilsDisabled = new HashSet<>();

public ExternalUtilManager(Map<ExternalUtil, UtilHandler> utilVersionDetectionHandlers, Map<ExternalUtilExecution, UtilHandler> utilExecutionHandlers) {
this.utilVersionDetectionHandlers = utilVersionDetectionHandlers;
Expand All @@ -27,6 +30,14 @@ public ExternalUtilManager(Map<ExternalUtil, UtilHandler> utilVersionDetectionHa
}
}

public void setUtilDisabled(ExternalUtil util) {
utilsDisabled.add(util);
}

public boolean isUtilDisabled(ExternalUtil util) {
return utilsDisabled.contains(util);
}

public boolean isVersionDetectionDefined(ExternalUtil type) {
return utilVersionDetectionHandlers.containsKey(type);
}
Expand Down Expand Up @@ -152,5 +163,4 @@ private String parseData(String rawOutput, Parser parser) {
}
}


}
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ public BinaryFileValidator(ExternalUtilManager externalUtilManager) {
this.externalUtilManager = externalUtilManager;
}

public boolean isUtilDisabled(ExternalUtil util) {
return externalUtilManager.isUtilDisabled(util);
}

public boolean isUtilAvailable(ExternalUtil util) {
return externalUtilManager.isUtilAvailable(util);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ public MetadataProfile parseProfile(File profileXmlFile) throws ValidatorConfigu
private void checkValidatorVersionCorrect(String versionFromProfile, File profileXmlFile) throws ValidatorConfigurationException {
String versionPure = Version.VERSION_CODE;
if (versionPure.contains("-")) {
//everything after "-" is fair game, i.e. validator in version 2.0-dev-whatever will work with metadata-profile with validatorVersion="2.3"
//everything after "-" is fair game, i.e. validator in version 2.0-dev-whatever will work with metadata-profile with validatorVersion="2.0"
versionPure = versionPure.split("-")[0];
}
if (!versionPure.equals(versionFromProfile)) {
Expand Down
Loading

0 comments on commit 2984fd9

Please sign in to comment.