ODFTOOLKIT-478 - Adding namespaces to manifest and digital signature DOM by fix & refactoring of generator
diff --git a/generator/schema2template/pom.xml b/generator/schema2template/pom.xml index dd73c34..972b2ef 100644 --- a/generator/schema2template/pom.xml +++ b/generator/schema2template/pom.xml
@@ -32,10 +32,15 @@ <version>0.9.0-incubating-SNAPSHOT</version> <packaging>jar</packaging> <dependencies> + <dependency> + <groupId>org.apache.velocity</groupId> + <artifactId>velocity-engine-core</artifactId> + <version>2.0</version> + </dependency> <dependency> - <groupId>org.apache.velocity</groupId> - <artifactId>velocity</artifactId> - </dependency> + <groupId>xerces</groupId> + <artifactId>xercesImpl</artifactId> + </dependency> <dependency> <groupId>net.java.dev.msv</groupId> <artifactId>msv-core</artifactId>
diff --git a/generator/schema2template/src/main/java/schema2template/example/odf/OdfHelper.java b/generator/schema2template/src/main/java/schema2template/example/odf/OdfHelper.java index 494d77c..65ca307 100644 --- a/generator/schema2template/src/main/java/schema2template/example/odf/OdfHelper.java +++ b/generator/schema2template/src/main/java/schema2template/example/odf/OdfHelper.java
@@ -110,8 +110,10 @@ private static final String PYTHON_OUTPUT_FILES = "target" + File.separator + "python-output-files.xml"; private static final String DOM_OUTPUT_FILES_TEMPLATE = "dom-output-files.vm"; private static final String DOM_OUTPUT_FILES = "target" + File.separator + "dom-output-files.xml"; - private static final String PKG_OUTPUT_FILES_TEMPLATE = "pkg-output-files.vm"; - private static final String PKG_OUTPUT_FILES = "target" + File.separator + "pkg-output-files.xml"; + private static final String PKG_MANIFEST_OUTPUT_FILES_TEMPLATE = "pkg-manifest-output-files.vm"; + private static final String PKG_MANIFEST_OUTPUT_FILES = "target" + File.separator + "pkg-manifest-output-files.xml"; + private static final String PKG_DSIG_OUTPUT_FILES_TEMPLATE = "pkg-dsig-output-files.vm"; + private static final String PKG_DSIG_OUTPUT_FILES = "target" + File.separator + "pkg-dsig-output-files.xml"; private static XMLModel mOdf12SignatureSchemaModel; private static XMLModel mOdf12ManifestSchemaModel; private static XMLModel mOdf12SchemaModel; @@ -154,9 +156,9 @@ initialize(); // ODF 1.2 Code Generation - fillTemplates(odfDomResourceDir, mOdf12Root, DOM_OUTPUT_FILES_TEMPLATE, DOM_OUTPUT_FILES); - fillTemplates(odfPkgResourceDir, mOdf12SignatureRoot, PKG_OUTPUT_FILES_TEMPLATE, PKG_OUTPUT_FILES); - fillTemplates(odfPkgResourceDir, mOdf12ManifestRoot, PKG_OUTPUT_FILES_TEMPLATE, PKG_OUTPUT_FILES); + fillTemplates(odfDomResourceDir, mOdf12Root, DOM_OUTPUT_FILES_TEMPLATE, DOM_OUTPUT_FILES, mOdf12SchemaModel); + fillTemplates(odfPkgResourceDir, mOdf12ManifestRoot, PKG_MANIFEST_OUTPUT_FILES_TEMPLATE, PKG_MANIFEST_OUTPUT_FILES, mOdf12ManifestSchemaModel); + fillTemplates(odfPkgResourceDir, mOdf12SignatureRoot, PKG_DSIG_OUTPUT_FILES_TEMPLATE, PKG_DSIG_OUTPUT_FILES, mOdf12SignatureSchemaModel); } public static void main(String[] args) throws Exception { @@ -164,14 +166,14 @@ initialize(); // ODF 1.2 HTML Reference (yet without BNF nor images) - fillTemplates(odfReferenceResourceDir, mOdf12Root, REFERENCE_OUTPUT_FILES_TEMPLATE, REFERENCE_OUTPUT_FILES); + fillTemplates(odfReferenceResourceDir, mOdf12Root, REFERENCE_OUTPUT_FILES_TEMPLATE, REFERENCE_OUTPUT_FILES, mOdf12SchemaModel); // ODF 1.2 Python (The generated Python source is from a former colleague and might not work any longer..) - fillTemplates(odfPythonResourceDir, mOdf12Root, PYTHON_OUTPUT_FILES_TEMPLATE, PYTHON_OUTPUT_FILES); + fillTemplates(odfPythonResourceDir, mOdf12Root, PYTHON_OUTPUT_FILES_TEMPLATE, PYTHON_OUTPUT_FILES, mOdf12SchemaModel); // ODF 1.2 Code Generation - fillTemplates(odfDomResourceDir, mOdf12Root, DOM_OUTPUT_FILES_TEMPLATE, DOM_OUTPUT_FILES); - fillTemplates(odfPkgResourceDir, mOdf12ManifestRoot, PKG_OUTPUT_FILES_TEMPLATE, PKG_OUTPUT_FILES); - fillTemplates(odfPkgResourceDir, mOdf12SignatureRoot, PKG_OUTPUT_FILES_TEMPLATE, PKG_OUTPUT_FILES); + fillTemplates(odfDomResourceDir, mOdf12Root, DOM_OUTPUT_FILES_TEMPLATE, DOM_OUTPUT_FILES, mOdf12SchemaModel); + fillTemplates(odfPkgResourceDir, mOdf12ManifestRoot, PKG_MANIFEST_OUTPUT_FILES_TEMPLATE, PKG_MANIFEST_OUTPUT_FILES, mOdf12ManifestSchemaModel); + fillTemplates(odfPkgResourceDir, mOdf12SignatureRoot, PKG_DSIG_OUTPUT_FILES_TEMPLATE, PKG_DSIG_OUTPUT_FILES, mOdf12SignatureSchemaModel); } private static void initialize() throws Exception { @@ -205,7 +207,7 @@ LOG.info("Finished initilization.."); } - private static void fillTemplates(String sourceDir, Expression root, String outputRuleTemplate, String outputRuleFile) throws Exception { + private static void fillTemplates(String sourceDir, Expression root, String outputRuleTemplate, String outputRuleFile, XMLModel model) throws Exception { // intialising template engine (ie. Velocity) Properties props = new Properties(); props.setProperty("file.resource.loader.path", sourceDir); @@ -213,12 +215,12 @@ ve.init(); // Create output-files.xml - createOutputFileList(ve, outputRuleTemplate, outputRuleFile); + createOutputFileList(ve, outputRuleTemplate, outputRuleFile, model); LOG.info("output-files.xml created done."); // Process output-files.xml, create output files LOG.fine("Processing output files... "); - processFileList(ve, root, outputRuleFile); + processFileList(ve, root, outputRuleFile, model); LOG.fine("DONE.\n"); } @@ -264,12 +266,26 @@ * @throws Exception */ public static Expression loadSchema(File rngFile) throws Exception { - SAXParserFactory factory = SAXParserFactory.newInstance(); - factory.setNamespaceAware(true); + + SAXParserFactory saxFactory = new org.apache.xerces.jaxp.SAXParserFactoryImpl(); + saxFactory.setNamespaceAware(true); + saxFactory.setValidating(false); + try { + saxFactory.setXIncludeAware(false); + saxFactory.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false); + // removing potential vulnerability: see https://www.owasp.org/index.php/XML_External_Entity_%28XXE%29_Processing + saxFactory.setFeature("http://xml.org/sax/features/external-general-entities", false); + saxFactory.setFeature("http://xml.org/sax/features/external-parameter-entities", false); + saxFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); + } catch (Exception ex) { + Logger.getLogger(OdfHelper.class.getName()).log(Level.SEVERE, null, ex); + throw new RuntimeException(); + } + // Parsing the Schema with MSV String absolutePath = rngFile.getAbsolutePath(); com.sun.msv.reader.util.IgnoreController ignoreController = new com.sun.msv.reader.util.IgnoreController(); - Expression root = RELAXNGReader.parse(absolutePath, factory, ignoreController).getTopLevel(); + Expression root = RELAXNGReader.parse(absolutePath, saxFactory, ignoreController).getTopLevel(); if (root == null) { @@ -280,9 +296,6 @@ private static VelocityContext getContext(String contextStr, String param) { VelocityContext context = new VelocityContext(); - context.put("signaturemodel", mOdf12SignatureSchemaModel); - context.put("manifestmodel", mOdf12ManifestSchemaModel); - context.put("model", mOdf12SchemaModel); context.put("oldmodel", mOdf11SchemaModel); context.put("odfmodel", mOdfModel); context.put("javamodel", mJavaModel); @@ -291,8 +304,9 @@ return context; } - private static void createOutputFileList(VelocityEngine ve, String template, String output) throws Exception { + private static void createOutputFileList(VelocityEngine ve, String template, String output, XMLModel model) throws Exception { VelocityContext context = getContext(null, null); + context.put("model", model); File parentPatch = new File(output).getParentFile(); if (!parentPatch.exists()) { parentPatch.mkdirs(); @@ -328,7 +342,7 @@ } } - public static void processFileList(VelocityEngine ve, Expression root, String outputRuleFile) throws Exception { + public static void processFileList(VelocityEngine ve, Expression root, String outputRuleFile, XMLModel model) throws Exception { File outputFiles = new File(outputRuleFile); List<OutputFileListEntry> fl = OutputFileListHandler.readFileListFile(outputFiles); @@ -337,15 +351,18 @@ case PATH: break; case FILE: - LOG.log(Level.INFO, "Processing line{0}: Generating file {1}\n", new Object[]{f.getLineNumber(), generateFilename(f.getAttribute("path"))}); + LOG.log(Level.INFO, "Processing line {0}: Generating file {1}\n", new Object[]{f.getLineNumber(), generateFilename(f.getAttribute("path"))}); String odfContextStr = f.getAttribute("context"); String param = f.getAttribute("param"); VelocityContext context = getContext(odfContextStr, param); if (context == null) { throw new RuntimeException("Error in output-files.xml, line " + f.getLineNumber() + ": no or invalid odf-scope"); - } + }else{ + context.put("model", model); + } File out = new File(outputRoot + File.separator + generateFilename(f.getAttribute("path"))).getCanonicalFile(); + LOG.info("Absolute path of generated file: " + out.getAbsolutePath()); ensureParentFolders(out); FileWriter fileout = new FileWriter(out); String encoding = "utf-8";
diff --git a/generator/schema2template/src/main/java/schema2template/model/NamespaceDictionary.java b/generator/schema2template/src/main/java/schema2template/model/NamespaceDictionary.java index ca3f877..ac2b976 100644 --- a/generator/schema2template/src/main/java/schema2template/model/NamespaceDictionary.java +++ b/generator/schema2template/src/main/java/schema2template/model/NamespaceDictionary.java
@@ -109,8 +109,10 @@ dict.put("grddl","http://www.w3.org/2003/g/data-view#"); dict.put("xhtml","http://www.w3.org/1999/xhtml"); dict.put("smil","urn:oasis:names:tc:opendocument:xmlns:smil-compatible:1.0"); - dict.put("xml", "http://www.w3.org/XML/1998/namespace"); - + dict.put("xml", "http://www.w3.org/XML/1998/namespace"); + dict.put("manifest", "urn:oasis:names:tc:opendocument:xmlns:manifest:1.0"); + dict.put("dsig", "urn:oasis:names:tc:opendocument:xmlns:digitalsignature:1.0"); + dict.put("ds", "http://www.w3.org/2000/09/xmldsig#"); return dict; }
diff --git a/generator/schema2template/src/main/java/schema2template/model/PuzzlePieceSet.java b/generator/schema2template/src/main/java/schema2template/model/PuzzlePieceSet.java index 5e45505..42d5768 100644 --- a/generator/schema2template/src/main/java/schema2template/model/PuzzlePieceSet.java +++ b/generator/schema2template/src/main/java/schema2template/model/PuzzlePieceSet.java
@@ -61,7 +61,7 @@ throw new RuntimeException("Attempt to " + plannedAction + " of empty DefinitionSet "); } } - + private void assertMultiples(String plannedAction) { assertNotEmpty(plannedAction); PuzzlePiece first = first(); @@ -85,7 +85,7 @@ public int hashCode() { return mDefinitions.hashCode(); } - + private PuzzlePiece first() { return this.iterator().next(); } @@ -139,7 +139,7 @@ } return retval; } - + /** * Make PuzzlePieceSet immutable. Cannot be undone. *
diff --git a/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/odfdom-dsig-attribute-template.vm b/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/odfdom-dsig-attribute-template.vm index 4c4a92f..b6e29dc 100644 --- a/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/odfdom-dsig-attribute-template.vm +++ b/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/odfdom-dsig-attribute-template.vm
@@ -18,18 +18,17 @@ ## under the License. ## ################################################################## -## Template to create the list of signature artefacts which are to be generated + +## Template to create the list of artifacts which are to be generated ## ## Documentation of template development can be found in local file ## TemplateHelp.html. ## ## Returns PuzzleComponent covering a PuzzlePiece or PuzzlePieceSet dependent if attribute is multiple times defined -## Template to create the list of artefacts which are to be generated -#set($attribute = $signaturemodel.getAttribute($context)) -#set($NS = "urn:oasis:names:tc:opendocument:xmlns:digitalsignature:1.0") -#set ($PREFIX = "dsig") -#set($localname = ${signaturemodel.extractLocalname($attribute)}) -#set($classname = "${signaturemodel.camelCase($attribute)}Attribute") +#set($attribute = $model.getAttribute($context)) +#set($NS = $attribute.getNamespace()) +#set($localname = ${model.extractLocalname($attribute)}) +#set($classname = "${model.camelCase($attribute.getLocalName())}Attribute") #set ($valueobject = "String") ## #set($datatypes = ${attribute.getDatatypes().withoutMultiples()}) @@ -95,22 +94,30 @@ #end import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; +#if ($hasDefaultValue and $defaultValueSet.size()>1) +#foreach ($parent in ${attribute.getParents().withoutMultiples()}) +#if ($model.getDefaultAttributeValue($attribute, $parent)) +import org.odftoolkit.odfdom.pkg.dsig.${model.camelCase($parent.getLocalName())}Element; +#end +#end +#end /** * DOM implementation of OpenDocument attribute {@odf.attribute ${attribute.getQName()}}. * */ public class $classname extends OdfAttribute { - public static final OdfName ATTRIBUTE_NAME = OdfName.newName("${NS}", "${PREFIX}:${attribute}"); + public static final OdfName ATTRIBUTE_NAME = OdfName.newName(OdfPackageNamespace.${NS.toUpperCase()}, "$localname"); #if ($hasDefaultValue) #if ($defaultValueSet.size()>1) #foreach ($defaultValue in $defaultValueSet) -#set ($constant = $signaturemodel.constantCase($defaultValue)) +#set ($constant = $model.constantCase($defaultValue)) #if (($defaultValue=="true" or $defaultValue=="false") and $enum == false) - public static final String DEFAULT_VALUE_${signaturemodel.escapeKeyword($constant)}= "$defaultValue"; + public static final String DEFAULT_VALUE_${model.escapeKeyword($constant)}= "$defaultValue"; #else - public static final String DEFAULT_VALUE_${signaturemodel.escapeKeyword($constant)}= Value.${signaturemodel.escapeKeyword($constant)}.toString(); + public static final String DEFAULT_VALUE_${model.escapeKeyword($constant)}= Value.${model.escapeKeyword($constant)}.toString(); #end #end #else @@ -160,8 +167,8 @@ #if (${value.toString().length()} == 1) #set ($constant = $value) #else -#set ($constant = $signaturemodel.constantCase($value)) -#end${separator}${signaturemodel.escapeKeyword($constant)}("${signaturemodel.escapeLiteral($value)}")#set ($separator=", ") +#set ($constant = $model.constantCase($value)) +#end${separator}${model.escapeKeyword($constant)}("${model.escapeLiteral($value)}")#set ($separator=", ") #end ; private String mValue; @@ -217,7 +224,7 @@ /** * @param value The <code>${simplevalue}</code> value of the attribute. */ - public void set${signaturemodel.camelCase($simplevalue)}Value(${simplevalue} value) { + public void set${model.camelCase($simplevalue)}Value(${simplevalue} value) { super.setValue(String.valueOf(value)); } @@ -227,7 +234,7 @@ public ${simplevalue} ${simplevalue}Value() { String val = super.getValue(); try { - return ${valueobject}.parse${signaturemodel.camelCase($simplevalue)}(val); + return ${valueobject}.parse${model.camelCase($simplevalue)}(val); } catch (NumberFormatException e) { // TODO: validation handling/logging throw (e); @@ -311,13 +318,13 @@ #if ($defaultValueSet.size()>1) #foreach ($parent in ${attribute.getParents().withoutMultiples()}) #if ($odfmodel.getDefaultAttributeValue($attribute, $parent)) - if (parentElement instanceof ${signaturemodel.camelCase($parent)}Element) { - defaultValue = "${signaturemodel.escapeLiteral($odfmodel.getDefaultAttributeValue($attribute, $parent))}"; + if (parentElement instanceof ${model.camelCase($parent)}Element) { + defaultValue = "${model.escapeLiteral($odfmodel.getDefaultAttributeValue($attribute, $parent))}"; } #end #end #else - defaultValue = "${signaturemodel.escapeLiteral($uniqueDefaultValue)}"; + defaultValue = "${model.escapeLiteral($uniqueDefaultValue)}"; #end } return defaultValue;
diff --git a/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/odfdom-dsig-element-template.vm b/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/odfdom-dsig-element-template.vm index 0ebb09a..eca6a7a 100644 --- a/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/odfdom-dsig-element-template.vm +++ b/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/odfdom-dsig-element-template.vm
@@ -23,15 +23,9 @@ ## Documentation of template development can be found in local file ## TemplateHelp.html. ## -#set ($element = ${signaturemodel.getElement($context)}) -#if ($element == "Signature") - #set ($NS = "http://www.w3.org/2000/09/xmldsig#") - #set ($PREFIX = "ds") -#else - #set ($NS = "urn:oasis:names:tc:opendocument:xmlns:digitalsignature:1.0") - #set ($PREFIX = "dsig") -#end -###set ($NS = "${element.getNamespace()}") +#set ($element = ${model.getElement($context)}) +#set ($oldelement = ${oldmodel.getElement($context)}) +#set ($NS = ${element.getNamespace()}) #set ($classname = "${model.camelCase($element)}Element") ## ## Set child element and child attributes @@ -79,7 +73,37 @@ import org.odftoolkit.odfdom.pkg.OdfElement; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; +#set ($element = ${model.getElement($context)}) +#set ($oldelement = ${oldmodel.getElement($context)}) +#set ($NS = ${element.getNamespace()}) +#set ($classname = "${model.camelCase($element.getLocalName())}Element") +#foreach ($child in $children) +#if ($child == "*") + #set ($anychild = true) +#else + #set ($childNS = ${child.getNamespace()}) + #set ($childClassname = "${model.camelCase($child.getLocalName())}Element") +#if ($childNS != $NS) +## we call it all DSIG no DS folder.. +## WE DO NOT IMPORT SAME PACKAGE FOLDER +##import org.odftoolkit.odfdom.pkg.dsig.$childClassname; +#end +#end +#end +## +#foreach ($child in $attributes) +#if ($child == "*") +#set ($anyattribute = true) +#else +#set ($childNS = ${child.getNamespace()}) +#set ($childClassname = "${model.camelCase($child.getLocalName())}Attribute") +#if (!$childNS.equals("dsig")) ## Do not generate "import" for the same package! +import org.odftoolkit.odfdom.pkg.${childNS}.$childClassname; +#end +#end +#end ## ## If there is a base class which is not in the current package #if ($baseimport) @@ -103,7 +127,7 @@ */ public class $classname extends $baseclassname { - public static final OdfName ELEMENT_NAME = OdfName.newName("${NS}", "${PREFIX}:${element}"); + public static final OdfName ELEMENT_NAME = OdfName.newName(OdfPackageNamespace.${NS.toUpperCase()}, "${element.getLocalName()}"); /** * Create the instance of <code>$classname</code> @@ -119,6 +143,7 @@ * * @return return <code>OdfName</code> the name of element {@odf.element ${context}}. */ + @Override public OdfName getOdfName() { return ELEMENT_NAME; } @@ -134,7 +159,7 @@ ## --------------------------------------------------- ## #foreach ($attr in $attributes) -#set($attri = ${signaturemodel.getAttribute($attr.getQName())}) +#set($attri = ${model.getAttribute($attr.getQName())}) #set ($valueObject = "String") #set ($simpleValue = "") #set ($dataTypes = ${attri.getDatatypes().withoutMultiples()}) @@ -169,8 +194,8 @@ #if ($attr != "*") #set ($attribute = ${attr.withMultiples()}) #set ($aNS = ${attribute.getNamespace()}) -#set ($aClassname = "${signaturemodel.camelCase($attribute)}Attribute") -#set ($aParam = "${signaturemodel.javaCase($attribute)}Value") +#set ($aClassname = "${model.camelCase($attribute.getLocalName())}Attribute") +#set ($aParam = "${model.javaCase($attribute.getLocalName())}Value") /** * Receives the value of the ODFDOM attribute representation <code>$aClassname</code> , See {@odf.attribute ${attribute.getQName()}} @@ -182,7 +207,7 @@ * @return - the <code>$valueObject</code> , the value or <code>null</code>, if the attribute is not set and no default value defined. */ public $valueObject get${aClassname}() { - $aClassname attr = ($aClassname) getOdfAttribute(${aClassname}.ATTRIBUTE_NAME); + $aClassname attr = ($aClassname) getOdfAttribute(OdfPackageNamespace.${aNS.toUpperCase()}, "${attribute.getLocalName()}"); if (attr != null) { #if ($simpleValue!="") return ${valueObject}.valueOf(attr.${simpleValue}Value()); @@ -191,14 +216,14 @@ #end } #if ($odfmodel.getDefaultAttributeValue($attribute, $element)) -#set ($defaultValue = ${signaturemodel.escapeLiteral($odfmodel.getDefaultAttributeValue($attribute, $element))}) +#set ($defaultValue = ${model.escapeLiteral($odfmodel.getDefaultAttributeValue($attribute, $element))}) #set ($defaultValueSet = $odfmodel.getDefaultAttributeValues($attribute)) #if ($defaultValueSet.size()>1) -#set ($constant = $signaturemodel.constantCase($defaultValue)) +#set ($constant = $model.constantCase($defaultValue)) #if ($valueObject == "String") - return ${aClassname}.DEFAULT_VALUE_${signaturemodel.escapeKeyword($constant)}; + return ${aClassname}.DEFAULT_VALUE_${model.escapeKeyword($constant)}; #else - return ${valueObject}.valueOf(${aClassname}.DEFAULT_VALUE_${signaturemodel.escapeKeyword($constant)}); + return ${valueObject}.valueOf(${aClassname}.DEFAULT_VALUE_${model.escapeKeyword($constant)}); #end #else #if ($valueObject == "String") @@ -223,7 +248,7 @@ #if ($valueObject == "String") attr.setValue($aParam); #else - attr.set${signaturemodel.camelCase($simpleValue)}Value($aParam.${simpleValue}Value()); + attr.set${model.camelCase($simpleValue)}Value($aParam.${simpleValue}Value()); #end } #end @@ -237,8 +262,8 @@ #foreach($ch in $children) #if ($ch != "*") #set ($child = ${ch.withMultiples()}) -#set ($cClassname = "${signaturemodel.camelCase($child)}Element") -#set ($cVar = ${signaturemodel.javaCase($child)}) +#set ($cClassname = "${model.camelCase($child.getLocalName())}Element") +#set ($cVar = ${model.javaCase($child)}) #set ($ch_attributes = ${child.getAttributes().withoutMultiples()}) ##set has parameter flag #set ($hasParams = false) @@ -255,7 +280,7 @@ #set ($params="") #foreach ($ch_attr in $ch_attributes) #if (${child.isMandatory($ch_attr)}) -#set($ch_attri = ${signaturemodel.getAttribute($ch_attr.getQName())}) +#set($ch_attri = ${model.getAttribute($ch_attr.getQName())}) #set ($ch_ValueObject = "String") #set ($ch_SimpleValue = "") #set ($ch_DataTypes = ${ch_attri.getDatatypes().withoutMultiples()}) @@ -290,8 +315,8 @@ #if ($ch_attr != "*") #set ($attribute = ${ch_attr.withMultiples()}) #set ($aNS = ${attribute.getNamespace()}) -#set ($aClassname = "${signaturemodel.camelCase($attribute)}Attribute") -#set ($aParam = "${signaturemodel.javaCase($attribute)}Value") +#set ($aClassname = "${model.camelCase($attribute.getLocalName())}Attribute") +#set ($aParam = "${model.javaCase($attribute.getLocalName())}Value") * @param $aParam the <code>$ch_ValueObject</code> value of <code>$aClassname</code>, see {@odf.attribute ${attribute.getQName()}} at specification #if ($ch_SimpleValue!="") #set ($params="${params}${seperateFlag}${ch_SimpleValue} ${aParam}") @@ -318,8 +343,8 @@ $cClassname $cVar = ((OdfFileDom) this.ownerDocument).newOdfElement(${cClassname}.class); #foreach ($ch_attr in $ch_attributes) #if ($ch_attr != "*" && ${child.isMandatory($ch_attr)}) -#set ($aClassname = "${signaturemodel.camelCase($ch_attr)}Attribute") -#set ($aParam = "${signaturemodel.javaCase($ch_attr)}Value") +#set ($aClassname = "${model.camelCase($ch_attr.getLocalName())}Attribute") +#set ($aParam = "${model.javaCase($ch_attr.getLocalName())}Value") ${cVar}.set$aClassname($aParam); #end #end @@ -362,7 +387,7 @@ * Add text content. Only elements which are allowed to have text content offer this method. */ public void newTextNode(String content) { - if (content != null && !content.equals("")) { + if (content != null && !content.isEmpty()) { this.appendChild(this.getOwnerDocument().createTextNode(content)); } }
diff --git a/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/odfdom-manifest-attribute-template.vm b/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/odfdom-manifest-attribute-template.vm index 7f025f5..9083006 100644 --- a/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/odfdom-manifest-attribute-template.vm +++ b/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/odfdom-manifest-attribute-template.vm
@@ -18,17 +18,17 @@ ## under the License. ## ################################################################## -## Template to create the list of manifest artefacts which are to be generated + +## Template to create the list of artefacts which are to be generated ## ## Documentation of template development can be found in local file ## TemplateHelp.html. ## ## Returns PuzzleComponent covering a PuzzlePiece or PuzzlePieceSet dependent if attribute is multiple times defined -#set($attribute = $manifestmodel.getAttribute($context)) -#set ($NS = "urn:oasis:names:tc:opendocument:xmlns:manifest:1.0") -#set($NS = ${attribute.getNamespace()}) -#set($localname = ${manifestmodel.extractLocalname($attribute)}) -#set($classname = "${manifestmodel.camelCase($attribute)}Attribute") +#set($attribute = $model.getAttribute($context)) +#set($NS = $attribute.getNamespace()) +#set($localname = ${model.extractLocalname($attribute)}) +#set($classname = "${model.camelCase($attribute.getLocalName())}Attribute") #set ($valueobject = "String") ## #set($datatypes = ${attribute.getDatatypes().withoutMultiples()}) @@ -94,11 +94,14 @@ #end import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; #if ($hasDefaultValue and $defaultValueSet.size()>1) #foreach ($parent in ${attribute.getParents().withoutMultiples()}) #if ($odfmodel.getDefaultAttributeValue($attribute, $parent)) -import org.odftoolkit.odfdom.pkg.${parent.getNamespace()}.${manifestmodel.camelCase($parent)}Element; +#if (!$parent.equals("manifest")) ## Do not generate "import" for the same package! +import org.odftoolkit.odfdom.pkg.manifest.${model.camelCase($parent.getLocalName())}Element; +#end #end #end #end @@ -108,15 +111,15 @@ */ public class $classname extends OdfAttribute { - public static final OdfName ATTRIBUTE_NAME = OdfName.newName("${NS}", "manifest:${attribute}"); + public static final OdfName ATTRIBUTE_NAME = OdfName.newName(OdfPackageNamespace.${NS.toUpperCase()}, "$localname"); #if ($hasDefaultValue) #if ($defaultValueSet.size()>1) #foreach ($defaultValue in $defaultValueSet) -#set ($constant = $manifestmodel.constantCase($defaultValue)) +#set ($constant = $model.constantCase($defaultValue)) #if (($defaultValue=="true" or $defaultValue=="false") and $enum == false) - public static final String DEFAULT_VALUE_${manifestmodel.escapeKeyword($constant)}= "$defaultValue"; + public static final String DEFAULT_VALUE_${model.escapeKeyword($constant)}= "$defaultValue"; #else - public static final String DEFAULT_VALUE_${manifestmodel.escapeKeyword($constant)}= Value.${manifestmodel.escapeKeyword($constant)}.toString(); + public static final String DEFAULT_VALUE_${model.escapeKeyword($constant)}= Value.${model.escapeKeyword($constant)}.toString(); #end #end #else @@ -166,8 +169,8 @@ #if (${value.toString().length()} == 1) #set ($constant = $value) #else -#set ($constant = $manifestmodel.constantCase($value)) -#end${separator}${manifestmodel.escapeKeyword($constant)}("${manifestmodel.escapeLiteral($value)}")#set ($separator=", ") +#set ($constant = $model.constantCase($value)) +#end${separator}${model.escapeKeyword($constant)}("${model.escapeLiteral($value)}")#set ($separator=", ") #end ; private String mValue; @@ -223,7 +226,7 @@ /** * @param value The <code>${simplevalue}</code> value of the attribute. */ - public void set${manifestmodel.camelCase($simplevalue)}Value(${simplevalue} value) { + public void set${model.camelCase($simplevalue)}Value(${simplevalue} value) { super.setValue(String.valueOf(value)); } @@ -233,7 +236,7 @@ public ${simplevalue} ${simplevalue}Value() { String val = super.getValue(); try { - return ${valueobject}.parse${manifestmodel.camelCase($simplevalue)}(val); + return ${valueobject}.parse${model.camelCase($simplevalue)}(val); } catch (NumberFormatException e) { // TODO: validation handling/logging throw (e); @@ -317,13 +320,13 @@ #if ($defaultValueSet.size()>1) #foreach ($parent in ${attribute.getParents().withoutMultiples()}) #if ($odfmodel.getDefaultAttributeValue($attribute, $parent)) - if (parentElement instanceof ${manifestmodel.camelCase($parent)}Element) { - defaultValue = "${manifestmodel.escapeLiteral($odfmodel.getDefaultAttributeValue($attribute, $parent))}"; + if (parentElement instanceof ${model.camelCase($parent)}Element) { + defaultValue = "${model.escapeLiteral($odfmodel.getDefaultAttributeValue($attribute, $parent))}"; } #end #end #else - defaultValue = "${manifestmodel.escapeLiteral($uniqueDefaultValue)}"; + defaultValue = "${model.escapeLiteral($uniqueDefaultValue)}"; #end } return defaultValue;
diff --git a/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/odfdom-manifest-element-template.vm b/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/odfdom-manifest-element-template.vm index 714aa99..8d0bd85 100644 --- a/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/odfdom-manifest-element-template.vm +++ b/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/odfdom-manifest-element-template.vm
@@ -18,15 +18,16 @@ ## under the License. ## ################################################################## -## Template to create the Java class representing an ODF manifest element + +## Template to create the Java class representing an ODF element ## ## Documentation of template development can be found in local file ## TemplateHelp.html. ## -#set ($element = ${manifestmodel.getElement($context)}) +#set ($element = ${model.getElement($context)}) #set ($oldelement = ${oldmodel.getElement($context)}) -###set ($NS = ${element.getNamespace()}) -#set ($classname = "${manifestmodel.camelCase($element)}Element") +#set ($NS = ${element.getNamespace()}) +#set ($classname = "${model.camelCase($element.getLocalName())}Element") ## ## Set child element and child attributes #set ($children = ${element.getChildElements().withoutMultiples()}) @@ -60,6 +61,26 @@ import org.odftoolkit.odfdom.pkg.OdfElement; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; + +## +#foreach ($child in $attributes) +#if ($child == "*") +#set ($anyattribute = true) +#else +#set ($childNS = ${child.getNamespace()}) +#set ($childClassname = "${model.camelCase($child.getLocalName())}Attribute") +#if (!$childNS.equals("manifest")) ## Do not generate "import" for the same package! +import org.odftoolkit.odfdom.pkg.${childNS}.$childClassname; +#end +#end +#end +## +## If there is a base class which is not in the current package +#if ($baseimport) +import ${baseimport}; +#end + ## ## --------------------------------------------------- ## Class @@ -77,7 +98,7 @@ */ public class $classname extends $baseclassname { - public static final OdfName ELEMENT_NAME = OdfName.newName("urn:oasis:names:tc:opendocument:xmlns:manifest:1.0", "manifest:${element}"); + public static final OdfName ELEMENT_NAME = OdfName.newName(OdfPackageNamespace.${NS.toUpperCase()}, "${element.getLocalName()}"); /** * Create the instance of <code>$classname</code> @@ -93,6 +114,7 @@ * * @return return <code>OdfName</code> the name of element {@odf.element ${context}}. */ + @Override public OdfName getOdfName() { return ELEMENT_NAME; } @@ -108,7 +130,7 @@ ## --------------------------------------------------- ## #foreach ($attr in $attributes) -#set($attri = ${manifestmodel.getAttribute($attr.getQName())}) +#set($attri = ${model.getAttribute($attr.getQName())}) #set ($valueObject = "String") #set ($simpleValue = "") #set ($dataTypes = ${attri.getDatatypes().withoutMultiples()}) @@ -143,8 +165,8 @@ #if ($attr != "*") #set ($attribute = ${attr.withMultiples()}) #set ($aNS = ${attribute.getNamespace()}) -#set ($aClassname = "${manifestmodel.camelCase($attribute)}Attribute") -#set ($aParam = "${manifestmodel.javaCase($attribute)}Value") +#set ($aClassname = "${model.camelCase($attribute.getLocalName())}Attribute") +#set ($aParam = "${model.javaCase($attribute.getLocalName())}Value") /** * Receives the value of the ODFDOM attribute representation <code>$aClassname</code> , See {@odf.attribute ${attribute.getQName()}} @@ -156,7 +178,7 @@ * @return - the <code>$valueObject</code> , the value or <code>null</code>, if the attribute is not set and no default value defined. */ public $valueObject get${aClassname}() { - $aClassname attr = ($aClassname) getOdfAttribute(${aClassname}.ATTRIBUTE_NAME); + $aClassname attr = ($aClassname) getOdfAttribute(OdfPackageNamespace.${aNS.toUpperCase()}, "${attribute.getLocalName()}"); if (attr != null) { #if ($simpleValue!="") return ${valueObject}.valueOf(attr.${simpleValue}Value()); @@ -165,14 +187,14 @@ #end } #if ($odfmodel.getDefaultAttributeValue($attribute, $element)) -#set ($defaultValue = ${manifestmodel.escapeLiteral($odfmodel.getDefaultAttributeValue($attribute, $element))}) +#set ($defaultValue = ${model.escapeLiteral($odfmodel.getDefaultAttributeValue($attribute, $element))}) #set ($defaultValueSet = $odfmodel.getDefaultAttributeValues($attribute)) #if ($defaultValueSet.size()>1) -#set ($constant = $manifestmodel.constantCase($defaultValue)) +#set ($constant = $model.constantCase($defaultValue)) #if ($valueObject == "String") - return ${aClassname}.DEFAULT_VALUE_${manifestmodel.escapeKeyword($constant)}; + return ${aClassname}.DEFAULT_VALUE_${model.escapeKeyword($constant)}; #else - return ${valueObject}.valueOf(${aClassname}.DEFAULT_VALUE_${manifestmodel.escapeKeyword($constant)}); + return ${valueObject}.valueOf(${aClassname}.DEFAULT_VALUE_${model.escapeKeyword($constant)}); #end #else #if ($valueObject == "String") @@ -197,7 +219,7 @@ #if ($valueObject == "String") attr.setValue($aParam); #else - attr.set${manifestmodel.camelCase($simpleValue)}Value($aParam.${simpleValue}Value()); + attr.set${model.camelCase($simpleValue)}Value($aParam.${simpleValue}Value()); #end } #end @@ -211,8 +233,8 @@ #foreach($ch in $children) #if ($ch != "*") #set ($child = ${ch.withMultiples()}) -#set ($cClassname = "${manifestmodel.camelCase($child)}Element") -#set ($cVar = ${manifestmodel.javaCase($child)}) +#set ($cClassname = "${model.camelCase($child.getLocalName())}Element") +#set ($cVar = ${model.javaCase($child)}) #set ($ch_attributes = ${child.getAttributes().withoutMultiples()}) ##set has parameter flag #set ($hasParams = false) @@ -229,7 +251,7 @@ #set ($params="") #foreach ($ch_attr in $ch_attributes) #if (${child.isMandatory($ch_attr)}) -#set($ch_attri = ${manifestmodel.getAttribute($ch_attr.getQName())}) +#set($ch_attri = ${model.getAttribute($ch_attr.getQName())}) #set ($ch_ValueObject = "String") #set ($ch_SimpleValue = "") #set ($ch_DataTypes = ${ch_attri.getDatatypes().withoutMultiples()}) @@ -264,8 +286,8 @@ #if ($ch_attr != "*") #set ($attribute = ${ch_attr.withMultiples()}) #set ($aNS = ${attribute.getNamespace()}) -#set ($aClassname = "${manifestmodel.camelCase($attribute)}Attribute") -#set ($aParam = "${manifestmodel.javaCase($attribute)}Value") +#set ($aClassname = "${model.camelCase($attribute.getLocalName())}Attribute") +#set ($aParam = "${model.javaCase($attribute.getLocalName())}Value") * @param $aParam the <code>$ch_ValueObject</code> value of <code>$aClassname</code>, see {@odf.attribute ${attribute.getQName()}} at specification #if ($ch_SimpleValue!="") #set ($params="${params}${seperateFlag}${ch_SimpleValue} ${aParam}") @@ -292,8 +314,8 @@ $cClassname $cVar = ((OdfFileDom) this.ownerDocument).newOdfElement(${cClassname}.class); #foreach ($ch_attr in $ch_attributes) #if ($ch_attr != "*" && ${child.isMandatory($ch_attr)}) -#set ($aClassname = "${manifestmodel.camelCase($ch_attr)}Attribute") -#set ($aParam = "${manifestmodel.javaCase($ch_attr)}Value") +#set ($aClassname = "${model.camelCase($ch_attr.getLocalName())}Attribute") +#set ($aParam = "${model.javaCase($ch_attr.getLocalName())}Value") ${cVar}.set$aClassname($aParam); #end #end @@ -336,7 +358,7 @@ * Add text content. Only elements which are allowed to have text content offer this method. */ public void newTextNode(String content) { - if (content != null && !content.equals("")) { + if (content != null && !content.isEmpty()) { this.appendChild(this.getOwnerDocument().createTextNode(content)); } }
diff --git a/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/pkg-output-files.vm b/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/pkg-dsig-output-files.vm similarity index 62% copy from generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/pkg-output-files.vm copy to generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/pkg-dsig-output-files.vm index f5e3f81..19a9350 100644 --- a/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/pkg-output-files.vm +++ b/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/pkg-dsig-output-files.vm
@@ -1,62 +1,45 @@ -################################################################## -## -## Licensed to the Apache Software Foundation (ASF) under one -## or more contributor license agreements. See the NOTICE file -## distributed with this work for additional information -## regarding copyright ownership. The ASF licenses this file -## to you under the Apache License, Version 2.0 (the -## "License"); you may not use this file except in compliance -## with the License. You may obtain a copy of the License at -## -## http://www.apache.org/licenses/LICENSE-2.0 -## -## Unless required by applicable law or agreed to in writing, -## software distributed under the License is distributed on an -## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -## KIND, either express or implied. See the License for the -## specific language governing permissions and limitations -## under the License. -## -################################################################## -<?xml version="1.0" encoding="UTF-8"?> -## Template to create the list of artefacts which are to be generated -## -## Documentation of template development can be found in local file -## src/main/resources/documentation/help.html -## -<filelist> -## -#foreach ($element in ${signaturemodel.getElements().withoutMultiples()}) -#if ($element != "*") -## -#set($classname = "${signaturemodel.camelCase($element)}Element") - <file path="org/odftoolkit/odfdom/pkg/dsig/${classname}.java" context="$element" template="odfdom-dsig-element-template.vm" /> -## -#end -#end -## -#foreach ($attribute in ${signaturemodel.getAttributes().withoutMultiples()}) -#if ($attribute != "*") -## -#set($classname = "${signaturemodel.camelCase($attribute)}Attribute") - <file path="org/odftoolkit/odfdom/pkg/dsig/${classname}.java" context="$attribute" template="odfdom-dsig-attribute-template.vm" /> -#end -#end -## -#foreach ($element in ${manifestmodel.getElements().withoutMultiples()}) -#if ($element != "*") -## -#set($classname = "${manifestmodel.camelCase($element)}Element") - <file path="org/odftoolkit/odfdom/pkg/manifest/${classname}.java" context="$element" template="odfdom-manifest-element-template.vm" /> -## -#end -#end -## -#foreach ($attribute in ${manifestmodel.getAttributes().withoutMultiples()}) -#if ($attribute != "*") -## -#set($classname = "${manifestmodel.camelCase($attribute)}Attribute") - <file path="org/odftoolkit/odfdom/pkg/manifest/${classname}.java" context="$attribute" template="odfdom-manifest-attribute-template.vm" /> -#end -#end -</filelist> +################################################################## +## +## Licensed to the Apache Software Foundation (ASF) under one +## or more contributor license agreements. See the NOTICE file +## distributed with this work for additional information +## regarding copyright ownership. The ASF licenses this file +## to you under the Apache License, Version 2.0 (the +## "License"); you may not use this file except in compliance +## with the License. You may obtain a copy of the License at +## +## http://www.apache.org/licenses/LICENSE-2.0 +## +## Unless required by applicable law or agreed to in writing, +## software distributed under the License is distributed on an +## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +## KIND, either express or implied. See the License for the +## specific language governing permissions and limitations +## under the License. +## +################################################################## +<?xml version="1.0" encoding="UTF-8"?> +## Template to create the list of artefacts which are to be generated +## +## Documentation of template development can be found in local file +## src/main/resources/documentation/help.html +## +<filelist> +## +#foreach ($element in ${model.getElements().withoutMultiples()}) +#if ($element != "*") +## +#set($classname = "${model.camelCase($element.getLocalName())}Element") + <file path="org/odftoolkit/odfdom/pkg/dsig/${classname}.java" context="$element" template="odfdom-dsig-element-template.vm" /> +## +#end +#end +## +#foreach ($attribute in ${model.getAttributes().withoutMultiples()}) +#if ($attribute != "*") +## +#set($classname = "${model.camelCase($attribute.getLocalName())}Attribute") + <file path="org/odftoolkit/odfdom/pkg/dsig/${classname}.java" context="$attribute" template="odfdom-dsig-attribute-template.vm" /> +#end +#end +</filelist>
diff --git a/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/pkg-output-files.vm b/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/pkg-manifest-output-files.vm similarity index 62% rename from generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/pkg-output-files.vm rename to generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/pkg-manifest-output-files.vm index f5e3f81..9f0cfc0 100644 --- a/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/pkg-output-files.vm +++ b/generator/schema2template/src/main/resources/examples/odf/odfdom-java/pkg/pkg-manifest-output-files.vm
@@ -1,62 +1,44 @@ -################################################################## -## -## Licensed to the Apache Software Foundation (ASF) under one -## or more contributor license agreements. See the NOTICE file -## distributed with this work for additional information -## regarding copyright ownership. The ASF licenses this file -## to you under the Apache License, Version 2.0 (the -## "License"); you may not use this file except in compliance -## with the License. You may obtain a copy of the License at -## -## http://www.apache.org/licenses/LICENSE-2.0 -## -## Unless required by applicable law or agreed to in writing, -## software distributed under the License is distributed on an -## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -## KIND, either express or implied. See the License for the -## specific language governing permissions and limitations -## under the License. -## -################################################################## -<?xml version="1.0" encoding="UTF-8"?> -## Template to create the list of artefacts which are to be generated -## -## Documentation of template development can be found in local file -## src/main/resources/documentation/help.html -## -<filelist> -## -#foreach ($element in ${signaturemodel.getElements().withoutMultiples()}) -#if ($element != "*") -## -#set($classname = "${signaturemodel.camelCase($element)}Element") - <file path="org/odftoolkit/odfdom/pkg/dsig/${classname}.java" context="$element" template="odfdom-dsig-element-template.vm" /> -## -#end -#end -## -#foreach ($attribute in ${signaturemodel.getAttributes().withoutMultiples()}) -#if ($attribute != "*") -## -#set($classname = "${signaturemodel.camelCase($attribute)}Attribute") - <file path="org/odftoolkit/odfdom/pkg/dsig/${classname}.java" context="$attribute" template="odfdom-dsig-attribute-template.vm" /> -#end -#end -## -#foreach ($element in ${manifestmodel.getElements().withoutMultiples()}) -#if ($element != "*") -## -#set($classname = "${manifestmodel.camelCase($element)}Element") - <file path="org/odftoolkit/odfdom/pkg/manifest/${classname}.java" context="$element" template="odfdom-manifest-element-template.vm" /> -## -#end -#end -## -#foreach ($attribute in ${manifestmodel.getAttributes().withoutMultiples()}) -#if ($attribute != "*") -## -#set($classname = "${manifestmodel.camelCase($attribute)}Attribute") - <file path="org/odftoolkit/odfdom/pkg/manifest/${classname}.java" context="$attribute" template="odfdom-manifest-attribute-template.vm" /> -#end -#end -</filelist> +################################################################## +## +## Licensed to the Apache Software Foundation (ASF) under one +## or more contributor license agreements. See the NOTICE file +## distributed with this work for additional information +## regarding copyright ownership. The ASF licenses this file +## to you under the Apache License, Version 2.0 (the +## "License"); you may not use this file except in compliance +## with the License. You may obtain a copy of the License at +## +## http://www.apache.org/licenses/LICENSE-2.0 +## +## Unless required by applicable law or agreed to in writing, +## software distributed under the License is distributed on an +## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +## KIND, either express or implied. See the License for the +## specific language governing permissions and limitations +## under the License. +## +################################################################## +<?xml version="1.0" encoding="UTF-8"?> +## Template to create the list of artefacts which are to be generated +## +## Documentation of template development can be found in local file +## src/main/resources/documentation/help.html +## +<filelist> +#foreach ($element in ${model.getElements().withoutMultiples()}) +#if ($element != "*") +## +#set($classname = "${model.camelCase($element.getLocalName())}Element") + <file path="org/odftoolkit/odfdom/pkg/manifest/${classname}.java" context="$element" template="odfdom-manifest-element-template.vm" /> +## +#end +#end +## +#foreach ($attribute in ${model.getAttributes().withoutMultiples()}) +#if ($attribute != "*") +## +#set($classname = "${model.camelCase($attribute.getLocalName())}Attribute") + <file path="org/odftoolkit/odfdom/pkg/manifest/${classname}.java" context="$attribute" template="odfdom-manifest-attribute-template.vm" /> +#end +#end +</filelist>
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/OdfPackageNamespace.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/OdfPackageNamespace.java index 461d955..f325014 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/OdfPackageNamespace.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/OdfPackageNamespace.java
@@ -26,8 +26,10 @@ public enum OdfPackageNamespace implements NamespaceName { - MANIFEST("chart", "urn:oasis:names:tc:opendocument:xmlns:manifest:1.0"), - XML("xml", "http://www.w3.org/XML/1998/namespace" ); + MANIFEST("manifest", "urn:oasis:names:tc:opendocument:xmlns:manifest:1.0"), + XML("xml", "http://www.w3.org/XML/1998/namespace"), + DSIG("dsig", "urn:oasis:names:tc:opendocument:xmlns:digitalsignature:1.0"), + DS("ds", "http://www.w3.org/2000/09/xmldsig#"); private String mPrefix; private String mUri;
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/dsig/DocumentSignaturesElement.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/dsig/DocumentSignaturesElement.java index 9b4d949..44be07a 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/dsig/DocumentSignaturesElement.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/dsig/DocumentSignaturesElement.java
@@ -31,20 +31,21 @@ import org.odftoolkit.odfdom.pkg.OdfElement; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; /** - * DOM implementation of OpenDocument element {@odf.element dsig:document-signatures}. + * Data signature implementation of OpenDocument element {@odf.element dsig:document-signatures}. * */ public class DocumentSignaturesElement extends OdfElement { - public static final OdfName ELEMENT_NAME = OdfName.newName("urn:oasis:names:tc:opendocument:xmlns:digitalsignature:1.0", "dsig:document-signatures"); + public static final OdfName ELEMENT_NAME = OdfName.newName(OdfPackageNamespace.DSIG, "document-signatures"); /** * Create the instance of <code>DocumentSignaturesElement</code> * - * @param ownerDoc The type is <code>OdfFileDom</code> + * @param ownerDoc The type is <code>OdfFileDom</code> */ public DocumentSignaturesElement(OdfFileDom ownerDoc) { super(ownerDoc, ELEMENT_NAME); @@ -53,8 +54,9 @@ /** * Get the element name * - * @return return <code>OdfName</code> the name of element {@odf.element dsig:document-signatures}. + * @return return <code>OdfName</code> the name of element {@odf.element dsig:document-signatures}. */ + @Override public OdfName getOdfName() { return ELEMENT_NAME; } @@ -67,7 +69,7 @@ * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set and no default value defined. */ public String getVersionAttribute() { - VersionAttribute attr = (VersionAttribute) getOdfAttribute(VersionAttribute.ATTRIBUTE_NAME); + VersionAttribute attr = (VersionAttribute) getOdfAttribute(OdfPackageNamespace.DSIG, "version"); if (attr != null) { return String.valueOf(attr.getValue()); } @@ -95,9 +97,9 @@ * @return the element {@odf.element ds:Signature} */ public SignatureElement newSignatureElement() { - SignatureElement signature = ((OdfFileDom) this.ownerDocument).newOdfElement(SignatureElement.class); - this.appendChild(signature); - return signature; + SignatureElement dsSignature = ((OdfFileDom) this.ownerDocument).newOdfElement(SignatureElement.class); + this.appendChild(dsSignature); + return dsSignature; } }
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/dsig/SignatureElement.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/dsig/SignatureElement.java index 696ae4a..c7fa75e 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/dsig/SignatureElement.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/dsig/SignatureElement.java
@@ -31,20 +31,23 @@ import org.odftoolkit.odfdom.pkg.OdfElement; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; /** - * DOM implementation of OpenDocument element {@odf.element ds:Signature}. + * Data signature implementation of OpenDocument element {@odf.element ds:Signature}. * + * This class can have any org.w3c.dom.Element child element. + * This class can have any org.w3c.dom.Attribute attribute. */ public class SignatureElement extends OdfElement { - public static final OdfName ELEMENT_NAME = OdfName.newName("http://www.w3.org/2000/09/xmldsig#", "ds:Signature"); + public static final OdfName ELEMENT_NAME = OdfName.newName(OdfPackageNamespace.DS, "Signature"); /** * Create the instance of <code>SignatureElement</code> * - * @param ownerDoc The type is <code>OdfFileDom</code> + * @param ownerDoc The type is <code>OdfFileDom</code> */ public SignatureElement(OdfFileDom ownerDoc) { super(ownerDoc, ELEMENT_NAME); @@ -53,8 +56,9 @@ /** * Get the element name * - * @return return <code>OdfName</code> the name of element {@odf.element ds:Signature}. + * @return return <code>OdfName</code> the name of element {@odf.element ds:Signature}. */ + @Override public OdfName getOdfName() { return ELEMENT_NAME; } @@ -63,7 +67,7 @@ * Add text content. Only elements which are allowed to have text content offer this method. */ public void newTextNode(String content) { - if (content != null && !content.equals("")) { + if (content != null && !content.isEmpty()) { this.appendChild(this.getOwnerDocument().createTextNode(content)); } }
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/dsig/VersionAttribute.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/dsig/VersionAttribute.java index 32fed37..5617f2a 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/dsig/VersionAttribute.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/dsig/VersionAttribute.java
@@ -1,3 +1,4 @@ + /************************************************************************ * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER @@ -31,6 +32,7 @@ import org.odftoolkit.odfdom.pkg.OdfAttribute; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; /** * DOM implementation of OpenDocument attribute {@odf.attribute dsig:version}. @@ -38,7 +40,7 @@ */ public class VersionAttribute extends OdfAttribute { - public static final OdfName ATTRIBUTE_NAME = OdfName.newName("urn:oasis:names:tc:opendocument:xmlns:digitalsignature:1.0", "dsig:version"); + public static final OdfName ATTRIBUTE_NAME = OdfName.newName(OdfPackageNamespace.DSIG, "version"); /** * Create the instance of OpenDocument attribute {@odf.attribute dsig:version}.
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/AlgorithmElement.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/AlgorithmElement.java index e70d8b0..2edef02 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/AlgorithmElement.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/AlgorithmElement.java
@@ -1,3 +1,4 @@ + /************************************************************************ * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER @@ -31,18 +32,21 @@ import org.odftoolkit.odfdom.pkg.OdfElement; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; + + /** * Manifest implementation of OpenDocument element {@odf.element manifest:algorithm}. * */ public class AlgorithmElement extends OdfElement { - public static final OdfName ELEMENT_NAME = OdfName.newName("urn:oasis:names:tc:opendocument:xmlns:manifest:1.0", "manifest:algorithm"); + public static final OdfName ELEMENT_NAME = OdfName.newName(OdfPackageNamespace.MANIFEST, "algorithm"); /** * Create the instance of <code>AlgorithmElement</code> * - * @param ownerDoc The type is <code>OdfFileDom</code> + * @param ownerDoc The type is <code>OdfFileDom</code> */ public AlgorithmElement(OdfFileDom ownerDoc) { super(ownerDoc, ELEMENT_NAME); @@ -53,6 +57,7 @@ * * @return return <code>OdfName</code> the name of element {@odf.element manifest:algorithm}. */ + @Override public OdfName getOdfName() { return ELEMENT_NAME; } @@ -65,7 +70,7 @@ * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set and no default value defined. */ public String getAlgorithmNameAttribute() { - AlgorithmNameAttribute attr = (AlgorithmNameAttribute) getOdfAttribute(AlgorithmNameAttribute.ATTRIBUTE_NAME); + AlgorithmNameAttribute attr = (AlgorithmNameAttribute) getOdfAttribute(OdfPackageNamespace.MANIFEST, "algorithm-name"); if (attr != null) { return String.valueOf(attr.getValue()); } @@ -91,7 +96,7 @@ * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set and no default value defined. */ public String getInitialisationVectorAttribute() { - InitialisationVectorAttribute attr = (InitialisationVectorAttribute) getOdfAttribute(InitialisationVectorAttribute.ATTRIBUTE_NAME); + InitialisationVectorAttribute attr = (InitialisationVectorAttribute) getOdfAttribute(OdfPackageNamespace.MANIFEST, "initialisation-vector"); if (attr != null) { return String.valueOf(attr.getValue()); }
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/AlgorithmNameAttribute.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/AlgorithmNameAttribute.java index 60c04a3..c592b8d 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/AlgorithmNameAttribute.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/AlgorithmNameAttribute.java
@@ -1,3 +1,4 @@ + /************************************************************************ * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER @@ -31,6 +32,7 @@ import org.odftoolkit.odfdom.pkg.OdfAttribute; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; /** * Manifest implementation of OpenDocument attribute {@odf.attribute manifest:algorithm-name}. @@ -38,7 +40,7 @@ */ public class AlgorithmNameAttribute extends OdfAttribute { - public static final OdfName ATTRIBUTE_NAME = OdfName.newName("urn:oasis:names:tc:opendocument:xmlns:manifest:1.0", "manifest:algorithm-name"); + public static final OdfName ATTRIBUTE_NAME = OdfName.newName(OdfPackageNamespace.MANIFEST, "algorithm-name"); /** * Create the instance of OpenDocument attribute {@odf.attribute manifest:algorithm-name}.
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/ChecksumAttribute.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/ChecksumAttribute.java index 159bf53..79929d1 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/ChecksumAttribute.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/ChecksumAttribute.java
@@ -1,3 +1,4 @@ + /************************************************************************ * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER @@ -31,6 +32,7 @@ import org.odftoolkit.odfdom.pkg.OdfAttribute; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; /** * Manifest implementation of OpenDocument attribute {@odf.attribute manifest:checksum}. @@ -38,7 +40,7 @@ */ public class ChecksumAttribute extends OdfAttribute { - public static final OdfName ATTRIBUTE_NAME = OdfName.newName("urn:oasis:names:tc:opendocument:xmlns:manifest:1.0", "manifest:checksum"); + public static final OdfName ATTRIBUTE_NAME = OdfName.newName(OdfPackageNamespace.MANIFEST, "checksum"); /** * Create the instance of OpenDocument attribute {@odf.attribute manifest:checksum}. @@ -93,7 +95,7 @@ return super.getValue(); } catch (IllegalArgumentException e) { // TODO: validation handling/logging - throw new NumberFormatException("the value of checksum is not valid"); + throw new NumberFormatException("the value of manifest:checksum is not valid"); } }
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/ChecksumTypeAttribute.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/ChecksumTypeAttribute.java index 445b1f6..c7b99f5 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/ChecksumTypeAttribute.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/ChecksumTypeAttribute.java
@@ -1,3 +1,4 @@ + /************************************************************************ * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER @@ -31,6 +32,7 @@ import org.odftoolkit.odfdom.pkg.OdfAttribute; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; /** * Manifest implementation of OpenDocument attribute {@odf.attribute manifest:checksum-type}. @@ -38,7 +40,7 @@ */ public class ChecksumTypeAttribute extends OdfAttribute { - public static final OdfName ATTRIBUTE_NAME = OdfName.newName("urn:oasis:names:tc:opendocument:xmlns:manifest:1.0", "manifest:checksum-type"); + public static final OdfName ATTRIBUTE_NAME = OdfName.newName(OdfPackageNamespace.MANIFEST, "checksum-type"); /** * Create the instance of OpenDocument attribute {@odf.attribute manifest:checksum-type}.
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/EncryptionDataElement.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/EncryptionDataElement.java index 8e3aa02..5add791 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/EncryptionDataElement.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/EncryptionDataElement.java
@@ -1,9 +1,10 @@ + /************************************************************************ * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER - * + * * Use is subject to license terms. - * + * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. @@ -32,19 +33,20 @@ import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; -import org.w3c.dom.NodeList; + + /** * Manifest implementation of OpenDocument element {@odf.element manifest:encryption-data}. * */ public class EncryptionDataElement extends OdfElement { - public static final OdfName ELEMENT_NAME = OdfName.newName("urn:oasis:names:tc:opendocument:xmlns:manifest:1.0", "manifest:encryption-data"); + public static final OdfName ELEMENT_NAME = OdfName.newName(OdfPackageNamespace.MANIFEST, "encryption-data"); /** * Create the instance of <code>EncryptionDataElement</code> * - * @param ownerDoc The type is <code>OdfFileDom</code> + * @param ownerDoc The type is <code>OdfFileDom</code> */ public EncryptionDataElement(OdfFileDom ownerDoc) { super(ownerDoc, ELEMENT_NAME); @@ -55,6 +57,7 @@ * * @return return <code>OdfName</code> the name of element {@odf.element manifest:encryption-data}. */ + @Override public OdfName getOdfName() { return ELEMENT_NAME; } @@ -67,7 +70,7 @@ * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set and no default value defined. */ public String getChecksumAttribute() { - ChecksumAttribute attr = (ChecksumAttribute) getOdfAttribute(ChecksumAttribute.ATTRIBUTE_NAME); + ChecksumAttribute attr = (ChecksumAttribute) getOdfAttribute(OdfPackageNamespace.MANIFEST, "checksum"); if (attr != null) { return String.valueOf(attr.getValue()); } @@ -93,7 +96,7 @@ * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set and no default value defined. */ public String getChecksumTypeAttribute() { - ChecksumTypeAttribute attr = (ChecksumTypeAttribute) getOdfAttribute(ChecksumTypeAttribute.ATTRIBUTE_NAME); + ChecksumTypeAttribute attr = (ChecksumTypeAttribute) getOdfAttribute(OdfPackageNamespace.MANIFEST, "checksum-type"); if (attr != null) { return String.valueOf(attr.getValue()); } @@ -123,25 +126,11 @@ * @return the element {@odf.element manifest:algorithm} */ public AlgorithmElement newAlgorithmElement(String algorithmNameValue, String initialisationVectorValue) { - AlgorithmElement algorithm = ((OdfFileDom) this.ownerDocument).newOdfElement(AlgorithmElement.class); - algorithm.setAlgorithmNameAttribute(algorithmNameValue); - algorithm.setInitialisationVectorAttribute(initialisationVectorValue); - if(this.hasChildNodes()){ - OdfElement precedingSibling = null; - NodeList nl = this.getElementsByTagNameNS(OdfPackageNamespace.MANIFEST.getUri(), "start-key-generation"); - if(nl.getLength() == 0){ - nl = this.getElementsByTagNameNS(OdfPackageNamespace.MANIFEST.getUri(), "key-derivation"); - } - if(nl.getLength() != 0){ - precedingSibling = (OdfElement) nl.item(0); - this.insertBefore(algorithm, precedingSibling); - }else{ - this.appendChild(algorithm); - } - }else{ - this.appendChild(algorithm); - } - return algorithm; + AlgorithmElement manifestAlgorithm = ((OdfFileDom) this.ownerDocument).newOdfElement(AlgorithmElement.class); + manifestAlgorithm.setAlgorithmNameAttribute(algorithmNameValue); + manifestAlgorithm.setInitialisationVectorAttribute(initialisationVectorValue); + this.appendChild(manifestAlgorithm); + return manifestAlgorithm; } /** @@ -157,12 +146,12 @@ * @return the element {@odf.element manifest:key-derivation} */ public KeyDerivationElement newKeyDerivationElement(int iterationCountValue, String keyDerivationNameValue, String saltValue) { - KeyDerivationElement keyDerivation = ((OdfFileDom) this.ownerDocument).newOdfElement(KeyDerivationElement.class); - keyDerivation.setIterationCountAttribute(iterationCountValue); - keyDerivation.setKeyDerivationNameAttribute(keyDerivationNameValue); - keyDerivation.setSaltAttribute(saltValue); - this.appendChild(keyDerivation); - return keyDerivation; + KeyDerivationElement manifestKeyDerivation = ((OdfFileDom) this.ownerDocument).newOdfElement(KeyDerivationElement.class); + manifestKeyDerivation.setIterationCountAttribute(iterationCountValue); + manifestKeyDerivation.setKeyDerivationNameAttribute(keyDerivationNameValue); + manifestKeyDerivation.setSaltAttribute(saltValue); + this.appendChild(manifestKeyDerivation); + return manifestKeyDerivation; } /** @@ -174,22 +163,10 @@ * @return the element {@odf.element manifest:start-key-generation} */ public StartKeyGenerationElement newStartKeyGenerationElement(String startKeyGenerationNameValue) { - StartKeyGenerationElement startKeyGeneration = ((OdfFileDom) this.ownerDocument).newOdfElement(StartKeyGenerationElement.class); - startKeyGeneration.setStartKeyGenerationNameAttribute(startKeyGenerationNameValue); - - if(this.hasChildNodes()){ - OdfElement precedingSibling = null; - NodeList nl = this.getElementsByTagNameNS(OdfPackageNamespace.MANIFEST.getUri(), "key-derivation"); - if(nl.getLength() != 0){ - precedingSibling = (OdfElement) nl.item(0); - this.insertBefore(startKeyGeneration, precedingSibling); - }else{ - this.appendChild(startKeyGeneration); - } - }else{ - this.appendChild(startKeyGeneration); - } - return startKeyGeneration; + StartKeyGenerationElement manifestStartKeyGeneration = ((OdfFileDom) this.ownerDocument).newOdfElement(StartKeyGenerationElement.class); + manifestStartKeyGeneration.setStartKeyGenerationNameAttribute(startKeyGenerationNameValue); + this.appendChild(manifestStartKeyGeneration); + return manifestStartKeyGeneration; } }
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/FileEntryElement.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/FileEntryElement.java index 0962b41..69fdfd6 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/FileEntryElement.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/FileEntryElement.java
@@ -1,3 +1,4 @@ + /************************************************************************ * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER @@ -31,18 +32,21 @@ import org.odftoolkit.odfdom.pkg.OdfElement; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; + + /** * Manifest implementation of OpenDocument element {@odf.element manifest:file-entry}. * */ public class FileEntryElement extends OdfElement { - public static final OdfName ELEMENT_NAME = OdfName.newName("urn:oasis:names:tc:opendocument:xmlns:manifest:1.0", "manifest:file-entry"); + public static final OdfName ELEMENT_NAME = OdfName.newName(OdfPackageNamespace.MANIFEST, "file-entry"); /** * Create the instance of <code>FileEntryElement</code> * - * @param ownerDoc The type is <code>OdfFileDom</code> + * @param ownerDoc The type is <code>OdfFileDom</code> */ public FileEntryElement(OdfFileDom ownerDoc) { super(ownerDoc, ELEMENT_NAME); @@ -53,6 +57,7 @@ * * @return return <code>OdfName</code> the name of element {@odf.element manifest:file-entry}. */ + @Override public OdfName getOdfName() { return ELEMENT_NAME; } @@ -65,7 +70,7 @@ * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set and no default value defined. */ public String getFullPathAttribute() { - FullPathAttribute attr = (FullPathAttribute) getOdfAttribute(FullPathAttribute.ATTRIBUTE_NAME); + FullPathAttribute attr = (FullPathAttribute) getOdfAttribute(OdfPackageNamespace.MANIFEST, "full-path"); if (attr != null) { return String.valueOf(attr.getValue()); } @@ -91,7 +96,7 @@ * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set and no default value defined. */ public String getMediaTypeAttribute() { - MediaTypeAttribute attr = (MediaTypeAttribute) getOdfAttribute(MediaTypeAttribute.ATTRIBUTE_NAME); + MediaTypeAttribute attr = (MediaTypeAttribute) getOdfAttribute(OdfPackageNamespace.MANIFEST, "media-type"); if (attr != null) { return String.valueOf(attr.getValue()); } @@ -115,7 +120,7 @@ * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set and no default value defined. */ public String getPreferredViewModeAttribute() { - PreferredViewModeAttribute attr = (PreferredViewModeAttribute) getOdfAttribute(PreferredViewModeAttribute.ATTRIBUTE_NAME); + PreferredViewModeAttribute attr = (PreferredViewModeAttribute) getOdfAttribute(OdfPackageNamespace.MANIFEST, "preferred-view-mode"); if (attr != null) { return String.valueOf(attr.getValue()); } @@ -139,7 +144,7 @@ * @return - the <code>Integer</code> , the value or <code>null</code>, if the attribute is not set and no default value defined. */ public Integer getSizeAttribute() { - SizeAttribute attr = (SizeAttribute) getOdfAttribute(SizeAttribute.ATTRIBUTE_NAME); + SizeAttribute attr = (SizeAttribute) getOdfAttribute(OdfPackageNamespace.MANIFEST, "size"); if (attr != null) { return Integer.valueOf(attr.intValue()); } @@ -163,7 +168,7 @@ * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set and no default value defined. */ public String getVersionAttribute() { - VersionAttribute attr = (VersionAttribute) getOdfAttribute(VersionAttribute.ATTRIBUTE_NAME); + VersionAttribute attr = (VersionAttribute) getOdfAttribute(OdfPackageNamespace.MANIFEST, "version"); if (attr != null) { return String.valueOf(attr.getValue()); } @@ -191,11 +196,11 @@ * @return the element {@odf.element manifest:encryption-data} */ public EncryptionDataElement newEncryptionDataElement(String checksumValue, String checksumTypeValue) { - EncryptionDataElement encryptionData = ((OdfFileDom) this.ownerDocument).newOdfElement(EncryptionDataElement.class); - encryptionData.setChecksumAttribute(checksumValue); - encryptionData.setChecksumTypeAttribute(checksumTypeValue); - this.appendChild(encryptionData); - return encryptionData; + EncryptionDataElement manifestEncryptionData = ((OdfFileDom) this.ownerDocument).newOdfElement(EncryptionDataElement.class); + manifestEncryptionData.setChecksumAttribute(checksumValue); + manifestEncryptionData.setChecksumTypeAttribute(checksumTypeValue); + this.appendChild(manifestEncryptionData); + return manifestEncryptionData; } }
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/FullPathAttribute.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/FullPathAttribute.java index e21a0f4..f866d84 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/FullPathAttribute.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/FullPathAttribute.java
@@ -1,3 +1,4 @@ + /************************************************************************ * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER @@ -31,6 +32,7 @@ import org.odftoolkit.odfdom.pkg.OdfAttribute; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; /** * Manifest implementation of OpenDocument attribute {@odf.attribute manifest:full-path}. @@ -38,7 +40,7 @@ */ public class FullPathAttribute extends OdfAttribute { - public static final OdfName ATTRIBUTE_NAME = OdfName.newName("urn:oasis:names:tc:opendocument:xmlns:manifest:1.0", "manifest:full-path"); + public static final OdfName ATTRIBUTE_NAME = OdfName.newName(OdfPackageNamespace.MANIFEST, "full-path"); /** * Create the instance of OpenDocument attribute {@odf.attribute manifest:full-path}. @@ -93,7 +95,7 @@ return super.getValue(); } catch (IllegalArgumentException e) { // TODO: validation handling/logging - throw new NumberFormatException("the value of full-path is not valid"); + throw new NumberFormatException("the value of manifest:full-path is not valid"); } }
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/InitialisationVectorAttribute.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/InitialisationVectorAttribute.java index 525de5c..754cf84 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/InitialisationVectorAttribute.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/InitialisationVectorAttribute.java
@@ -1,3 +1,4 @@ + /************************************************************************ * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER @@ -31,6 +32,7 @@ import org.odftoolkit.odfdom.pkg.OdfAttribute; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; /** * Manifest implementation of OpenDocument attribute {@odf.attribute manifest:initialisation-vector}. @@ -38,7 +40,7 @@ */ public class InitialisationVectorAttribute extends OdfAttribute { - public static final OdfName ATTRIBUTE_NAME = OdfName.newName("urn:oasis:names:tc:opendocument:xmlns:manifest:1.0", "manifest:initialisation-vector"); + public static final OdfName ATTRIBUTE_NAME = OdfName.newName(OdfPackageNamespace.MANIFEST, "initialisation-vector"); /** * Create the instance of OpenDocument attribute {@odf.attribute manifest:initialisation-vector}. @@ -93,7 +95,7 @@ return super.getValue(); } catch (IllegalArgumentException e) { // TODO: validation handling/logging - throw new NumberFormatException("the value of initialisation-vector is not valid"); + throw new NumberFormatException("the value of manifest:initialisation-vector is not valid"); } }
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/IterationCountAttribute.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/IterationCountAttribute.java index 6a250b2..7cae61b 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/IterationCountAttribute.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/IterationCountAttribute.java
@@ -1,3 +1,4 @@ + /************************************************************************ * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER @@ -31,6 +32,7 @@ import org.odftoolkit.odfdom.pkg.OdfAttribute; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; /** * Manifest implementation of OpenDocument attribute {@odf.attribute manifest:iteration-count}. @@ -38,7 +40,7 @@ */ public class IterationCountAttribute extends OdfAttribute { - public static final OdfName ATTRIBUTE_NAME = OdfName.newName("urn:oasis:names:tc:opendocument:xmlns:manifest:1.0", "manifest:iteration-count"); + public static final OdfName ATTRIBUTE_NAME = OdfName.newName(OdfPackageNamespace.MANIFEST, "iteration-count"); /** * Create the instance of OpenDocument attribute {@odf.attribute manifest:iteration-count}. @@ -113,7 +115,7 @@ return super.getValue(); } catch (IllegalArgumentException e) { // TODO: validation handling/logging - throw new NumberFormatException("the value of iteration-count is not valid"); + throw new NumberFormatException("the value of manifest:iteration-count is not valid"); } }
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/KeyDerivationElement.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/KeyDerivationElement.java index c85ce80..7e97079 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/KeyDerivationElement.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/KeyDerivationElement.java
@@ -1,3 +1,4 @@ + /************************************************************************ * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER @@ -31,18 +32,21 @@ import org.odftoolkit.odfdom.pkg.OdfElement; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; + + /** * Manifest implementation of OpenDocument element {@odf.element manifest:key-derivation}. * */ public class KeyDerivationElement extends OdfElement { - public static final OdfName ELEMENT_NAME = OdfName.newName("urn:oasis:names:tc:opendocument:xmlns:manifest:1.0", "manifest:key-derivation"); + public static final OdfName ELEMENT_NAME = OdfName.newName(OdfPackageNamespace.MANIFEST, "key-derivation"); /** * Create the instance of <code>KeyDerivationElement</code> * - * @param ownerDoc The type is <code>OdfFileDom</code> + * @param ownerDoc The type is <code>OdfFileDom</code> */ public KeyDerivationElement(OdfFileDom ownerDoc) { super(ownerDoc, ELEMENT_NAME); @@ -53,6 +57,7 @@ * * @return return <code>OdfName</code> the name of element {@odf.element manifest:key-derivation}. */ + @Override public OdfName getOdfName() { return ELEMENT_NAME; } @@ -65,7 +70,7 @@ * @return - the <code>Integer</code> , the value or <code>null</code>, if the attribute is not set and no default value defined. */ public Integer getIterationCountAttribute() { - IterationCountAttribute attr = (IterationCountAttribute) getOdfAttribute(IterationCountAttribute.ATTRIBUTE_NAME); + IterationCountAttribute attr = (IterationCountAttribute) getOdfAttribute(OdfPackageNamespace.MANIFEST, "iteration-count"); if (attr != null) { return Integer.valueOf(attr.intValue()); } @@ -91,7 +96,7 @@ * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set and no default value defined. */ public String getKeyDerivationNameAttribute() { - KeyDerivationNameAttribute attr = (KeyDerivationNameAttribute) getOdfAttribute(KeyDerivationNameAttribute.ATTRIBUTE_NAME); + KeyDerivationNameAttribute attr = (KeyDerivationNameAttribute) getOdfAttribute(OdfPackageNamespace.MANIFEST, "key-derivation-name"); if (attr != null) { return String.valueOf(attr.getValue()); } @@ -115,7 +120,7 @@ * @return - the <code>Integer</code> , the value or <code>null</code>, if the attribute is not set and no default value defined. */ public Integer getKeySizeAttribute() { - KeySizeAttribute attr = (KeySizeAttribute) getOdfAttribute(KeySizeAttribute.ATTRIBUTE_NAME); + KeySizeAttribute attr = (KeySizeAttribute) getOdfAttribute(OdfPackageNamespace.MANIFEST, "key-size"); if (attr != null) { return Integer.valueOf(attr.intValue()); } @@ -141,7 +146,7 @@ * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set and no default value defined. */ public String getSaltAttribute() { - SaltAttribute attr = (SaltAttribute) getOdfAttribute(SaltAttribute.ATTRIBUTE_NAME); + SaltAttribute attr = (SaltAttribute) getOdfAttribute(OdfPackageNamespace.MANIFEST, "salt"); if (attr != null) { return String.valueOf(attr.getValue()); }
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/KeyDerivationNameAttribute.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/KeyDerivationNameAttribute.java index c345d27..6755038 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/KeyDerivationNameAttribute.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/KeyDerivationNameAttribute.java
@@ -1,3 +1,4 @@ + /************************************************************************ * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER @@ -31,6 +32,7 @@ import org.odftoolkit.odfdom.pkg.OdfAttribute; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; /** * Manifest implementation of OpenDocument attribute {@odf.attribute manifest:key-derivation-name}. @@ -38,7 +40,7 @@ */ public class KeyDerivationNameAttribute extends OdfAttribute { - public static final OdfName ATTRIBUTE_NAME = OdfName.newName("urn:oasis:names:tc:opendocument:xmlns:manifest:1.0", "manifest:key-derivation-name"); + public static final OdfName ATTRIBUTE_NAME = OdfName.newName(OdfPackageNamespace.MANIFEST, "key-derivation-name"); /** * Create the instance of OpenDocument attribute {@odf.attribute manifest:key-derivation-name}.
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/KeySizeAttribute.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/KeySizeAttribute.java index 2c1437a..35435bd 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/KeySizeAttribute.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/KeySizeAttribute.java
@@ -1,3 +1,4 @@ + /************************************************************************ * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER @@ -31,6 +32,7 @@ import org.odftoolkit.odfdom.pkg.OdfAttribute; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; /** * Manifest implementation of OpenDocument attribute {@odf.attribute manifest:key-size}. @@ -38,7 +40,7 @@ */ public class KeySizeAttribute extends OdfAttribute { - public static final OdfName ATTRIBUTE_NAME = OdfName.newName("urn:oasis:names:tc:opendocument:xmlns:manifest:1.0", "manifest:key-size"); + public static final OdfName ATTRIBUTE_NAME = OdfName.newName(OdfPackageNamespace.MANIFEST, "key-size"); /** * Create the instance of OpenDocument attribute {@odf.attribute manifest:key-size}. @@ -113,7 +115,7 @@ return super.getValue(); } catch (IllegalArgumentException e) { // TODO: validation handling/logging - throw new NumberFormatException("the value of key-size is not valid"); + throw new NumberFormatException("the value of manifest:key-size is not valid"); } }
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/ManifestElement.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/ManifestElement.java index e8ce4dc..774dc27 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/ManifestElement.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/ManifestElement.java
@@ -1,3 +1,4 @@ + /************************************************************************ * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER @@ -31,18 +32,21 @@ import org.odftoolkit.odfdom.pkg.OdfElement; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; + + /** * Manifest implementation of OpenDocument element {@odf.element manifest:manifest}. * */ public class ManifestElement extends OdfElement { - public static final OdfName ELEMENT_NAME = OdfName.newName("urn:oasis:names:tc:opendocument:xmlns:manifest:1.0", "manifest:manifest"); + public static final OdfName ELEMENT_NAME = OdfName.newName(OdfPackageNamespace.MANIFEST, "manifest"); /** * Create the instance of <code>ManifestElement</code> * - * @param ownerDoc The type is <code>OdfFileDom</code> + * @param ownerDoc The type is <code>OdfFileDom</code> */ public ManifestElement(OdfFileDom ownerDoc) { super(ownerDoc, ELEMENT_NAME); @@ -53,6 +57,7 @@ * * @return return <code>OdfName</code> the name of element {@odf.element manifest:manifest}. */ + @Override public OdfName getOdfName() { return ELEMENT_NAME; } @@ -65,7 +70,7 @@ * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set and no default value defined. */ public String getVersionAttribute() { - VersionAttribute attr = (VersionAttribute) getOdfAttribute(VersionAttribute.ATTRIBUTE_NAME); + VersionAttribute attr = (VersionAttribute) getOdfAttribute(OdfPackageNamespace.MANIFEST, "version"); if (attr != null) { return String.valueOf(attr.getValue()); } @@ -95,11 +100,11 @@ * @return the element {@odf.element manifest:file-entry} */ public FileEntryElement newFileEntryElement(String fullPathValue, String mediaTypeValue) { - FileEntryElement fileEntry = ((OdfFileDom) this.ownerDocument).newOdfElement(FileEntryElement.class); - fileEntry.setFullPathAttribute(fullPathValue); - fileEntry.setMediaTypeAttribute(mediaTypeValue); - this.appendChild(fileEntry); - return fileEntry; + FileEntryElement manifestFileEntry = ((OdfFileDom) this.ownerDocument).newOdfElement(FileEntryElement.class); + manifestFileEntry.setFullPathAttribute(fullPathValue); + manifestFileEntry.setMediaTypeAttribute(mediaTypeValue); + this.appendChild(manifestFileEntry); + return manifestFileEntry; } }
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/MediaTypeAttribute.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/MediaTypeAttribute.java index c3aab9c..7195567 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/MediaTypeAttribute.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/MediaTypeAttribute.java
@@ -1,3 +1,4 @@ + /************************************************************************ * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER @@ -31,6 +32,7 @@ import org.odftoolkit.odfdom.pkg.OdfAttribute; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; /** * Manifest implementation of OpenDocument attribute {@odf.attribute manifest:media-type}. @@ -38,7 +40,7 @@ */ public class MediaTypeAttribute extends OdfAttribute { - public static final OdfName ATTRIBUTE_NAME = OdfName.newName("urn:oasis:names:tc:opendocument:xmlns:manifest:1.0", "manifest:media-type"); + public static final OdfName ATTRIBUTE_NAME = OdfName.newName(OdfPackageNamespace.MANIFEST, "media-type"); /** * Create the instance of OpenDocument attribute {@odf.attribute manifest:media-type}. @@ -93,7 +95,7 @@ return super.getValue(); } catch (IllegalArgumentException e) { // TODO: validation handling/logging - throw new NumberFormatException("the value of media-type is not valid"); + throw new NumberFormatException("the value of manifest:media-type is not valid"); } }
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/OdfManifestDom.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/OdfManifestDom.java index 43d68d9..33c7e8c 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/OdfManifestDom.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/OdfManifestDom.java
@@ -25,23 +25,22 @@ import javax.xml.xpath.XPath; import javax.xml.xpath.XPathFactory; - import org.odftoolkit.odfdom.dom.OdfSchemaDocument; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfPackage; /** * The DOM representation of the ODF manifest.xml file of an ODF document. - * + * * @since 0.8.9 */ public class OdfManifestDom extends OdfFileDom { - + private static final long serialVersionUID = 8149848234988627233L; - + /** * Creates the DOM representation of an XML file of an Odf document. - * + * * @param odfDocument * the document the XML files belongs to * @param packagePath @@ -50,10 +49,10 @@ public OdfManifestDom(OdfSchemaDocument odfDocument, String packagePath) { super(odfDocument, packagePath); } - + /** * Creates the DOM representation of an XML file of an Odf document. - * + * * @param pkg * the package the XML files belongs to * @param packagePath @@ -62,7 +61,7 @@ public OdfManifestDom(OdfPackage pkg, String packagePath) { super(pkg, packagePath); } - + /** * Might be used to initialize specific XML Namespace prefixes/URIs for this * XML file @@ -73,7 +72,7 @@ mPrefixByUri.put("urn:oasis:names:tc:opendocument:xmlns:manifest:1.0", "manifest"); super.initialize(); } - + /** * @return The root element <manifest:manifest > of the manifest.xml file as * <code>ManifestElement</code>. @@ -82,12 +81,12 @@ public ManifestElement getRootElement() { return (ManifestElement) getDocumentElement(); } - + /** * Creates an JDK <code>XPath</code> instance. Initialized with ODF * namespaces from <code>OdfDocumentNamespace</code>. Updated with all * namespace of the XML file. - * + * * @return an XPath instance with namespace context set to include the * standard ODFDOM prefixes. */
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/PreferredViewModeAttribute.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/PreferredViewModeAttribute.java index e6cb6af..f0d770e 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/PreferredViewModeAttribute.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/PreferredViewModeAttribute.java
@@ -1,3 +1,4 @@ + /************************************************************************ * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER @@ -31,6 +32,7 @@ import org.odftoolkit.odfdom.pkg.OdfAttribute; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; /** * Manifest implementation of OpenDocument attribute {@odf.attribute manifest:preferred-view-mode}. @@ -38,7 +40,7 @@ */ public class PreferredViewModeAttribute extends OdfAttribute { - public static final OdfName ATTRIBUTE_NAME = OdfName.newName("urn:oasis:names:tc:opendocument:xmlns:manifest:1.0", "manifest:preferred-view-mode"); + public static final OdfName ATTRIBUTE_NAME = OdfName.newName(OdfPackageNamespace.MANIFEST, "preferred-view-mode"); /** * Create the instance of OpenDocument attribute {@odf.attribute manifest:preferred-view-mode}.
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/SaltAttribute.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/SaltAttribute.java index 8dd6016..9a71be7 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/SaltAttribute.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/SaltAttribute.java
@@ -1,3 +1,4 @@ + /************************************************************************ * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER @@ -31,6 +32,7 @@ import org.odftoolkit.odfdom.pkg.OdfAttribute; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; /** * Manifest implementation of OpenDocument attribute {@odf.attribute manifest:salt}. @@ -38,7 +40,7 @@ */ public class SaltAttribute extends OdfAttribute { - public static final OdfName ATTRIBUTE_NAME = OdfName.newName("urn:oasis:names:tc:opendocument:xmlns:manifest:1.0", "manifest:salt"); + public static final OdfName ATTRIBUTE_NAME = OdfName.newName(OdfPackageNamespace.MANIFEST, "salt"); /** * Create the instance of OpenDocument attribute {@odf.attribute manifest:salt}. @@ -93,7 +95,7 @@ return super.getValue(); } catch (IllegalArgumentException e) { // TODO: validation handling/logging - throw new NumberFormatException("the value of salt is not valid"); + throw new NumberFormatException("the value of manifest:salt is not valid"); } }
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/SizeAttribute.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/SizeAttribute.java index 529f033..ddcf305 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/SizeAttribute.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/SizeAttribute.java
@@ -1,3 +1,4 @@ + /************************************************************************ * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER @@ -31,6 +32,7 @@ import org.odftoolkit.odfdom.pkg.OdfAttribute; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; /** * Manifest implementation of OpenDocument attribute {@odf.attribute manifest:size}. @@ -38,7 +40,7 @@ */ public class SizeAttribute extends OdfAttribute { - public static final OdfName ATTRIBUTE_NAME = OdfName.newName("urn:oasis:names:tc:opendocument:xmlns:manifest:1.0", "manifest:size"); + public static final OdfName ATTRIBUTE_NAME = OdfName.newName(OdfPackageNamespace.MANIFEST, "size"); /** * Create the instance of OpenDocument attribute {@odf.attribute manifest:size}. @@ -113,7 +115,7 @@ return super.getValue(); } catch (IllegalArgumentException e) { // TODO: validation handling/logging - throw new NumberFormatException("the value of size is not valid"); + throw new NumberFormatException("the value of manifest:size is not valid"); } }
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/StartKeyGenerationElement.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/StartKeyGenerationElement.java index 5f37287..ccacf21 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/StartKeyGenerationElement.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/StartKeyGenerationElement.java
@@ -1,3 +1,4 @@ + /************************************************************************ * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER @@ -31,18 +32,21 @@ import org.odftoolkit.odfdom.pkg.OdfElement; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; + + /** * Manifest implementation of OpenDocument element {@odf.element manifest:start-key-generation}. * */ public class StartKeyGenerationElement extends OdfElement { - public static final OdfName ELEMENT_NAME = OdfName.newName("urn:oasis:names:tc:opendocument:xmlns:manifest:1.0", "manifest:start-key-generation"); + public static final OdfName ELEMENT_NAME = OdfName.newName(OdfPackageNamespace.MANIFEST, "start-key-generation"); /** * Create the instance of <code>StartKeyGenerationElement</code> * - * @param ownerDoc The type is <code>OdfFileDom</code> + * @param ownerDoc The type is <code>OdfFileDom</code> */ public StartKeyGenerationElement(OdfFileDom ownerDoc) { super(ownerDoc, ELEMENT_NAME); @@ -53,6 +57,7 @@ * * @return return <code>OdfName</code> the name of element {@odf.element manifest:start-key-generation}. */ + @Override public OdfName getOdfName() { return ELEMENT_NAME; } @@ -63,7 +68,7 @@ * @return - the <code>Integer</code> , the value or <code>null</code>, if the attribute is not set and no default value defined. */ public Integer getKeySizeAttribute() { - KeySizeAttribute attr = (KeySizeAttribute) getOdfAttribute(KeySizeAttribute.ATTRIBUTE_NAME); + KeySizeAttribute attr = (KeySizeAttribute) getOdfAttribute(OdfPackageNamespace.MANIFEST, "key-size"); if (attr != null) { return Integer.valueOf(attr.intValue()); } @@ -89,7 +94,7 @@ * @return - the <code>String</code> , the value or <code>null</code>, if the attribute is not set and no default value defined. */ public String getStartKeyGenerationNameAttribute() { - StartKeyGenerationNameAttribute attr = (StartKeyGenerationNameAttribute) getOdfAttribute(StartKeyGenerationNameAttribute.ATTRIBUTE_NAME); + StartKeyGenerationNameAttribute attr = (StartKeyGenerationNameAttribute) getOdfAttribute(OdfPackageNamespace.MANIFEST, "start-key-generation-name"); if (attr != null) { return String.valueOf(attr.getValue()); }
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/StartKeyGenerationNameAttribute.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/StartKeyGenerationNameAttribute.java index 4d4687c..952c53d 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/StartKeyGenerationNameAttribute.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/StartKeyGenerationNameAttribute.java
@@ -1,3 +1,4 @@ + /************************************************************************ * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER @@ -31,6 +32,7 @@ import org.odftoolkit.odfdom.pkg.OdfAttribute; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; /** * Manifest implementation of OpenDocument attribute {@odf.attribute manifest:start-key-generation-name}. @@ -38,7 +40,7 @@ */ public class StartKeyGenerationNameAttribute extends OdfAttribute { - public static final OdfName ATTRIBUTE_NAME = OdfName.newName("urn:oasis:names:tc:opendocument:xmlns:manifest:1.0", "manifest:start-key-generation-name"); + public static final OdfName ATTRIBUTE_NAME = OdfName.newName(OdfPackageNamespace.MANIFEST, "start-key-generation-name"); /** * Create the instance of OpenDocument attribute {@odf.attribute manifest:start-key-generation-name}.
diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/VersionAttribute.java b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/VersionAttribute.java index c14edde..58adaca 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/VersionAttribute.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/pkg/manifest/VersionAttribute.java
@@ -1,3 +1,4 @@ + /************************************************************************ * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER @@ -31,6 +32,7 @@ import org.odftoolkit.odfdom.pkg.OdfAttribute; import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; +import org.odftoolkit.odfdom.pkg.OdfPackageNamespace; /** * Manifest implementation of OpenDocument attribute {@odf.attribute manifest:version}. @@ -38,7 +40,7 @@ */ public class VersionAttribute extends OdfAttribute { - public static final OdfName ATTRIBUTE_NAME = OdfName.newName("urn:oasis:names:tc:opendocument:xmlns:manifest:1.0", "manifest:version"); + public static final OdfName ATTRIBUTE_NAME = OdfName.newName(OdfPackageNamespace.MANIFEST, "version"); /** * Create the instance of OpenDocument attribute {@odf.attribute manifest:version}.