diff --git a/build.gradle b/build.gradle index aaf31d1..d9c2bf9 100644 --- a/build.gradle +++ b/build.gradle @@ -128,7 +128,7 @@ processResources { } dependencies { - implementation('org.cip4.lib.jdf:JDFLibJ:2.+') { + api('org.cip4.lib.jdf:JDFLibJ:2.+') { exclude group: 'xml-apis' } @@ -140,7 +140,8 @@ dependencies { implementation 'org.apache.commons:commons-fileupload2-jakarta-servlet6:2.+' implementation 'jakarta.servlet:jakarta.servlet-api:6.1.0' implementation 'com.sun.mail:jakarta.mail:2.0.1' - + implementation 'org.apache.commons:commons-lang3:3.18.0' + implementation 'org.apache.logging.log4j:log4j-core:2.24.1' implementation 'org.apache.logging.log4j:log4j-jcl:2.25.2' diff --git a/index.html b/index.html new file mode 100644 index 0000000..96f0b0c --- /dev/null +++ b/index.html @@ -0,0 +1,284 @@ + + + + + CIP4 JDF Toolbox + + + + + + + + + + + + + + + + + + + +
+ + +
+
+

CheckJDF

+

+ Checks the validity of an uploaded JDF or ZIP file and reports + problems. + Note the known buglet that ZIP files should not contain + any + non-ascii + characters. +

+
+
+
+
+
+
+ + + +
+ +
+
+ + + +
+
+
+ + +
+ + + +
+
+ + +
+
+ + +
+ +
+
+ +
+ + +
+
+ + +
+ +
+
+ +
+ + +
+ +
+
+ +

+ Note that the device capabilities translation feature is still + work + in + progress although the results in the raw output should be + correct. +

+
+
+
+
+
+ + +
+
+

FixJDF

+

+ Updates a JDF, JMF, XJDF or XJMF File to a selected version, + replacing deprecated syntax with recommended syntax. +

+
+
+
+
+
+
+ + +
+ +
+
+ + + +
+
+
+ +
+ +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ +
+
+ + JDFToolbox + build ${build} (${timestamp}) + based on JDFLibJ ${jdflibj.version} + +
+
+
+
+ + + \ No newline at end of file diff --git a/src/main/java/org/cip4/jdflib/generator/GeneratorStringUtil.java b/src/main/java/org/cip4/jdflib/generator/GeneratorStringUtil.java index 35c5aa1..4cfcd4b 100755 --- a/src/main/java/org/cip4/jdflib/generator/GeneratorStringUtil.java +++ b/src/main/java/org/cip4/jdflib/generator/GeneratorStringUtil.java @@ -45,7 +45,7 @@ public static String getStrAllCopyrightInformation() strCopyrightInfo.append(" * The CIP4 Software License, Version 1.0").append(strLineEnd); strCopyrightInfo.append(" *").append(strLineEnd); strCopyrightInfo.append(" *").append(strLineEnd); - strCopyrightInfo.append(" * Copyright (c) 2001-2024 The International Cooperation for the Integration of").append(strLineEnd); + strCopyrightInfo.append(" * Copyright (c) 2001-2025 The International Cooperation for the Integration of").append(strLineEnd); strCopyrightInfo.append(" * Processes in Prepress, Press and Postpress (CIP4). All rights").append(strLineEnd); strCopyrightInfo.append(" * reserved.").append(strLineEnd); strCopyrightInfo.append(" *").append(strLineEnd); diff --git a/src/main/java/org/cip4/jdflib/generator/JavaCoreStringUtil.java b/src/main/java/org/cip4/jdflib/generator/JavaCoreStringUtil.java index 8b72e08..f635cf2 100755 --- a/src/main/java/org/cip4/jdflib/generator/JavaCoreStringUtil.java +++ b/src/main/java/org/cip4/jdflib/generator/JavaCoreStringUtil.java @@ -40,6 +40,7 @@ import org.apache.commons.lang.enums.ValuedEnum; import org.cip4.jdflib.core.JDFConstants; import org.cip4.jdflib.core.JDFCoreConstants; +import org.cip4.jdflib.util.StringUtil; // imports @@ -219,7 +220,8 @@ private static void appendImportAndStartOfClass(final String strJDFAutoFileName, strbufResult.append(strDepth1).append("/**").append(strLineEnd); strbufResult.append(strDepth1).append("*****************************************************************************").append(strLineEnd); - strbufResult.append(strDepth1).append("class ").append(strJDFAutoFileName).append(" : public ").append(strExtends).append(strLineEnd).append(strLineEnd); + strbufResult.append(strDepth1).append("class ").append(strJDFAutoFileName).append(" : public ").append(strExtends).append(strLineEnd) + .append(strLineEnd); strbufResult.append(strDepth1).append("*****************************************************************************").append(strLineEnd); strbufResult.append(strDepth1).append("*/").append(strLineEnd).append(strLineEnd); @@ -265,6 +267,10 @@ else if ("MaxVersion".equals(attributeName)) { enumType = "EnumVersion"; } + else if ("Surface".equals(attributeName)) + { + enumType = "EnumFace"; + } else if ("UpdatedStatus".equals(attributeName) || "MinStatus".equals(attributeName) || "MinLateStatus".equals(attributeName)) { enumType = "JDFResource.EnumResStatus"; @@ -280,16 +286,24 @@ else if ("LinkUsage".equals(attributeName)) else if ("Usage".equals(attributeName)) { if ("InsertSheet".equals(complexTypeName)) + { enumType = "EnumSheetUsage"; + } else + { enumType = "JDFResourceLink.EnumUsage"; + } } else if ("Classes".equals(attributeName)) { if ("ResourceQuParams".equals(complexTypeName)) + { enumType = "JDFResource.EnumResourceClass"; + } else if (complexTypeName.startsWith("Notification")) + { enumType = "EnumClass"; + } } else if ("Usage".equals(attributeName) && "InsertSheet".equals(complexTypeName)) { @@ -309,9 +323,9 @@ else if ("DeviceStatus".equals(attributeName) && "ModuleStatus".equals(complexTy String defaultValue = schemaAttribute.getStrDefault(); defaultValue = defaultValue.equals(JDFConstants.EMPTYSTRING) ? "null" : "\"" + defaultValue + "\""; - strbufResult.append(strDepth2).append("atrInfoTable[").append(i).append("] = new AtrInfoTable(AttributeName.").append(attributeName.toUpperCase()).append(", 0x") - .append(versionInfo).append(", AttributeInfo.EnumAttributeType.").append(enumAttributeType).append(", ").append(enumType).append(", ").append(defaultValue) - .append(");").append(strLineEnd); + strbufResult.append(strDepth2).append("atrInfoTable[").append(i).append("] = new AtrInfoTable(AttributeName.").append(attributeName.toUpperCase()) + .append(", 0x").append(versionInfo).append(", AttributeInfo.EnumAttributeType.").append(enumAttributeType).append(", ").append(enumType) + .append(", ").append(defaultValue).append(");").append(strLineEnd); } strbufResult.append(strDepth1).append("}").append(strLineEnd); @@ -393,7 +407,8 @@ private static void appendElemInfoTable(final Vector vElements, final StringBuff final int siz2 = elementsForVersion.size(); if (siz2 > 0) { - strbufResult.append(strDepth1).append("private static ElemInfoTable[] elemInfoTable = new ElemInfoTable[").append(siz2).append("];").append(strLineEnd); + strbufResult.append(strDepth1).append("private static ElemInfoTable[] elemInfoTable = new ElemInfoTable[").append(siz2).append("];") + .append(strLineEnd); strbufResult.append(strDepth1).append("static").append(strLineEnd); strbufResult.append(strDepth1).append("{").append(strLineEnd); @@ -402,11 +417,11 @@ private static void appendElemInfoTable(final Vector vElements, final StringBuff final SchemaElement element = (SchemaElement) elementsForVersion.elementAt(i); final String elemName = element.getStrElementName().toUpperCase(); - final String versionInfo = GeneratorUtil.getVersionInfoElements(element.getIsOptionalElement(), element.getFirstVersion(), element.getLastVersion(), - element.getStrMaxOccurs()); + final String versionInfo = GeneratorUtil.getVersionInfoElements(element.getIsOptionalElement(), element.getFirstVersion(), + element.getLastVersion(), element.getStrMaxOccurs()); - strbufResult.append(strDepth2).append("elemInfoTable[").append(i).append("] = new ElemInfoTable(ElementName.").append(elemName).append(", 0x").append(versionInfo) - .append(");").append(strLineEnd); + strbufResult.append(strDepth2).append("elemInfoTable[").append(i).append("] = new ElemInfoTable(ElementName.").append(elemName).append(", 0x") + .append(versionInfo).append(");").append(strLineEnd); } strbufResult.append(strDepth1).append("}").append(strLineEnd); @@ -540,118 +555,168 @@ else if (base.startsWith("jdf:Intent")) return baseOf; } - /** - */ - private static void appendEnumTypes(final Vector vAttributes, final String complexTypeName, final StringBuffer strbufResult) + private static void appendEnumTypes(final Vector vAttributes, final String complexTypeName, final StringBuffer strbufResult0) { for (int i = 0; i < vAttributes.size(); i++) { final SchemaAttribute schemaAttribute = (SchemaAttribute) vAttributes.elementAt(i); - final String attributeName = schemaAttribute.getStrAttributeName(); + String attributeName = schemaAttribute.getStrAttributeName(); if (useEnumAttribute(schemaAttribute.getIsEnum(), attributeName, complexTypeName, true)) { - String attributeTypeName = "Enum" + attributeName; - if ("Status".equals(attributeName)) + for (final boolean useJava : new boolean[] { true, false }) { - // just some specials for QueueStatus and QueueEntryStatus. The - // attribute has to be handled like "Status" - // but to be called as "QueueStatus" and "QueueEntryStatus" - attributeTypeName = getTypeName(complexTypeName); - } - - strbufResult.append(strDepth2).append("/**").append(strLineEnd); - strbufResult.append(strDepth2).append("* Enumeration strings for ").append(attributeTypeName.substring(4)).append(strLineEnd); - strbufResult.append(strDepth2).append("*/").append(strLineEnd).append(strLineEnd); - strbufResult.append(strDepth2).append("@SuppressWarnings(\"rawtypes\")").append(strLineEnd); - - strbufResult.append(strDepth2).append("public static class ").append(attributeTypeName).append(" extends ValuedEnum").append(strLineEnd); - strbufResult.append(strDepth2).append("{").append(strLineEnd); - strbufResult.append(strDepth2).append(" private static final long serialVersionUID = 1L;").append(strLineEnd); - strbufResult.append(strDepth2).append(" private static int m_startValue = 0;").append(strLineEnd).append(strLineEnd); - - strbufResult.append(strDepth2).append(" protected ").append(attributeTypeName).append("(String name)").append(strLineEnd); - strbufResult.append(strDepth2).append(" {").append(strLineEnd); - strbufResult.append(strDepth2).append(" super(name, m_startValue++);").append(strLineEnd); - strbufResult.append(strDepth2).append(" }").append(strLineEnd).append(strLineEnd); + final StringBuffer strbufResult = new StringBuffer(); + String attributeTypeName = (useJava ? "E" : "Enum") + attributeName; + if ("Status".equals(attributeName)) + { + // just some specials for QueueStatus and QueueEntryStatus. The + // attribute has to be handled like "Status" + // but to be called as "QueueStatus" and "QueueEntryStatus" + attributeTypeName = getTypeName(complexTypeName); + if (useJava) + { + attributeTypeName = StringUtil.replaceString(attributeTypeName, "Enum", "E"); + attributeName = StringUtil.replaceString(attributeName, "Enum", "E"); + } + } + else if ("Surface".equals(attributeName)) + { + attributeTypeName = (useJava ? "EFace" : "EnumFace"); + } - strbufResult.append(strDepth1).append("/**").append(strLineEnd); - strbufResult.append(strDepth1).append(" * @param enumName the string to convert").append(strLineEnd); - strbufResult.append(strDepth1).append(" * @return the enum").append(strLineEnd); - strbufResult.append(strDepth1).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append(" public static ").append(attributeTypeName).append(" getEnum(String enumName)").append(strLineEnd); - strbufResult.append(strDepth2).append(" {").append(strLineEnd); - strbufResult.append(strDepth2).append(" return (").append(attributeTypeName).append(") getEnum(").append(attributeTypeName).append(".class, enumName);") - .append(strLineEnd); - strbufResult.append(strDepth2).append(" }").append(strLineEnd).append(strLineEnd); + if (useJava) + { + strbufResult.append(strDepth2).append("/**").append(strLineEnd); + strbufResult.append(strDepth2).append("* Enumeration strings for ").append(attributeTypeName.substring(1)).append(strLineEnd); + strbufResult.append(strDepth2).append("*/").append(strLineEnd).append(strLineEnd); + strbufResult.append(strDepth2).append("public enum ").append(attributeTypeName).append(" {").append(strLineEnd); + } + else + { + strbufResult.append(strDepth2).append("/**").append(strLineEnd); + strbufResult.append(strDepth2).append("* Enumeration strings for ").append(attributeTypeName.substring(4)).append(strLineEnd); + strbufResult.append(strDepth2).append("*/").append(strLineEnd).append(strLineEnd); + strbufResult.append(strDepth2).append("@SuppressWarnings(\"rawtypes\")").append(strLineEnd); - strbufResult.append(strDepth1).append("/**").append(strLineEnd); - strbufResult.append(strDepth1).append(" * @param enumValue the integer to convert").append(strLineEnd); - strbufResult.append(strDepth1).append(" * @return the enum").append(strLineEnd); - strbufResult.append(strDepth1).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append(" public static ").append(attributeTypeName).append(" getEnum(int enumValue)").append(strLineEnd); - strbufResult.append(strDepth2).append(" {").append(strLineEnd); - strbufResult.append(strDepth2).append(" return (").append(attributeTypeName).append(") getEnum(").append(attributeTypeName).append(".class, enumValue);") - .append(strLineEnd); - strbufResult.append(strDepth2).append(" }").append(strLineEnd).append(strLineEnd); + strbufResult.append(strDepth2).append("public static class ").append(attributeTypeName).append(" extends ValuedEnum") + .append(strLineEnd); + strbufResult.append(strDepth2).append("{").append(strLineEnd); + strbufResult.append(strDepth2).append(" private static final long serialVersionUID = 1L;").append(strLineEnd); + strbufResult.append(strDepth2).append(" private static int m_startValue = 0;").append(strLineEnd).append(strLineEnd); - strbufResult.append(strDepth1).append("/**").append(strLineEnd); - strbufResult.append(strDepth1).append(" * @return the map of enums").append(strLineEnd); - strbufResult.append(strDepth1).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append(" public static Map getEnumMap()").append(strLineEnd); - strbufResult.append(strDepth2).append(" {").append(strLineEnd); - strbufResult.append(strDepth2).append(" return getEnumMap(").append(attributeTypeName).append(".class);").append(strLineEnd); - strbufResult.append(strDepth2).append(" }").append(strLineEnd).append(strLineEnd); + strbufResult.append(strDepth2).append(" protected ").append(attributeTypeName).append("(String name)").append(strLineEnd); + strbufResult.append(strDepth2).append(" {").append(strLineEnd); + strbufResult.append(strDepth2).append(" super(name, m_startValue++);").append(strLineEnd); + strbufResult.append(strDepth2).append(" }").append(strLineEnd).append(strLineEnd); - strbufResult.append(strDepth1).append("/**").append(strLineEnd); - strbufResult.append(strDepth1).append(" * @return the list of enums").append(strLineEnd); - strbufResult.append(strDepth1).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append(" public static List getEnumList()").append(strLineEnd); - strbufResult.append(strDepth2).append(" {").append(strLineEnd); - strbufResult.append(strDepth2).append(" return getEnumList(").append(attributeTypeName).append(".class);").append(strLineEnd); - strbufResult.append(strDepth2).append(" }").append(strLineEnd).append(strLineEnd); + strbufResult.append(strDepth1).append("/**").append(strLineEnd); + strbufResult.append(strDepth1).append(" * @param enumName the string to convert").append(strLineEnd); + strbufResult.append(strDepth1).append(" * @return the enum").append(strLineEnd); + strbufResult.append(strDepth1).append(" */").append(strLineEnd); + strbufResult.append(strDepth2).append(" public static ").append(attributeTypeName).append(" getEnum(String enumName)") + .append(strLineEnd); + strbufResult.append(strDepth2).append(" {").append(strLineEnd); + strbufResult.append(strDepth2).append(" return (").append(attributeTypeName).append(") getEnum(").append(attributeTypeName) + .append(".class, enumName);").append(strLineEnd); + strbufResult.append(strDepth2).append(" }").append(strLineEnd).append(strLineEnd); - strbufResult.append(strDepth1).append("/**").append(strLineEnd); - strbufResult.append(strDepth1).append(" * @return the iterator").append(strLineEnd); - strbufResult.append(strDepth1).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append(" public static Iterator iterator()").append(strLineEnd); - strbufResult.append(strDepth2).append(" {").append(strLineEnd); - strbufResult.append(strDepth2).append(" return iterator(").append(attributeTypeName).append(".class);").append(strLineEnd); - strbufResult.append(strDepth2).append(" }").append(strLineEnd).append(strLineEnd); + strbufResult.append(strDepth1).append("/**").append(strLineEnd); + strbufResult.append(strDepth1).append(" * @param enumValue the integer to convert").append(strLineEnd); + strbufResult.append(strDepth1).append(" * @return the enum").append(strLineEnd); + strbufResult.append(strDepth1).append(" */").append(strLineEnd); + strbufResult.append(strDepth2).append(" public static ").append(attributeTypeName).append(" getEnum(int enumValue)") + .append(strLineEnd); + strbufResult.append(strDepth2).append(" {").append(strLineEnd); + strbufResult.append(strDepth2).append(" return (").append(attributeTypeName).append(") getEnum(").append(attributeTypeName) + .append(".class, enumValue);").append(strLineEnd); + strbufResult.append(strDepth2).append(" }").append(strLineEnd).append(strLineEnd); - final Vector vEnumValues = schemaAttribute.getEnumValues(); - for (int j = 0; j < vEnumValues.size(); j++) - { - final String enumValue = (String) vEnumValues.elementAt(j); + strbufResult.append(strDepth1).append("/**").append(strLineEnd); + strbufResult.append(strDepth1).append(" * @return the map of enums").append(strLineEnd); + strbufResult.append(strDepth1).append(" */").append(strLineEnd); + strbufResult.append(strDepth2).append(" public static Map getEnumMap()").append(strLineEnd); + strbufResult.append(strDepth2).append(" {").append(strLineEnd); + strbufResult.append(strDepth2).append(" return getEnumMap(").append(attributeTypeName).append(".class);").append(strLineEnd); + strbufResult.append(strDepth2).append(" }").append(strLineEnd).append(strLineEnd); - strbufResult.append(strDepth3).append("/** */").append(strLineEnd); - strbufResult.append(strDepth3).append("public static final ").append(attributeTypeName).append(" "); + strbufResult.append(strDepth1).append("/**").append(strLineEnd); + strbufResult.append(strDepth1).append(" * @return the list of enums").append(strLineEnd); + strbufResult.append(strDepth1).append(" */").append(strLineEnd); + strbufResult.append(strDepth2).append(" public static List getEnumList()").append(strLineEnd); + strbufResult.append(strDepth2).append(" {").append(strLineEnd); + strbufResult.append(strDepth2).append(" return getEnumList(").append(attributeTypeName).append(".class);").append(strLineEnd); + strbufResult.append(strDepth2).append(" }").append(strLineEnd).append(strLineEnd); - // check if the enum starts with a digit instead of a char. - // If so, append an underscore at start - if (m_strIsOff.indexOf(enumValue.charAt(0)) != -1) - { - strbufResult.append(strDepth2).append(attributeTypeName.substring(4)).append("_"); + strbufResult.append(strDepth1).append("/**").append(strLineEnd); + strbufResult.append(strDepth1).append(" * @return the iterator").append(strLineEnd); + strbufResult.append(strDepth1).append(" */").append(strLineEnd); + strbufResult.append(strDepth2).append(" public static Iterator iterator()").append(strLineEnd); + strbufResult.append(strDepth2).append(" {").append(strLineEnd); + strbufResult.append(strDepth2).append(" return iterator(").append(attributeTypeName).append(".class);").append(strLineEnd); + strbufResult.append(strDepth2).append(" }").append(strLineEnd).append(strLineEnd); } - - String enumName = enumValue; - if (enumName.indexOf(JDFConstants.DOT) >= 0 || enumName.indexOf(JDFConstants.HYPHEN) >= 0) + final Vector vEnumValues = schemaAttribute.getEnumValues(); + for (int j = 0; j < vEnumValues.size(); j++) { - // The enumName has to be a valid Java identifier, so change dot and hyphen to underscore + final String enumValue = (String) vEnumValues.elementAt(j); + String enumName = enumValue; enumName = enumName.replace('.', '_'); enumName = enumName.replace('-', '_'); - } - if ("boolean".equals(enumName) || "double".equals(enumName)) - enumName = enumName + "_"; // lex GeneralID JDF 1.4 + if ("boolean".equals(enumName) || "double".equals(enumName)) + { + enumName = enumName + "_"; // lex GeneralID JDF 1.4 + } - strbufResult.append(enumName); + if (useJava) + { + if (m_strIsOff.indexOf(enumValue.charAt(0)) != -1) + { + enumName = attributeTypeName.substring(1) + "_" + enumName; + } + if (j > 0) + { + strbufResult.append(','); + } + strbufResult.append(enumName); - strbufResult.append(" = new ").append(attributeTypeName); - strbufResult.append("(\"").append(enumValue).append("\");").append(strLineEnd); - } + } + else + { + if (m_strIsOff.indexOf(enumValue.charAt(0)) != -1) + { + enumName = attributeTypeName.substring(4) + "_" + enumName; + } + + strbufResult.append(strDepth3).append("/** */").append(strLineEnd); + strbufResult.append(strDepth3).append("public static final ").append(attributeTypeName).append(" "); + + // check if the enum starts with a digit instead of a char. + // If so, append an underscore at start - strbufResult.append(strDepth2).append("} ").append(strLineEnd).append(strLineEnd).append(strLineEnd).append(strLineEnd); + strbufResult.append(enumName); + + strbufResult.append(" = new ").append(attributeTypeName); + strbufResult.append("(\"").append(enumValue).append("\");").append(strLineEnd); + } + } + if (useJava) + { + strbufResult.append(";").append(strDepth2).append("public static ").append(attributeTypeName).append(" getEnum(String val){") + .append(strLineEnd); + String def = schemaAttribute.getStrDefault(); + def = StringUtil.isEmpty(def) ? "null" : attributeTypeName + '.' + def; + strbufResult.append(strDepth2).append("return JavaEnumUtil.getEnumIgnoreCase(").append(attributeTypeName).append(".class, val, ") + .append(def).append(");}}"); + + } + else + { + strbufResult.append(strDepth2).append("} ").append(strLineEnd).append(strLineEnd).append(strLineEnd).append(strLineEnd); + } + strbufResult0.append(strbufResult); + } } } } @@ -661,40 +726,74 @@ private static void appendEnumTypes(final Vector vAttributes, final String compl public static boolean useEnumAttribute(final boolean isEnum, final String attributeName, final String complexTypeName, final boolean appendList) { if (!isEnum) + { return false; + } if ("Version".equals(attributeName)) + { return false; + } if ("Usage".equals(attributeName) && "InsertSheet".equals(complexTypeName)) + { return false; + } if (!appendList) + { return true; + } if ("Activation".equals(attributeName)) + { return false; + } if ("MaxVersion".equals(attributeName)) + { return false; + } if ("UpdatedStatus".equals(attributeName)) + { return false; + } if ("Availability".equals(attributeName)) + { return false; + } if ("LinkUsage".equals(attributeName)) + { return false; + } if ("Usage".equals(attributeName)) + { return "InsertSheet".equals(complexTypeName); + } if ("Classes".equals(attributeName)) + { return false; + } if ("Class".equals(attributeName)) + { return "Notification".equals(complexTypeName); + } if ("DeviceStatus".equals(attributeName)) + { return "DeviceInfo".equals(complexTypeName); + } if ("HoleType".equals(attributeName)) + { return "Media".equals(complexTypeName); + } if ("DeviceOperationMode".equals(attributeName)) + { return "MISDetails".equals(complexTypeName); + } if ("NodeStatus".equals(attributeName)) + { return false; + } if ("Status".equals(attributeName)) + { return "QueueEntry".equals(complexTypeName) || "Queue".equals(complexTypeName); + } return true; } @@ -735,6 +834,14 @@ else if ("MaxVersion".equals(attributeName)) { modifiedAttributeTypeName = "EnumVersion"; } + else if ("Surface".equals(attributeName) && "SurfaceMark".equals(complexTypeName)) + { + modifiedAttributeTypeName = "EnumFace"; + } + else if ("StatusList".equals(attributeName)) + { + modifiedAttributeTypeName = "EnumQueueEntryStatus"; + } else if ("UpdatedStatus".equals(attributeName)) { modifiedAttributeTypeName = "JDFResource.EnumResStatus"; @@ -758,9 +865,13 @@ else if ("Usage".equals(attributeName) && ("ResourceQuParams".equals(complexType else if ("Classes".equals(attributeName)) { if ("ResourceQuParams".equals(complexTypeName)) + { modifiedAttributeTypeName = "JDFResource.EnumResourceClass"; + } else + { modifiedAttributeTypeName = "EnumClass"; + } } else if ("Usage".equals(attributeName) && "InsertSheet".equals(complexTypeName)) { @@ -790,8 +901,10 @@ else if ("HoleType".equals(attributeName) && "HoleMakingParams".equals(complexTy if (schemaAttribute.getIsEnum()) { - appendAttributeGetterAndSetterForEnum(strbufResult, complexTypeName, schemaAttribute, attributeName, modifiedAttributeName, modifiedAttributeTypeName, - returnType); + appendAttributeGetterAndSetterForEnum(strbufResult, complexTypeName, schemaAttribute, attributeName, modifiedAttributeName, + modifiedAttributeTypeName, returnType, true); + appendAttributeGetterAndSetterForEnum(strbufResult, complexTypeName, schemaAttribute, attributeName, modifiedAttributeName, + modifiedAttributeTypeName, returnType, false); } else { @@ -801,11 +914,14 @@ else if ("HoleType".equals(attributeName) && "HoleMakingParams".equals(complexTy } } - private static void appendAttributeGetterAndSetterForEnum(final StringBuffer strbufResult, final String complexTypeName, final SchemaAttribute schemaAttribute, final String attributeName, final String modifiedAttributeName, final String modifiedAttributeTypeName, final String returnType) + private static void appendAttributeGetterAndSetterForEnum(final StringBuffer strbufResult, final String complexTypeName, + final SchemaAttribute schemaAttribute, final String attributeName, final String modifiedAttributeName, String modifiedAttributeTypeName, + final String returnType, final boolean javaEnum) { + modifiedAttributeTypeName = javaEnum ? StringUtil.replaceString(modifiedAttributeTypeName, "Enum", "E") : modifiedAttributeTypeName; // set - if (!"Status".equals(attributeName) || "Queue".equals(complexTypeName) || "QueueEntry".equals(complexTypeName) || "ResourceCmdParams".equals(complexTypeName) - || "ResourceInfo".equals(complexTypeName)) + if (!"Status".equals(attributeName) || "Queue".equals(complexTypeName) || "QueueEntry".equals(complexTypeName) + || "ResourceCmdParams".equals(complexTypeName) || "ResourceInfo".equals(complexTypeName)) { strbufResult.append(strDepth2).append(strLineEnd); strbufResult.append(strDepth2).append("/* ---------------------------------------------------------------------").append(strLineEnd); @@ -814,35 +930,61 @@ private static void appendAttributeGetterAndSetterForEnum(final StringBuffer str if ("QueueEntry".equals(complexTypeName) && "Priority".equals(attributeName)) { - strbufResult.append(strDepth2).append("/**").append(strLineEnd); - strbufResult.append(strDepth2).append(" * (3) set attribute ").append(modifiedAttributeName).append(strLineEnd); - strbufResult.append(strDepth2).append(" * @param enumVar the enumVar to set the attribute to").append(strLineEnd); - strbufResult.append(strDepth2).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append("public void set").append(modifiedAttributeName).append("(int priority)").append(strLineEnd); - strbufResult.append(strDepth2).append("{").append(strLineEnd); - strbufResult.append(strDepth3).append("setIntAttribute(\"Priority\", priority, null);").append(strLineEnd); - strbufResult.append(strDepth2).append("}").append(strLineEnd).append(strLineEnd); + if (!javaEnum) + { + strbufResult.append(strDepth2).append("/**").append(strLineEnd); + strbufResult.append(strDepth2).append(" * (3) set attribute ").append(modifiedAttributeName).append(strLineEnd); + strbufResult.append(strDepth2).append(" * @param enumVar the enumVar to set the attribute to").append(strLineEnd); + strbufResult.append(strDepth2).append(" */").append(strLineEnd); + strbufResult.append(strDepth2).append("public void set").append(modifiedAttributeName).append("(int priority)").append(strLineEnd); + strbufResult.append(strDepth2).append("{").append(strLineEnd); + strbufResult.append(strDepth3).append("setIntAttribute(\"Priority\", priority, null);").append(strLineEnd); + strbufResult.append(strDepth2).append("}").append(strLineEnd).append(strLineEnd); + } } else if ("QueueEntryPosParams".equals(complexTypeName) && "Position".equals(attributeName)) { - strbufResult.append(strDepth2).append("/**").append(strLineEnd); - strbufResult.append(strDepth2).append(" * (4) set attribute ").append(modifiedAttributeName).append(strLineEnd); - strbufResult.append(strDepth2).append(" * @param enumVar the enumVar to set the attribute to").append(strLineEnd); - strbufResult.append(strDepth2).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append("public void set").append(modifiedAttributeName).append("(int position)").append(strLineEnd); - strbufResult.append(strDepth2).append("{").append(strLineEnd); - strbufResult.append(strDepth3).append("setIntAttribute(\"Position\", position, null);").append(strLineEnd); - strbufResult.append(strDepth2).append("}").append(strLineEnd).append(strLineEnd); + if (!javaEnum) + { + strbufResult.append(strDepth2).append("/**").append(strLineEnd); + strbufResult.append(strDepth2).append(" * (4) set attribute ").append(modifiedAttributeName).append(strLineEnd); + strbufResult.append(strDepth2).append(" * @param enumVar the enumVar to set the attribute to").append(strLineEnd); + strbufResult.append(strDepth2).append(" */").append(strLineEnd); + strbufResult.append(strDepth2).append("public void set").append(modifiedAttributeName).append("(int position)").append(strLineEnd); + strbufResult.append(strDepth2).append("{").append(strLineEnd); + strbufResult.append(strDepth3).append("setIntAttribute(\"Position\", position, null);").append(strLineEnd); + strbufResult.append(strDepth2).append("}").append(strLineEnd).append(strLineEnd); + } } else if (schemaAttribute.getIsEnumList()) { strbufResult.append(strDepth2).append("/**").append(strLineEnd); strbufResult.append(strDepth2).append(" * (5.2) set attribute ").append(modifiedAttributeName).append(strLineEnd); - strbufResult.append(strDepth2).append(" * @param v vector of the enumeration values").append(strLineEnd); + strbufResult.append(strDepth2).append(" * @param v List of the enumeration values").append(strLineEnd); + if (!javaEnum) + { + // * @deprecated use setPreviewUsage(EPreviewUsage) based on java.lang.enum instead + strbufResult.append(strDepth2).append( + "@deprecated use SetE" + modifiedAttributeName + "(List) based on java.lang.enum") + .append(strLineEnd); + } strbufResult.append(strDepth2).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append("public void set").append(modifiedAttributeName).append("(").append("Vector v)").append(strLineEnd); - strbufResult.append(strDepth2).append("{").append(strLineEnd); - strbufResult.append(strDepth3).append("setEnumerationsAttribute(AttributeName.").append(attributeName.toUpperCase()).append(", v, null);").append(strLineEnd); + if (javaEnum) + { + strbufResult.append(strDepth2).append("public void setE").append(modifiedAttributeName).append("(") + .append("List<" + modifiedAttributeTypeName + "> v)").append(strLineEnd); + strbufResult.append(strDepth2).append("{").append(strLineEnd); + strbufResult.append(strDepth3).append("setEnumsAttribute(AttributeName.").append(attributeName.toUpperCase()).append(", v, null);") + .append(strLineEnd); + } + else + { + strbufResult.append(strDepth2).append("public void set").append(modifiedAttributeName).append("(") + .append("List<" + modifiedAttributeTypeName + "> v)").append(strLineEnd); + strbufResult.append(strDepth2).append("{").append(strLineEnd); + strbufResult.append(strDepth3).append("setEnumerationsAttribute(AttributeName.").append(attributeName.toUpperCase()).append(", v, null);") + .append(strLineEnd); + } strbufResult.append(strDepth2).append("}").append(strLineEnd).append(strLineEnd); } else @@ -850,12 +992,27 @@ else if (schemaAttribute.getIsEnumList()) strbufResult.append(strDepth2).append("/**").append(strLineEnd); strbufResult.append(strDepth2).append(" * (5) set attribute ").append(attributeName).append(strLineEnd); strbufResult.append(strDepth2).append(" * @param enumVar the enumVar to set the attribute to").append(strLineEnd); + if (!javaEnum) + { + // strbufResult.append(strDepth2).append("@deprecated use java.lang.enum").append(strLineEnd); + strbufResult.append(strDepth2) + .append("@deprecated use Set" + modifiedAttributeName + "(E" + modifiedAttributeTypeName.substring(4) + ") based on java.lang.enum") + .append(strLineEnd); + } strbufResult.append(strDepth2).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append("public void set").append(modifiedAttributeName).append("(").append(modifiedAttributeTypeName).append(" enumVar)") - .append(strLineEnd); + strbufResult.append(strDepth2).append("public void set").append(modifiedAttributeName).append("(").append(modifiedAttributeTypeName) + .append(" enumVar)").append(strLineEnd); strbufResult.append(strDepth2).append("{").append(strLineEnd); - strbufResult.append(strDepth3).append("setAttribute(AttributeName.").append(attributeName.toUpperCase()) - .append(", enumVar==null ? null : enumVar.getName(), null);").append(strLineEnd); + if (javaEnum) + { + strbufResult.append(strDepth3).append("setAttribute(AttributeName.").append(attributeName.toUpperCase()) + .append(", enumVar==null ? null : enumVar.name(), null);").append(strLineEnd); + } + else + { + strbufResult.append(strDepth3).append("setAttribute(AttributeName.").append(attributeName.toUpperCase()) + .append(", enumVar==null ? null : enumVar.getName(), null);").append(strLineEnd); + } strbufResult.append(strDepth2).append("}").append(strLineEnd).append(strLineEnd); } @@ -863,17 +1020,23 @@ else if (schemaAttribute.getIsEnumList()) if ("Class".equals(modifiedAttributeName)) { strbufResult.append(strDepth2).append("/**").append(strLineEnd); - strbufResult.append(strDepth2).append(" * (6) get ").append(modifiedAttributeTypeName).append(" attribute ").append(modifiedAttributeName).append(strLineEnd); - strbufResult.append(strDepth2).append(" * @return ").append(modifiedAttributeTypeName).append(" the value of the attribute").append(strLineEnd); + strbufResult.append(strDepth2).append(" * (6) get ").append(modifiedAttributeTypeName).append(" attribute ").append(modifiedAttributeName) + .append(strLineEnd); + strbufResult.append(strDepth2).append(" * @return ").append(modifiedAttributeTypeName).append(" the value of the attribute") + .append(strLineEnd); strbufResult.append(strDepth2).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append("public ").append(modifiedAttributeTypeName).append(" get").append(modifiedAttributeName).append("JDF()").append(strLineEnd); + final String suffix = javaEnum ? "()" : "JDF()"; + final String prefix = javaEnum ? " getE" : " get"; + strbufResult.append(strDepth2).append("public ").append(modifiedAttributeTypeName).append(prefix).append(modifiedAttributeName).append(suffix) + .append(strLineEnd); strbufResult.append(strDepth2).append("{").append(strLineEnd); if (!schemaAttribute.getStrDefault().equals(JDFCoreConstants.EMPTYSTRING)) { // System.out.println ("6"); strbufResult.append(strDepth3).append("return ").append(modifiedAttributeTypeName).append(".getEnum(getAttribute(AttributeName.") - .append(modifiedAttributeName.toUpperCase()).append(", null, ").append("\"").append(schemaAttribute.getStrDefault()).append("\"));").append(strLineEnd); + .append(modifiedAttributeName.toUpperCase()).append(", null, ").append("\"").append(schemaAttribute.getStrDefault()).append("\"));") + .append(strLineEnd); } else { @@ -888,7 +1051,8 @@ else if (schemaAttribute.getIsEnumList()) if ("QueueEntry".equals(complexTypeName) && "Priority".equals(attributeName)) { strbufResult.append(strDepth2).append("/**").append(strLineEnd); - strbufResult.append(strDepth2).append(" * (7) get ").append(returnType).append(" attribute ").append(modifiedAttributeName).append(strLineEnd); + strbufResult.append(strDepth2).append(" * (7) get ").append(returnType).append(" attribute ").append(modifiedAttributeName) + .append(strLineEnd); strbufResult.append(strDepth2).append(" * @return ").append(returnType).append(" the value of the attribute").append(strLineEnd); strbufResult.append(strDepth2).append(" */").append(strLineEnd); strbufResult.append(strDepth2).append("public int get").append(modifiedAttributeName).append("()").append(strLineEnd); @@ -899,7 +1063,8 @@ else if (schemaAttribute.getIsEnumList()) else if ("QueueEntryPosParams".equals(complexTypeName) && "Position".equals(attributeName)) { strbufResult.append(strDepth2).append("/**").append(strLineEnd); - strbufResult.append(strDepth2).append(" * (8) get ").append(returnType).append(" attribute ").append(modifiedAttributeName).append(strLineEnd); + strbufResult.append(strDepth2).append(" * (8) get ").append(returnType).append(" attribute ").append(modifiedAttributeName) + .append(strLineEnd); strbufResult.append(strDepth2).append(" * @return ").append(returnType).append(" the value of the attribute").append(strLineEnd); strbufResult.append(strDepth2).append(" */").append(strLineEnd); strbufResult.append(strDepth2).append("public int get").append(modifiedAttributeName).append("()").append(strLineEnd); @@ -910,19 +1075,21 @@ else if ("QueueEntryPosParams".equals(complexTypeName) && "Position".equals(attr else if ("JobPhase".equals(complexTypeName) && "Status".equals(attributeName)) { strbufResult.append(strDepth2).append("/**").append(strLineEnd); - strbufResult.append(strDepth2).append(" * (35) get ").append(modifiedAttributeName).append(" attribute ").append(modifiedAttributeName).append(strLineEnd); - strbufResult.append(strDepth2).append(" * @return ").append(modifiedAttributeTypeName).append(" the value of the attribute").append(strLineEnd); - strbufResult.append(strDepth2).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append("public ").append(modifiedAttributeTypeName).append(" get").append(modifiedAttributeName).append("JDF").append("()") + strbufResult.append(strDepth2).append(" * (35) get ").append(modifiedAttributeName).append(" attribute ").append(modifiedAttributeName) + .append(strLineEnd); + strbufResult.append(strDepth2).append(" * @return ").append(modifiedAttributeTypeName).append(" the value of the attribute") .append(strLineEnd); + strbufResult.append(strDepth2).append(" */").append(strLineEnd); + strbufResult.append(strDepth2).append("public ").append(modifiedAttributeTypeName).append(" get").append(modifiedAttributeName) + .append("JDF").append("()").append(strLineEnd); strbufResult.append(strDepth2).append("{").append(strLineEnd); if (!schemaAttribute.getStrDefault().equals(JDFCoreConstants.EMPTYSTRING)) { // System.out.println ("35"); strbufResult.append(strDepth3).append("return ").append(modifiedAttributeTypeName).append(".getEnum(getAttribute(AttributeName.") - .append(modifiedAttributeName.toUpperCase()).append(", null, ").append("\"").append(schemaAttribute.getStrDefault()).append("\"));") - .append(strLineEnd); + .append(modifiedAttributeName.toUpperCase()).append(", null, ").append("\"").append(schemaAttribute.getStrDefault()) + .append("\"));").append(strLineEnd); } else { @@ -935,20 +1102,39 @@ else if ("JobPhase".equals(complexTypeName) && "Status".equals(attributeName)) else if (schemaAttribute.getIsEnumList()) { strbufResult.append(strDepth2).append("/**").append(strLineEnd); - strbufResult.append(strDepth2).append(" * (9.2) get ").append(modifiedAttributeName).append(" attribute ").append(modifiedAttributeName).append(strLineEnd); + strbufResult.append(strDepth2).append(" * (9.2) get ").append(modifiedAttributeName).append(" attribute ").append(modifiedAttributeName) + .append(strLineEnd); strbufResult.append(strDepth2).append(" * @return Vector of the enumerations").append(strLineEnd); - strbufResult.append(strDepth2).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append("public Vector get").append(modifiedAttributeName).append("()").append(strLineEnd); - strbufResult.append(strDepth2).append("{").append(strLineEnd); + if (!javaEnum) + { + strbufResult.append(strDepth2).append("@deprecated use List GetE" + + modifiedAttributeName + "() based on java.lang.enum").append(strLineEnd); + } - String defaultValue = schemaAttribute.getStrDefault(); - if (defaultValue.equals(JDFCoreConstants.EMPTYSTRING)) + strbufResult.append(strDepth2).append(" */").append(strLineEnd); + if (javaEnum) { - defaultValue = "getEnum(0)"; + strbufResult.append(strDepth2).append("public List<" + modifiedAttributeTypeName + "> getEnums").append(modifiedAttributeName) + .append("()").append(strLineEnd); + strbufResult.append(strDepth2).append("{").append(strLineEnd); + strbufResult.append(strDepth3).append("return getEnumerationsAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()) + .append(", null, ").append(modifiedAttributeTypeName).append(".class);").append(strLineEnd); } + else + { + strbufResult.append(strDepth2).append("public Vector<" + modifiedAttributeTypeName + "> get").append(modifiedAttributeName).append("()") + .append(strLineEnd); + strbufResult.append(strDepth2).append("{").append(strLineEnd); + + String defaultValue = schemaAttribute.getStrDefault(); + if (defaultValue.equals(JDFCoreConstants.EMPTYSTRING)) + { + defaultValue = "getEnum(0)"; + } - strbufResult.append(strDepth3).append("return getEnumerationsAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()).append(", null, ") - .append(modifiedAttributeTypeName).append(".").append(defaultValue).append(", false);").append(strLineEnd); + strbufResult.append(strDepth3).append("return getEnumerationsAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()) + .append(", null, ").append(modifiedAttributeTypeName).append(".").append(defaultValue).append(", false);").append(strLineEnd); + } strbufResult.append(strDepth2).append("}").append(strLineEnd).append(strLineEnd); } else @@ -956,14 +1142,23 @@ else if (schemaAttribute.getIsEnumList()) strbufResult.append(strDepth2).append("/**").append(strLineEnd); strbufResult.append(strDepth2).append(" * (9) get attribute ").append(attributeName).append(strLineEnd); strbufResult.append(strDepth2).append(" * @return the value of the attribute").append(strLineEnd); + if (!javaEnum) + { + strbufResult.append(strDepth2).append( + "@deprecated use E" + modifiedAttributeTypeName.substring(4) + " GetE" + modifiedAttributeName + "() based on java.lang.enum") + .append(strLineEnd); + } strbufResult.append(strDepth2).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append("public ").append(modifiedAttributeTypeName).append(" get").append(modifiedAttributeName).append("()").append(strLineEnd); + final String getterName = (javaEnum ? "E" : "") + modifiedAttributeName; + strbufResult.append(strDepth2).append("public ").append(modifiedAttributeTypeName).append(" get").append(getterName).append("()") + .append(strLineEnd); strbufResult.append(strDepth2).append("{").append(strLineEnd); if (!schemaAttribute.getStrDefault().equals(JDFCoreConstants.EMPTYSTRING)) { strbufResult.append(strDepth3).append("return ").append(modifiedAttributeTypeName).append(".getEnum(getAttribute(AttributeName.") - .append(attributeName.toUpperCase()).append(", null, ").append("\"").append(schemaAttribute.getStrDefault()).append("\"));").append(strLineEnd); + .append(attributeName.toUpperCase()).append(", null, ").append("\"").append(schemaAttribute.getStrDefault()).append("\"));") + .append(strLineEnd); } else { @@ -977,7 +1172,8 @@ else if (schemaAttribute.getIsEnumList()) } } - private static void appendAttributeGetterAndSetterForNonEnum(final StringBuffer strbufResult, final SchemaAttribute schemaAttribute, final String modifiedAttributeName, final String returnType) + private static void appendAttributeGetterAndSetterForNonEnum(final StringBuffer strbufResult, final SchemaAttribute schemaAttribute, + final String modifiedAttributeName, final String returnType) { String returnTypeLocal = returnType; @@ -1009,7 +1205,8 @@ private static void appendAttributeGetterAndSetterForNonEnum(final StringBuffer strbufResult.append(strDepth2).append(" * (33) set attribute ").append(modifiedAttributeName).append(strLineEnd); strbufResult.append(strDepth2).append(" * @param value the duration to set the attribute to").append(strLineEnd); strbufResult.append(strDepth2).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append("public void set").append(modifiedAttributeName).append("(").append(returnTypeLocal).append(" value)").append(strLineEnd); + strbufResult.append(strDepth2).append("public void set").append(modifiedAttributeName).append("(").append(returnTypeLocal).append(" value)") + .append(strLineEnd); strbufResult.append(strDepth2).append("{").append(strLineEnd); strbufResult.append(strDepth3).append("setAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()) .append(", value==null ? null : value.getDurationISO(), null);").append(strLineEnd); @@ -1017,13 +1214,15 @@ private static void appendAttributeGetterAndSetterForNonEnum(final StringBuffer // get 5 strbufResult.append(strDepth2).append("/**").append(strLineEnd); - strbufResult.append(strDepth2).append(" * (34) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName).append(strLineEnd); + strbufResult.append(strDepth2).append(" * (34) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName) + .append(strLineEnd); strbufResult.append(strDepth2).append(" * @return ").append(returnTypeLocal).append(" the value of the attribute").append(strLineEnd); strbufResult.append(strDepth2).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("()").append(strLineEnd); - strbufResult.append(strDepth2).append("{").append(strLineEnd); - strbufResult.append(strDepth3).append("String str = getAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()).append(", null, null);") + strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("()") .append(strLineEnd); + strbufResult.append(strDepth2).append("{").append(strLineEnd); + strbufResult.append(strDepth3).append("String str = getAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()) + .append(", null, null);").append(strLineEnd); strbufResult.append(strDepth5).append("JDFDuration ret = JDFDuration.createDuration(str);").append(strLineEnd); strbufResult.append(strDepth3).append("return ret;").append(strLineEnd); strbufResult.append(strDepth2).append("}").append(strLineEnd).append(strLineEnd); @@ -1039,19 +1238,21 @@ private static void appendAttributeGetterAndSetterForNonEnum(final StringBuffer strbufResult.append(strDepth2).append("{").append(strLineEnd); strbufResult.append(strDepth3).append("JDFDate date = value;").append(strLineEnd); strbufResult.append(strDepth3).append("if (date == null) date = new JDFDate();").append(strLineEnd); - strbufResult.append(strDepth3).append("setAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()).append(", date.getDateTimeISO(), null);") - .append(strLineEnd); + strbufResult.append(strDepth3).append("setAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()) + .append(", date.getDateTimeISO(), null);").append(strLineEnd); strbufResult.append(strDepth2).append("}").append(strLineEnd).append(strLineEnd); // get 12 strbufResult.append(strDepth2).append("/**").append(strLineEnd); - strbufResult.append(strDepth2).append(" * (12) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName).append(strLineEnd); + strbufResult.append(strDepth2).append(" * (12) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName) + .append(strLineEnd); strbufResult.append(strDepth2).append(" * @return ").append(returnTypeLocal).append(" the value of the attribute").append(strLineEnd); strbufResult.append(strDepth2).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("()").append(strLineEnd); - strbufResult.append(strDepth2).append("{").append(strLineEnd); - strbufResult.append(strDepth3).append("String str = getAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()).append(", null, null);") + strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("()") .append(strLineEnd); + strbufResult.append(strDepth2).append("{").append(strLineEnd); + strbufResult.append(strDepth3).append("String str = getAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()) + .append(", null, null);").append(strLineEnd); strbufResult.append(strDepth5).append("JDFDate ret = JDFDate.createDate(str);").append(strLineEnd); strbufResult.append(strDepth3).append("return ret;").append(strLineEnd); strbufResult.append(strDepth2).append("}").append(strLineEnd).append(strLineEnd); @@ -1067,7 +1268,8 @@ private static void appendAttributeGetterAndSetterForNonEnum(final StringBuffer strbufResult.append(strDepth2).append(" * (13) set attribute ").append(modifiedAttributeName).append(strLineEnd); strbufResult.append(strDepth2).append(" * @param value the value to set the attribute to").append(strLineEnd); strbufResult.append(strDepth2).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append("public void set").append(modifiedAttributeName).append("(").append(returnTypeLocal).append(" value)").append(strLineEnd); + strbufResult.append(strDepth2).append("public void set").append(modifiedAttributeName).append("(").append(returnTypeLocal).append(" value)") + .append(strLineEnd); strbufResult.append(strDepth2).append("{").append(strLineEnd); strbufResult.append(strDepth3).append("setAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()) .append(", value==null ? null : value.getName(), null);").append(strLineEnd); @@ -1083,12 +1285,13 @@ private static void appendAttributeGetterAndSetterForNonEnum(final StringBuffer if ("Attribute".equals(modifiedAttributeName)) { - strbufResult.append(strDepth2).append("public void set").append(modifiedAttributeName).append("JDF(").append(returnTypeLocal).append(" value)") - .append(strLineEnd); + strbufResult.append(strDepth2).append("public void set").append(modifiedAttributeName).append("JDF(").append(returnTypeLocal) + .append(" value)").append(strLineEnd); } else { - strbufResult.append(strDepth2).append("public void set").append(modifiedAttributeName).append("(").append(returnTypeLocal).append(" value)").append(strLineEnd); + strbufResult.append(strDepth2).append("public void set").append(modifiedAttributeName).append("(").append(returnTypeLocal).append(" value)") + .append(strLineEnd); } strbufResult.append(strDepth2).append("{").append(strLineEnd); @@ -1101,7 +1304,8 @@ private static void appendAttributeGetterAndSetterForNonEnum(final StringBuffer } else { - strbufResult.append(strDepth3).append("setAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()).append(", value, null);").append(strLineEnd); + strbufResult.append(strDepth3).append("setAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()).append(", value, null);") + .append(strLineEnd); } strbufResult.append(strDepth2).append("}").append(strLineEnd).append(strLineEnd); @@ -1112,10 +1316,12 @@ private static void appendAttributeGetterAndSetterForNonEnum(final StringBuffer { // get 1 strbufResult.append(strDepth2).append("/**").append(strLineEnd); - strbufResult.append(strDepth2).append(" * (15) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName).append(strLineEnd); + strbufResult.append(strDepth2).append(" * (15) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName) + .append(strLineEnd); strbufResult.append(strDepth2).append(" * @return ").append(returnTypeLocal).append(" the value of the attribute").append(strLineEnd); strbufResult.append(strDepth2).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("()").append(strLineEnd); + strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("()") + .append(strLineEnd); strbufResult.append(strDepth2).append("{").append(strLineEnd); if (!schemaAttribute.getStrDefault().equals(JDFCoreConstants.EMPTYSTRING)) @@ -1125,8 +1331,8 @@ private static void appendAttributeGetterAndSetterForNonEnum(final StringBuffer } else { - strbufResult.append(strDepth3).append("return getIntAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()).append(", null, 0);") - .append(strLineEnd); + strbufResult.append(strDepth3).append("return getIntAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()) + .append(", null, 0);").append(strLineEnd); } strbufResult.append(strDepth2).append("}").append(strLineEnd).append(strLineEnd); @@ -1137,25 +1343,29 @@ else if ("double".equals(returnTypeLocal)) if ("Length".equals(modifiedAttributeName)) { strbufResult.append(strDepth2).append("/**").append(strLineEnd); - strbufResult.append(strDepth2).append(" * (16) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName).append(strLineEnd); + strbufResult.append(strDepth2).append(" * (16) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName) + .append(strLineEnd); strbufResult.append(strDepth2).append(" * @return ").append(returnTypeLocal).append(" the value of the attribute").append(strLineEnd); strbufResult.append(strDepth2).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("JDF()").append(strLineEnd); - strbufResult.append(strDepth2).append("{").append(strLineEnd); - strbufResult.append(strDepth3).append("return getRealAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()).append(", null, 0.0);") + strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("JDF()") .append(strLineEnd); + strbufResult.append(strDepth2).append("{").append(strLineEnd); + strbufResult.append(strDepth3).append("return getRealAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()) + .append(", null, 0.0);").append(strLineEnd); strbufResult.append(strDepth2).append("}").append(strLineEnd).append(strLineEnd); } else { strbufResult.append(strDepth2).append("/**").append(strLineEnd); - strbufResult.append(strDepth2).append(" * (17) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName).append(strLineEnd); + strbufResult.append(strDepth2).append(" * (17) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName) + .append(strLineEnd); strbufResult.append(strDepth2).append(" * @return ").append(returnTypeLocal).append(" the value of the attribute").append(strLineEnd); strbufResult.append(strDepth2).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("()").append(strLineEnd); - strbufResult.append(strDepth2).append("{").append(strLineEnd); - strbufResult.append(strDepth3).append("return getRealAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()).append(", null, 0.0);") + strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("()") .append(strLineEnd); + strbufResult.append(strDepth2).append("{").append(strLineEnd); + strbufResult.append(strDepth3).append("return getRealAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()) + .append(", null, 0.0);").append(strLineEnd); strbufResult.append(strDepth2).append("}").append(strLineEnd).append(strLineEnd); } } @@ -1163,24 +1373,27 @@ else if ("boolean".equals(returnTypeLocal)) { // get 3 strbufResult.append(strDepth2).append("/**").append(strLineEnd); - strbufResult.append(strDepth2).append(" * (18) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName).append(strLineEnd); + strbufResult.append(strDepth2).append(" * (18) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName) + .append(strLineEnd); strbufResult.append(strDepth2).append(" * @return ").append(returnTypeLocal).append(" the value of the attribute").append(strLineEnd); strbufResult.append(strDepth2).append(" */").append(strLineEnd); if ("true".equals(schemaAttribute.getStrDefault())) { - strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("()").append(strLineEnd); - strbufResult.append(strDepth2).append("{").append(strLineEnd); - strbufResult.append(strDepth3).append("return getBoolAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()).append(", null, true);") + strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("()") .append(strLineEnd); + strbufResult.append(strDepth2).append("{").append(strLineEnd); + strbufResult.append(strDepth3).append("return getBoolAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()) + .append(", null, true);").append(strLineEnd); strbufResult.append(strDepth2).append("}").append(strLineEnd).append(strLineEnd); } else { - strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("()").append(strLineEnd); - strbufResult.append(strDepth2).append("{").append(strLineEnd); - strbufResult.append(strDepth3).append("return getBoolAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()).append(", null, false);") + strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("()") .append(strLineEnd); + strbufResult.append(strDepth2).append("{").append(strLineEnd); + strbufResult.append(strDepth3).append("return getBoolAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()) + .append(", null, false);").append(strLineEnd); strbufResult.append(strDepth2).append("}").append(strLineEnd).append(strLineEnd); } @@ -1189,10 +1402,12 @@ else if ("EnumNamedColor".equals(returnTypeLocal)) { // get 3.5 strbufResult.append(strDepth2).append("/**").append(strLineEnd); - strbufResult.append(strDepth2).append(" * (19) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName).append(strLineEnd); + strbufResult.append(strDepth2).append(" * (19) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName) + .append(strLineEnd); strbufResult.append(strDepth2).append(" * @return ").append(returnTypeLocal).append(" the value of the attribute").append(strLineEnd); strbufResult.append(strDepth2).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("()").append(strLineEnd); + strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("()") + .append(strLineEnd); strbufResult.append(strDepth2).append("{").append(strLineEnd); strbufResult.append(strDepth3).append("String strAttrName = \"\";").append(strLineEnd); strbufResult.append(strDepth3).append(returnTypeLocal).append(" nPlaceHolder = null;").append(strLineEnd); @@ -1206,16 +1421,19 @@ else if (!("String".equals(returnTypeLocal)) && !"VString".equals(returnTypeLoca { // get 4 strbufResult.append(strDepth2).append("/**").append(strLineEnd); - strbufResult.append(strDepth2).append(" * (20) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName).append(strLineEnd); - strbufResult.append(strDepth2).append(" * @return ").append(returnTypeLocal).append(" the value of the attribute, null if a the").append(strLineEnd); + strbufResult.append(strDepth2).append(" * (20) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName) + .append(strLineEnd); + strbufResult.append(strDepth2).append(" * @return ").append(returnTypeLocal).append(" the value of the attribute, null if a the") + .append(strLineEnd); strbufResult.append(strDepth2).append(" * attribute value is not a valid to create a ").append(returnTypeLocal).append(strLineEnd); strbufResult.append(strDepth2).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("()").append(strLineEnd); - strbufResult.append(strDepth2).append("{").append(strLineEnd); - strbufResult.append(strDepth3).append("String strAttrName = getAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()).append(", null, null);") + strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("()") .append(strLineEnd); - strbufResult.append(strDepth3).append(returnTypeLocal).append(" nPlaceHolder = ").append(returnTypeLocal).append(".create").append(returnTypeLocal.substring(3)) - .append("(strAttrName);").append(strLineEnd); + strbufResult.append(strDepth2).append("{").append(strLineEnd); + strbufResult.append(strDepth3).append("String strAttrName = getAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()) + .append(", null, null);").append(strLineEnd); + strbufResult.append(strDepth3).append(returnTypeLocal).append(" nPlaceHolder = ").append(returnTypeLocal).append(".create") + .append(returnTypeLocal.substring(3)).append("(strAttrName);").append(strLineEnd); strbufResult.append(strDepth3).append("return nPlaceHolder;").append(strLineEnd); strbufResult.append(strDepth2).append("}").append(strLineEnd).append(strLineEnd); } @@ -1231,19 +1449,23 @@ else if (!("String".equals(returnTypeLocal)) && !"VString".equals(returnTypeLoca if ("Attributes".equals(modifiedAttributeName)) { - strbufResult.append(strDepth2).append(" * (21) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName).append("JDF") + strbufResult.append(strDepth2).append(" * (21) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName) + .append("JDF").append(strLineEnd); + strbufResult.append(strDepth2).append(" * @return ").append(returnTypeLocal).append(" the value of the attribute") .append(strLineEnd); - strbufResult.append(strDepth2).append(" * @return ").append(returnTypeLocal).append(" the value of the attribute").append(strLineEnd); strbufResult.append(strDepth2).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("JDF").append("()") - .append(strLineEnd); + strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("JDF") + .append("()").append(strLineEnd); } else { - strbufResult.append(strDepth2).append(" * (21) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName).append(strLineEnd); - strbufResult.append(strDepth2).append(" * @return ").append(returnTypeLocal).append(" the value of the attribute").append(strLineEnd); + strbufResult.append(strDepth2).append(" * (21) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName) + .append(strLineEnd); + strbufResult.append(strDepth2).append(" * @return ").append(returnTypeLocal).append(" the value of the attribute") + .append(strLineEnd); strbufResult.append(strDepth2).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("()").append(strLineEnd); + strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("()") + .append(strLineEnd); } strbufResult.append(strDepth2).append("{").append(strLineEnd); @@ -1256,8 +1478,8 @@ else if (!("String".equals(returnTypeLocal)) && !"VString".equals(returnTypeLoca } else { - strbufResult.append(strDepth3).append("String s = getAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()).append(", null, \"") - .append(schemaAttribute.getStrDefault()).append("\");").append(strLineEnd); + strbufResult.append(strDepth3).append("String s = getAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()) + .append(", null, \"").append(schemaAttribute.getStrDefault()).append("\");").append(strLineEnd); } strbufResult.append(strDepth3).append("vStrAttrib.setAllStrings(s, \" \");").append(strLineEnd); @@ -1270,11 +1492,13 @@ else if (!("String".equals(returnTypeLocal)) && !"VString".equals(returnTypeLoca { // get 5 strbufResult.append(strDepth2).append("/**").append(strLineEnd); - strbufResult.append(strDepth2).append(" * (22) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName).append(strLineEnd); - strbufResult.append(strDepth2).append(" * @return ").append(returnTypeLocal).append(" the value of the attribute").append(strLineEnd); - strbufResult.append(strDepth2).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("JDF()") + strbufResult.append(strDepth2).append(" * (22) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName) + .append(strLineEnd); + strbufResult.append(strDepth2).append(" * @return ").append(returnTypeLocal).append(" the value of the attribute") .append(strLineEnd); + strbufResult.append(strDepth2).append(" */").append(strLineEnd); + strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName) + .append("JDF()").append(strLineEnd); strbufResult.append(strDepth2).append("{").append(strLineEnd); strbufResult.append(strDepth3).append("return getAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()) .append(", null, JDFCoreConstants.EMPTYSTRING);").append(strLineEnd); @@ -1284,10 +1508,12 @@ else if (!("String".equals(returnTypeLocal)) && !"VString".equals(returnTypeLoca { // get 5 strbufResult.append(strDepth2).append("/**").append(strLineEnd); - strbufResult.append(strDepth2).append(" * (23) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName).append(strLineEnd); + strbufResult.append(strDepth2).append(" * (23) get ").append(returnTypeLocal).append(" attribute ").append(modifiedAttributeName) + .append(strLineEnd); strbufResult.append(strDepth2).append(" * @return the value of the attribute").append(strLineEnd); strbufResult.append(strDepth2).append(" */").append(strLineEnd); - strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("()").append(strLineEnd); + strbufResult.append(strDepth2).append("public ").append(returnTypeLocal).append(" get").append(modifiedAttributeName).append("()") + .append(strLineEnd); strbufResult.append(strDepth2).append("{").append(strLineEnd); if (schemaAttribute.getStrDefault().equals(JDFCoreConstants.EMPTYSTRING)) @@ -1297,8 +1523,8 @@ else if (!("String".equals(returnTypeLocal)) && !"VString".equals(returnTypeLoca } else { - strbufResult.append(strDepth3).append("return getAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()).append(", null, \"") - .append(schemaAttribute.getStrDefault()).append("\");").append(strLineEnd); + strbufResult.append(strDepth3).append("return getAttribute(AttributeName.").append(modifiedAttributeName.toUpperCase()) + .append(", null, \"").append(schemaAttribute.getStrDefault()).append("\");").append(strLineEnd); } strbufResult.append(strDepth2).append("}").append(strLineEnd).append(strLineEnd); @@ -1364,28 +1590,31 @@ private static void appendElementGetterAndSetter(final String strComplexTypeName strbufResult.append(strDepth1).append(" * @return ").append(strReturnType).append(" the element").append(strLineEnd); strbufResult.append(strDepth1).append(" * default is get").append(strElementName).append("(0)"); strbufResult.append(strDepth1).append(" */").append(strLineEnd); - strbufResult.append(strDepth1).append("public ").append(strReturnType).append(" get").append(strElementName).append("(int iSkip)").append(strLineEnd); + strbufResult.append(strDepth1).append("public ").append(strReturnType).append(" get").append(strElementName).append("(int iSkip)") + .append(strLineEnd); strbufResult.append(strDepth1).append("{").append(strLineEnd); - strbufResult.append(strDepth2).append("return (").append(strReturnType).append(") getElement(ElementName.").append(strElementName.toUpperCase()) - .append(", null, iSkip);").append(strLineEnd); + strbufResult.append(strDepth2).append("return (").append(strReturnType).append(") getElement(ElementName.") + .append(strElementName.toUpperCase()).append(", null, iSkip);").append(strLineEnd); strbufResult.append(strDepth1).append("}").append(strLineEnd).append(strLineEnd); // get Collection strbufResult.append(strDepth1).append("/**").append(strLineEnd); strbufResult.append(strDepth1).append(" * Get all ").append(strElementName).append(" from the current element").append(strLineEnd); strbufResult.append(strDepth1).append(" * ").append(strLineEnd); - strbufResult.append(strDepth1).append(" * @return Collection<").append(strReturnType).append(">, null if none are available").append(strLineEnd); + strbufResult.append(strDepth1).append(" * @return Collection<").append(strReturnType).append(">, null if none are available") + .append(strLineEnd); strbufResult.append(strDepth1).append(" */").append(strLineEnd); - strbufResult.append(strDepth1).append("public Collection<").append(strReturnType).append("> getAll").append(strElementName).append("()").append(strLineEnd); - strbufResult.append(strDepth1).append("{").append(strLineEnd); - strbufResult.append(strDepth2).append("final VElement vc = getChildElementVector(ElementName.").append(strElementName.toUpperCase()).append(", null);") + strbufResult.append(strDepth1).append("public Collection<").append(strReturnType).append("> getAll").append(strElementName).append("()") .append(strLineEnd); + strbufResult.append(strDepth1).append("{").append(strLineEnd); + strbufResult.append(strDepth2).append("final VElement vc = getChildElementVector(ElementName.").append(strElementName.toUpperCase()) + .append(", null);").append(strLineEnd); strbufResult.append(strDepth2).append("if (vc == null || vc.isEmpty())").append(strLineEnd); strbufResult.append(strDepth2).append("{").append(strLineEnd); strbufResult.append(strDepth3).append("return null;").append(strLineEnd); strbufResult.append(strDepth2).append("}").append(strLineEnd).append(strLineEnd); - strbufResult.append(strDepth2).append("final Vector<").append(strReturnType).append("> v = new Vector<").append(strReturnType).append(">();") - .append(strLineEnd); + strbufResult.append(strDepth2).append("final Vector<").append(strReturnType).append("> v = new Vector<").append(strReturnType) + .append(">();").append(strLineEnd); strbufResult.append(strDepth2).append("for (int i = 0; i < vc.size(); i++)").append(strLineEnd); strbufResult.append(strDepth2).append("{").append(strLineEnd); strbufResult.append(strDepth3).append("v.add((").append(strReturnType).append(") vc.get(i));").append(strLineEnd); @@ -1400,10 +1629,11 @@ private static void appendElementGetterAndSetter(final String strComplexTypeName strbufResult.append(strDepth1).append(" * (24) const get element ").append(strElementName).append(strLineEnd); strbufResult.append(strDepth1).append(" * @return ").append(strReturnType).append(" the element").append(strLineEnd); strbufResult.append(strDepth1).append(" */").append(strLineEnd); - strbufResult.append(strDepth1).append("public ").append(strReturnType).append(" get").append(strElementName).append("()").append(strLineEnd); + strbufResult.append(strDepth1).append("public ").append(strReturnType).append(" get").append(strElementName).append("()") + .append(strLineEnd); strbufResult.append(strDepth1).append("{").append(strLineEnd); - strbufResult.append(strDepth2).append("return (").append(strReturnType).append(") getElement(ElementName.").append(strElementName.toUpperCase()) - .append(", null, 0);").append(strLineEnd); + strbufResult.append(strDepth2).append("return (").append(strReturnType).append(") getElement(ElementName.") + .append(strElementName.toUpperCase()).append(", null, 0);").append(strLineEnd); strbufResult.append(strDepth1).append("}").append(strLineEnd).append(strLineEnd); } @@ -1412,7 +1642,8 @@ private static void appendElementGetterAndSetter(final String strComplexTypeName strbufResult.append(strDepth1).append(" * ").append(strLineEnd); strbufResult.append(strDepth1).append(" * @return ").append(strReturnType).append(" the element").append(strLineEnd); strbufResult.append(strDepth1).append(" */").append(strLineEnd); - strbufResult.append(strDepth1).append("public ").append(strReturnType).append(" getCreate").append(strElementName).append("()").append(strLineEnd); + strbufResult.append(strDepth1).append("public ").append(strReturnType).append(" getCreate").append(strElementName).append("()") + .append(strLineEnd); strbufResult.append(strDepth1).append("{").append(strLineEnd); strbufResult.append(strDepth2).append("return (").append(strReturnType).append(") getCreateElement_JDFElement(ElementName.") .append(strElementName.toUpperCase()).append(", null, 0);").append(strLineEnd); @@ -1426,7 +1657,8 @@ private static void appendElementGetterAndSetter(final String strComplexTypeName strbufResult.append(strDepth1).append(" * @param iSkip number of elements to skip").append(strLineEnd); strbufResult.append(strDepth1).append(" * @return ").append(strReturnType).append(" the element").append(strLineEnd); strbufResult.append(strDepth1).append(" */").append(strLineEnd); - strbufResult.append(strDepth1).append("public ").append(strReturnType).append(" getCreate").append(strElementName).append("(int iSkip)").append(strLineEnd); + strbufResult.append(strDepth1).append("public ").append(strReturnType).append(" getCreate").append(strElementName).append("(int iSkip)") + .append(strLineEnd); strbufResult.append(strDepth1).append("{").append(strLineEnd); strbufResult.append(strDepth2).append("return (").append(strReturnType).append(") getCreateElement_JDFElement(ElementName.") .append(strElementName.toUpperCase()).append(", null, iSkip);").append(strLineEnd); @@ -1439,19 +1671,22 @@ private static void appendElementGetterAndSetter(final String strComplexTypeName strbufResult.append(strDepth1).append(" * @return ").append(strReturnType).append(" the element").append(strLineEnd); strbufResult.append(strDepth1).append(" * default is get").append(strElementName).append("(0)"); strbufResult.append(strDepth1).append(" */").append(strLineEnd); - strbufResult.append(strDepth1).append("public ").append(strReturnType).append(" get").append(strElementName).append("(int iSkip)").append(strLineEnd); + strbufResult.append(strDepth1).append("public ").append(strReturnType).append(" get").append(strElementName).append("(int iSkip)") + .append(strLineEnd); strbufResult.append(strDepth1).append("{").append(strLineEnd); - strbufResult.append(strDepth2).append("return (").append(strReturnType).append(") getElement(ElementName.").append(strElementName.toUpperCase()) - .append(", null, iSkip);").append(strLineEnd); + strbufResult.append(strDepth2).append("return (").append(strReturnType).append(") getElement(ElementName.") + .append(strElementName.toUpperCase()).append(", null, iSkip);").append(strLineEnd); strbufResult.append(strDepth1).append("}").append(strLineEnd).append(strLineEnd); // get Collection strbufResult.append(strDepth1).append("/**").append(strLineEnd); strbufResult.append(strDepth1).append(" * Get all ").append(strElementName).append(" from the current element").append(strLineEnd); strbufResult.append(strDepth1).append(" * ").append(strLineEnd); - strbufResult.append(strDepth1).append(" * @return Collection<").append(strReturnType).append(">, null if none are available").append(strLineEnd); + strbufResult.append(strDepth1).append(" * @return Collection<").append(strReturnType).append(">, null if none are available") + .append(strLineEnd); strbufResult.append(strDepth1).append(" */").append(strLineEnd); - strbufResult.append(strDepth1).append("public Collection<").append(strReturnType).append("> getAll").append(strElementName).append("()").append(strLineEnd); + strbufResult.append(strDepth1).append("public Collection<").append(strReturnType).append("> getAll").append(strElementName).append("()") + .append(strLineEnd); strbufResult.append(strDepth1).append("{").append(strLineEnd); strbufResult.append(strDepth2).append("return getChildArrayByClass(").append(strReturnType).append(".class, false, 0);").append(strLineEnd); strbufResult.append(strDepth1).append("}").append(strLineEnd).append(strLineEnd); @@ -1465,10 +1700,11 @@ private static void appendElementGetterAndSetter(final String strComplexTypeName strbufResult.append(strDepth1).append(" * @return ").append(strReturnType).append(" the element").append(strLineEnd); strbufResult.append(strDepth1).append(" * @ if the element already exists").append(strLineEnd); strbufResult.append(strDepth1).append(" */").append(strLineEnd); - strbufResult.append(strDepth1).append("public ").append(strReturnType).append(" append").append(strElementName).append("() ").append(strLineEnd); + strbufResult.append(strDepth1).append("public ").append(strReturnType).append(" append").append(strElementName).append("() ") + .append(strLineEnd); strbufResult.append(strDepth1).append("{").append(strLineEnd); - strbufResult.append(strDepth2).append("return (").append(strReturnType).append(") appendElementN(ElementName.").append(strElementName.toUpperCase()) - .append(", 1, null);").append(strLineEnd); + strbufResult.append(strDepth2).append("return (").append(strReturnType).append(") appendElementN(ElementName.") + .append(strElementName.toUpperCase()).append(", 1, null);").append(strLineEnd); strbufResult.append(strDepth1).append("}").append(strLineEnd).append(strLineEnd); } else @@ -1478,10 +1714,11 @@ private static void appendElementGetterAndSetter(final String strComplexTypeName strbufResult.append(strDepth1).append(" * (30) append element ").append(strElementName).append(strLineEnd); strbufResult.append(strDepth1).append(" * @return ").append(strReturnType).append(" the element").append(strLineEnd); strbufResult.append(strDepth1).append(" */").append(strLineEnd); - strbufResult.append(strDepth1).append("public ").append(strReturnType).append(" append").append(strElementName).append("()").append(strLineEnd); + strbufResult.append(strDepth1).append("public ").append(strReturnType).append(" append").append(strElementName).append("()") + .append(strLineEnd); strbufResult.append(strDepth1).append("{").append(strLineEnd); - strbufResult.append(strDepth2).append("return (").append(strReturnType).append(") appendElement(ElementName.").append(strElementName.toUpperCase()) - .append(", null);").append(strLineEnd); + strbufResult.append(strDepth2).append("return (").append(strReturnType).append(") appendElement(ElementName.") + .append(strElementName.toUpperCase()).append(", null);").append(strLineEnd); strbufResult.append(strDepth1).append("}").append(strLineEnd).append(strLineEnd); } @@ -1498,10 +1735,15 @@ private static void appendElementGetterAndSetter(final String strComplexTypeName strbufResult.append(strDepth1).append(" * @param refTarget the element that is referenced").append(strLineEnd); strbufResult.append(strDepth1).append(" */").append(strLineEnd); if ("JDFShapeElement".equals(strReturnType)) - strbufResult.append(strDepth1).append("public void ref").append(strElementName).append("(JDFShapeElement").append(" refTarget)").append(strLineEnd); - else - strbufResult.append(strDepth1).append("public void ref").append(strElementName).append("(JDF").append(strElementName).append(" refTarget)") + { + strbufResult.append(strDepth1).append("public void ref").append(strElementName).append("(JDFShapeElement").append(" refTarget)") .append(strLineEnd); + } + else + { + strbufResult.append(strDepth1).append("public void ref").append(strElementName).append("(JDF").append(strElementName) + .append(" refTarget)").append(strLineEnd); + } strbufResult.append(strDepth1).append("{").append(strLineEnd); strbufResult.append(strDepth2).append("refElement(refTarget);").append(strLineEnd); diff --git a/src/main/java/org/cip4/jdflib/generator/gui/ComplexTypeList.java b/src/main/java/org/cip4/jdflib/generator/gui/ComplexTypeList.java index 450c421..e6c95f5 100755 --- a/src/main/java/org/cip4/jdflib/generator/gui/ComplexTypeList.java +++ b/src/main/java/org/cip4/jdflib/generator/gui/ComplexTypeList.java @@ -288,9 +288,9 @@ public void loadFileList(final File toGenerateFile) { if (!strLineOfFile.startsWith("JDFAuto") || !strLineOfFile.endsWith(".java")) { - JOptionPane.showMessageDialog(this, - strLineOfFile + lineSep + "is a malformed filename." + lineSep + "Filenames must start with \"JDFAuto\" and end with \".java\"" + lineSep + lineSep + " Cant read file", - "Malformed Filename in User-filelist", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(this, strLineOfFile + lineSep + "is a malformed filename." + lineSep + + "Filenames must start with \"JDFAuto\" and end with \".java\"" + lineSep + lineSep + " Cant read file", "Malformed Filename in User-filelist", + JOptionPane.ERROR_MESSAGE); // TODO resolve this foobar loadedListModel.removeAllElements(); @@ -886,6 +886,7 @@ public void mouseExited(final MouseEvent e) defaultlistModel.addElement("JDFAutoSubscription.java"); defaultlistModel.addElement("JDFAutoSubscriptionFilter.java"); defaultlistModel.addElement("JDFAutoSubscriptionInfo.java"); + defaultlistModel.addElement("JDFAutoSurfaceMark.java"); defaultlistModel.addElement("JDFAutoSystemTimeSet.java"); defaultlistModel.addElement("JDFAutoTabDimensions.java"); defaultlistModel.addElement("JDFAutoTabs.java"); diff --git a/src/main/java/org/cip4/jdfutility/CheckJDFServlet.java b/src/main/java/org/cip4/jdfutility/CheckJDFServlet.java index 3ff8cea..4454d94 100755 --- a/src/main/java/org/cip4/jdfutility/CheckJDFServlet.java +++ b/src/main/java/org/cip4/jdfutility/CheckJDFServlet.java @@ -91,6 +91,7 @@ public CheckJDFServlet() { super(); extractResources(); + FileItemList.setTracker(null); } void extractResources() diff --git a/src/main/java/org/cip4/jdfutility/FileItemList.java b/src/main/java/org/cip4/jdfutility/FileItemList.java index d2d784d..4d4be59 100644 --- a/src/main/java/org/cip4/jdfutility/FileItemList.java +++ b/src/main/java/org/cip4/jdfutility/FileItemList.java @@ -82,6 +82,7 @@ import org.apache.commons.fileupload2.core.DiskFileItemFactory.Builder; import org.apache.commons.fileupload2.core.FileUploadException; import org.apache.commons.fileupload2.jakarta.servlet6.JakartaServletFileUpload; +import org.apache.commons.io.FileCleaningTracker; import org.cip4.jdflib.datatypes.JDFAttributeMap; import org.cip4.jdflib.util.ContainerUtil; import org.cip4.jdflib.util.StreamUtil; @@ -102,6 +103,18 @@ public class FileItemList private final JDFAttributeMap mapCache; private final JDFAttributeMap reqParameters; + private static FileCleaningTracker tracker = null; + + public static FileCleaningTracker getTracker() + { + return tracker; + } + + public static void setTracker(final FileCleaningTracker tracker) + { + FileItemList.tracker = tracker; + } + /** * returns a pure in memory FileItemList */ @@ -186,6 +199,7 @@ DiskFileItemFactory getFactory(final boolean inMemory, final long filesize) if (inMemory) { b.setBufferSize((int) filesize); + b.setFileCleaningTracker(tracker); } return b.get(); } @@ -197,14 +211,18 @@ public JDFAttributeMap getFieldsFromForm() final List fileList = getFileList(false, true); for (final DiskFileItem fi : fileList) { - try { + try + { final String itemString = StringUtil.getNonEmpty(fi.getString()); if (itemString != null) { mapCache.put(fi.getFieldName(), itemString); } - } catch (IOException ignore) { - } + } + catch (final Exception ignore) + { + // nop + } } mapCache.putAll(reqParameters); diff --git a/src/main/java/org/cip4/jdfutility/GetFileServlet.java b/src/main/java/org/cip4/jdfutility/GetFileServlet.java index 1e4dfd4..90e4259 100755 --- a/src/main/java/org/cip4/jdfutility/GetFileServlet.java +++ b/src/main/java/org/cip4/jdfutility/GetFileServlet.java @@ -44,18 +44,18 @@ import java.nio.file.InvalidPathException; import java.nio.file.Path; -import jakarta.servlet.ServletConfig; -import jakarta.servlet.ServletException; -import jakarta.servlet.http.HttpServlet; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; - import org.apache.commons.text.StringEscapeUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.cip4.jdflib.util.StreamUtil; import org.cip4.jdflib.util.UrlUtil; +import jakarta.servlet.ServletConfig; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; + /** * @author rainer */ @@ -122,16 +122,15 @@ void processRequest(final HttpServletRequest request, final HttpServletResponse final OutputStream os = response.getOutputStream(); final String localName = request.getPathInfo(); Path localPath = null; - try { + try + { localPath = baseDir.toPath().resolve(localName).normalize(); - } catch (InvalidPathException ignored) { + } + catch (final InvalidPathException ignored) + { } - if ( - localPath != null - && localPath.startsWith(baseDir.toPath().normalize()) - && Files.exists(localPath) - ) + if (localPath != null && localPath.startsWith(baseDir.toPath().normalize()) && Files.exists(localPath)) { response.setContentType(UrlUtil.getMimeTypeFromURL(localName)); Files.copy(localPath, os); @@ -141,7 +140,7 @@ void processRequest(final HttpServletRequest request, final HttpServletResponse response.setContentType(UrlUtil.TEXT_HTML); response.setStatus(404); os.write("

Error


Cannot find file: ".getBytes()); - os.write(StringEscapeUtils.escapeHtml4(localName).getBytes()); + os.write(StringEscapeUtils.escapeHtml3(localName).getBytes()); os.write("".getBytes()); } StreamUtil.close(os); diff --git a/src/main/java/org/cip4/jdfutility/server/JettyServer.java b/src/main/java/org/cip4/jdfutility/server/JettyServer.java index 10cd5ba..0833bf0 100644 --- a/src/main/java/org/cip4/jdfutility/server/JettyServer.java +++ b/src/main/java/org/cip4/jdfutility/server/JettyServer.java @@ -631,6 +631,14 @@ public static JettyServer getServer() return theServer; } + /** + * @return + */ + public Server getJettyServer() + { + return server; + } + /** * */ diff --git a/src/main/java/org/cip4/jdfutility/server/MyResourceHandler.java b/src/main/java/org/cip4/jdfutility/server/MyResourceHandler.java index 9508a2a..c6ac93a 100644 --- a/src/main/java/org/cip4/jdfutility/server/MyResourceHandler.java +++ b/src/main/java/org/cip4/jdfutility/server/MyResourceHandler.java @@ -39,6 +39,7 @@ import java.util.HashSet; +import org.cip4.jdflib.core.JDFConstants; import org.cip4.jdflib.util.StringUtil; import org.eclipse.jetty.http.HttpURI; import org.eclipse.jetty.server.Request; @@ -60,38 +61,44 @@ public class MyResourceHandler extends ResourceHandler public MyResourceHandler(final String strip, final String home) { super(); - this.strip = strip == null ? null : StringUtil.token(StringUtil.getNonEmpty(strip.toLowerCase()), 0, "/"); + this.strip = strip == null ? null : StringUtil.token(StringUtil.getNonEmpty(strip.toLowerCase()), 0, JDFConstants.SLASH); this.home = home; whiteList = new HashSet<>(); } private final String strip; - String update(String url) + String update(final String url) { final String urlLow = url == null ? null : url.toLowerCase(); - int pos = StringUtil.posOfToken(urlLow, strip, "/", 0); + String urlOut = url; + int pos = StringUtil.posOfToken(urlLow, strip, JDFConstants.SLASH, 0); if (pos >= 0) { pos = urlLow.indexOf(strip); - url = url.substring(0, pos) + url.substring(pos + StringUtil.length(strip) + 1); + urlOut = url.substring(0, pos); + final int endPos = pos + strip.length() + 1; + if (endPos < urlLow.length()) + { + urlOut += url.substring(endPos); + } } - if (StringUtil.isEmpty(url) || "/".equals(url) || StringUtil.token(url, 2, "/") == null) + if (StringUtil.isEmpty(urlOut) || JDFConstants.SLASH.equals(urlOut) || StringUtil.token(urlOut, 2, JDFConstants.SLASH) == null) { return home; } else if (!whiteList.isEmpty()) { - final String base = StringUtil.token(url, 0, "/"); - final String base2 = StringUtil.token(url, 2, "/"); // http://host:port/root + final String base = StringUtil.token(urlOut, 0, JDFConstants.SLASH); + final String base2 = StringUtil.token(urlOut, 2, JDFConstants.SLASH); // http://host:port/root if (!whiteList.contains(base.toLowerCase()) && (base2 == null || !whiteList.contains(base2.toLowerCase()))) { return null; } } - return url; + return urlOut; } /** @@ -106,7 +113,7 @@ public void addBase(final String base) @Override public String toString() { - return "MyResourceHandler [strip=" + strip + ", getResourceBase()=" + getBaseResource(); + return "MyResourceHandler [strip=" + strip + ", base=" + getBaseResource(); } @Override diff --git a/src/test/java/org/cip4/jdfutility/FileItemListTest.java b/src/test/java/org/cip4/jdfutility/FileItemListTest.java index 39f7ebd..6bd91c9 100644 --- a/src/test/java/org/cip4/jdfutility/FileItemListTest.java +++ b/src/test/java/org/cip4/jdfutility/FileItemListTest.java @@ -85,13 +85,14 @@ import java.util.HashMap; import java.util.Map; +import org.apache.commons.io.FileCleaningTracker; +import org.cip4.jdflib.util.ContainerUtil; +import org.junit.jupiter.api.Test; + import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.Part; -import org.cip4.jdflib.util.ContainerUtil; -import org.junit.jupiter.api.Test; - class FileItemListTest extends JDFUtilityTestBase { @@ -171,4 +172,13 @@ void testGetFactory() throws Exception l.getFactory(true, 99999); } + @Test + void testGetTracker() throws Exception + { + final FileCleaningTracker tracker = new FileCleaningTracker(); + FileItemList.setTracker(tracker); + assertEquals(tracker, FileItemList.getTracker()); + assertEquals(tracker, new FileItemList(getRequestMock(), 42).getFactory(true, 42).getFileCleaningTracker()); + } + } diff --git a/src/test/java/org/cip4/jdfutility/server/JettyServerTest.java b/src/test/java/org/cip4/jdfutility/server/JettyServerTest.java index c8b1f11..5a38bfa 100644 --- a/src/test/java/org/cip4/jdfutility/server/JettyServerTest.java +++ b/src/test/java/org/cip4/jdfutility/server/JettyServerTest.java @@ -64,6 +64,7 @@ public synchronized void testStart() ns.setPort(getPort()); // ns.setSSLPort(443); assertTrue(ns.tryStart()); + assertNotNull(ns.getJettyServer()); ns.stop(); } diff --git a/src/test/java/org/cip4/jdfutility/server/MyResourceHandlerTest.java b/src/test/java/org/cip4/jdfutility/server/MyResourceHandlerTest.java index daafad6..95d6772 100644 --- a/src/test/java/org/cip4/jdfutility/server/MyResourceHandlerTest.java +++ b/src/test/java/org/cip4/jdfutility/server/MyResourceHandlerTest.java @@ -57,17 +57,21 @@ void testConstruct() { final MyResourceHandler h = new MyResourceHandler("abc", sm_dirTestData); assertNotNull(h); + assertNotNull(h.toString()); } @Test public void testResHandler() throws Exception { - final MyResourceHandler rh = new MyResourceHandler("foo", "dummy"); + final MyResourceHandler rh = new MyResourceHandler("foo", "http://localhost/dummy"); assertEquals("http://localhost/nix", rh.update("http://localhost/nix")); + assertEquals("http://localhost/nix", rh.update("http://localhost/foo/nix")); + assertEquals("http://localhost/dummy", rh.update("http://localhost/foo")); + assertEquals("http://localhost/dummy", rh.update("http://localhost/foo/")); assertEquals("http://localhost/bar/nix", rh.update("http://localhost/bar/foo/nix")); - assertEquals("dummy", rh.update("")); - assertEquals("dummy", rh.update("/")); - assertEquals("dummy", rh.update("http://localhost")); + assertEquals("http://localhost/dummy", rh.update("")); + assertEquals("http://localhost/dummy", rh.update("/")); + assertEquals("http://localhost/dummy", rh.update("http://localhost")); } @Test