You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by gb...@apache.org on 2012/08/30 23:03:18 UTC
svn commit: r1379147 - in /pdfbox/branches/xmpbox-refactoring/xmpbox/src:
main/java/org/apache/padaf/xmpbox/parser/
main/java/org/apache/padaf/xmpbox/schema/
main/java/org/apache/padaf/xmpbox/type/
test/java/org/apache/padaf/xmpbox/schema/
Author: gbailleul
Date: Thu Aug 30 21:03:18 2012
New Revision: 1379147
URL: http://svn.apache.org/viewvc?rev=1379147&view=rev
Log:
PDFBOX-1343: manage attributes and namespaces definition in different way, reduce complexity, remove duplicate code on attributes
Modified:
pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMPDocumentBuilder.java
pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XmpSerializer.java
pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/schema/XMPBasicJobTicketSchema.java
pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/schema/XMPSchema.java
pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/AbstractComplexProperty.java
pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/AbstractField.java
pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/AbstractStructuredType.java
pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/ComplexPropertyContainer.java
pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/JobType.java
pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/ResourceEventType.java
pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/ResourceRefType.java
pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/VersionType.java
pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/java/org/apache/padaf/xmpbox/schema/XMPSchemaTest.java
Modified: pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMPDocumentBuilder.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMPDocumentBuilder.java?rev=1379147&r1=1379146&r2=1379147&view=diff
==============================================================================
--- pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMPDocumentBuilder.java (original)
+++ pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XMPDocumentBuilder.java Thu Aug 30 21:03:18 2012
@@ -29,10 +29,10 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
+import java.util.Map.Entry;
import java.util.NoSuchElementException;
import java.util.StringTokenizer;
-import javax.xml.XMLConstants;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamException;
@@ -668,8 +668,7 @@ public class XMPDocumentBuilder {
}
for (int i = 1; i < cptNS; i++) {
- schema.setAttribute(new Attribute(XMLConstants.XMLNS_ATTRIBUTE_NS_URI,
- reader.get().getNamespacePrefix(i), reader.get().getNamespaceURI(i)));
+ schema.addNamespace(reader.get().getNamespaceURI(i), reader.get().getNamespacePrefix(i));
}
treatDescriptionAttributes(metadata, schema);
while (reader.get().nextTag() == XMLStreamReader.START_ELEMENT) {
@@ -733,22 +732,12 @@ public class XMPDocumentBuilder {
private String getPropertyDeclarationInNamespaces(XMPSchema schema,
QName prop) throws XmpParsingException {
NSMapping nsMap = schema.getMetadata().getNsMapping();
- Iterator<Attribute> it = schema.getAllAttributes().iterator();
- Attribute tmp;
- ArrayList<Attribute> list = new ArrayList<Attribute>();
- while (it.hasNext()) {
- tmp = it.next();
- if (tmp.getNamespace() != null) {
- if (tmp.getNamespace().equals(XMLConstants.XMLNS_ATTRIBUTE_NS_URI)) {
- list.add(tmp);
- }
- }
- }
- it = list.iterator();
+ Iterator<Entry<String, String>> it = schema.getAllNamespacesWithPrefix().entrySet().iterator();
String type;
StringBuilder unknownNS = new StringBuilder();
while (it.hasNext()) {
- String namespace = it.next().getValue();
+ Entry<String,String> entry = it.next();
+ String namespace = entry.getKey();
if (!nsMap.isContainedNamespace(namespace)) {
unknownNS.append(" '").append(namespace).append("' ");
continue;
Modified: pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XmpSerializer.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XmpSerializer.java?rev=1379147&r1=1379146&r2=1379147&view=diff
==============================================================================
--- pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XmpSerializer.java (original)
+++ pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/parser/XmpSerializer.java Thu Aug 30 21:03:18 2012
@@ -22,6 +22,7 @@ package org.apache.padaf.xmpbox.parser;
import java.io.OutputStream;
import java.util.List;
+import java.util.Map;
import javax.xml.XMLConstants;
import javax.xml.parsers.DocumentBuilder;
@@ -38,6 +39,7 @@ import javax.xml.transform.stream.Stream
import org.apache.padaf.xmpbox.XMPMetadata;
import org.apache.padaf.xmpbox.XmpConstants;
import org.apache.padaf.xmpbox.schema.XMPSchema;
+import org.apache.padaf.xmpbox.type.AbstractComplexProperty;
import org.apache.padaf.xmpbox.type.AbstractField;
import org.apache.padaf.xmpbox.type.AbstractSimpleProperty;
import org.apache.padaf.xmpbox.type.AbstractStructuredType;
@@ -71,7 +73,7 @@ public class XmpSerializer {
// fill document
Element rdf = createRdfElement(doc,metadata, withXpacket);
for (XMPSchema schema : metadata.getAllSchemas()) {
- rdf.appendChild(createSchemaElement(doc, schema));
+ rdf.appendChild(serializeSchema(doc, schema));
}
// save
save(doc, os, "UTF-8");
@@ -84,21 +86,20 @@ public class XmpSerializer {
}
- protected Element createSchemaElement (Document doc, XMPSchema schema) {
+ protected Element serializeSchema (Document doc, XMPSchema schema) {
// prepare schema
Element selem = doc.createElementNS(XmpConstants.RDF_NAMESPACE,"rdf:Description");
selem.setAttributeNS(XMLConstants.XMLNS_ATTRIBUTE_NS_URI, "xmlns:"+schema.getPrefix(), schema.getNamespace());
// the other attributes
- fillElementWithAttributes(selem, schema.getAllAttributes());
+ fillElementWithAttributes(selem, schema);
// the content
List<AbstractField> fields = schema.getAllProperties();
- xxxxxxx(doc, selem, fields);
+ serializeFields(doc, selem, fields);
// return created schema
return selem;
}
- // TODO GBL rename method
- public void xxxxxxx (Document doc, Element parent, List<AbstractField> fields) {
+ public void serializeFields (Document doc, Element parent, List<AbstractField> fields) {
for (AbstractField field : fields) {
if (field instanceof AbstractSimpleProperty) {
AbstractSimpleProperty simple = (AbstractSimpleProperty)field;
@@ -110,13 +111,13 @@ public class XmpSerializer {
Element asimple = doc.createElement(array.getPrefix()+":"+array.getPropertyName());
parent.appendChild(asimple);
// attributes
- fillElementWithAttributes(asimple, array.getAllAttributes());
+ fillElementWithAttributes(asimple, array);
// the array definition
Element econtainer = doc.createElement("rdf"+":"+array.getArrayType());
asimple.appendChild(econtainer);
// for each element of the array
List<AbstractField> innerFields = array.getAllProperties();
- xxxxxxx(doc, econtainer, innerFields);
+ serializeFields(doc, econtainer, innerFields);
} else if (field instanceof AbstractStructuredType) {
AbstractStructuredType structured = (AbstractStructuredType)field;
// element li
@@ -127,7 +128,7 @@ public class XmpSerializer {
estructured.appendChild(econtainer);
// all properties
List<AbstractField> innerFields = structured.getAllProperties();
- xxxxxxx(doc, econtainer, innerFields);
+ serializeFields(doc, econtainer, innerFields);
} else {
System.err.println(">> TODO >> "+field.getClass());
}
@@ -135,20 +136,20 @@ public class XmpSerializer {
}
- protected void fillElementWithAttributes (Element target, List<Attribute> attributes) {
+ private void fillElementWithAttributes (Element target, AbstractComplexProperty property ) {
+ List<Attribute> attributes = property.getAllAttributes();
for (Attribute attribute : attributes) {
if (target.getNamespaceURI().equals(attribute.getNamespace())) {
target.setAttribute(attribute.getLocalName(), attribute.getValue());
- } else if (XMLConstants.XMLNS_ATTRIBUTE_NS_URI.equals(attribute.getNamespace())) {
- target.setAttribute(XMLConstants.XMLNS_ATTRIBUTE+":"+attribute.getLocalName(), attribute.getValue());
} else if (XmpConstants.RDF_NAMESPACE.equals(attribute.getNamespace())) {
target.setAttribute("rdf"+":"+attribute.getLocalName(), attribute.getValue());
-// } else if (attribute.getLocalName().equals("about")) {
-// target.setAttribute("rdf:about", attribute.getValue());
} else {
target.setAttribute(attribute.getQualifiedName(), attribute.getValue());
}
}
+ for (Map.Entry<String, String> ns : property.getAllNamespacesWithPrefix().entrySet()) {
+ target.setAttribute(XMLConstants.XMLNS_ATTRIBUTE+":"+ns.getValue(), ns.getKey());
+ }
}
protected Element createRdfElement (Document doc, XMPMetadata metadata, boolean withXpacket) {
Modified: pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/schema/XMPBasicJobTicketSchema.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/schema/XMPBasicJobTicketSchema.java?rev=1379147&r1=1379146&r2=1379147&view=diff
==============================================================================
--- pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/schema/XMPBasicJobTicketSchema.java (original)
+++ pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/schema/XMPBasicJobTicketSchema.java Thu Aug 30 21:03:18 2012
@@ -24,12 +24,9 @@ package org.apache.padaf.xmpbox.schema;
import java.util.ArrayList;
import java.util.List;
-import javax.xml.XMLConstants;
-
import org.apache.padaf.xmpbox.XMPMetadata;
import org.apache.padaf.xmpbox.type.AbstractField;
import org.apache.padaf.xmpbox.type.ArrayProperty;
-import org.apache.padaf.xmpbox.type.Attribute;
import org.apache.padaf.xmpbox.type.BadFieldValueException;
import org.apache.padaf.xmpbox.type.JobType;
import org.apache.padaf.xmpbox.type.PropertyType;
@@ -52,9 +49,7 @@ public class XMPBasicJobTicketSchema ext
public XMPBasicJobTicketSchema(XMPMetadata metadata, String ownPrefix) {
super(metadata, ownPrefix, JOB_TICKET_URI);
- getContainer().setAttribute(new Attribute(XMLConstants.XMLNS_ATTRIBUTE_NS_URI,
- JobType.PREFERED_PREFIX, JobType.ELEMENT_NS));
-
+ addNamespace(JobType.ELEMENT_NS, JobType.PREFERED_PREFIX);
}
public void addJob(String id , String name, String url) {
Modified: pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/schema/XMPSchema.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/schema/XMPSchema.java?rev=1379147&r1=1379146&r2=1379147&view=diff
==============================================================================
--- pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/schema/XMPSchema.java (original)
+++ pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/schema/XMPSchema.java Thu Aug 30 21:03:18 2012
@@ -69,8 +69,7 @@ public class XMPSchema extends AbstractS
*/
public XMPSchema(XMPMetadata metadata, String namespaceName, String namespaceURI) {
super(metadata, namespaceURI, namespaceName);
- getContainer().setAttribute(new Attribute(XMLConstants.XMLNS_ATTRIBUTE_NS_URI, namespaceName, namespaceURI));
-
+ addNamespace(namespaceURI, namespaceName);
}
/**
@@ -99,7 +98,7 @@ public class XMPSchema extends AbstractS
* @return The RDF 'about' attribute.
*/
public Attribute getAboutAttribute() {
- return getContainer().getAttribute(RDFABOUT);
+ return getAttribute(RDFABOUT);
}
/**
@@ -108,7 +107,7 @@ public class XMPSchema extends AbstractS
* @return The RDF 'about' value.
*/
public String getAboutValue() {
- Attribute prop = getContainer().getAttribute(RDFABOUT);
+ Attribute prop = getAttribute(RDFABOUT);
if (prop != null) {
return prop.getValue();
}
@@ -126,7 +125,7 @@ public class XMPSchema extends AbstractS
public void setAbout(Attribute about) throws BadFieldValueException {
if (XmpConstants.RDF_NAMESPACE.equals(about.getNamespace())) {
if (RDFABOUT.equals(about.getLocalName())) {
- getContainer().setAttribute(about);
+ setAttribute(about);
return;
}
}
@@ -143,9 +142,9 @@ public class XMPSchema extends AbstractS
*/
public void setAboutAsSimple(String about) {
if (about == null) {
- getContainer().removeAttribute(RDFABOUT);
+ removeAttribute(RDFABOUT);
} else {
- getContainer().setAttribute(new Attribute(XmpConstants.RDF_NAMESPACE, "about", about));
+ setAttribute(new Attribute(XmpConstants.RDF_NAMESPACE, "about", about));
}
}
@@ -1142,13 +1141,13 @@ public class XMPSchema extends AbstractS
throw new IOException("Can only merge schemas of the same type.");
}
- Iterator<Attribute> itAtt = xmpSchema.getContainer().getAllAttributes()
+ Iterator<Attribute> itAtt = xmpSchema.getAllAttributes()
.iterator();
Attribute att;
while (itAtt.hasNext()) {
att = itAtt.next();
if (att.getNamespace().equals(getNamespace())) {
- getContainer().setAttribute(att);
+ setAttribute(att);
}
}
@@ -1255,25 +1254,6 @@ public class XMPSchema extends AbstractS
return null;
}
- /**
- * Get All attributes defined for this schema
- *
- * @return Attributes list defined for this schema
- */
- public List<Attribute> getAllAttributes() {
- return getContainer().getAllAttributes();
- }
-
- /**
- * Set a new attribute for this schema
- *
- * @param attr
- * The new Attribute to set
- */
- public void setAttribute(Attribute attr) {
- getContainer().setAttribute(attr);
- }
-
protected AbstractSimpleProperty instanciateSimple (String param, Object value) {
TypeMapping tm = getMetadata().getTypeMapping();
return tm.instanciateSimpleField(
Modified: pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/AbstractComplexProperty.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/AbstractComplexProperty.java?rev=1379147&r1=1379146&r2=1379147&view=diff
==============================================================================
--- pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/AbstractComplexProperty.java (original)
+++ pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/AbstractComplexProperty.java Thu Aug 30 21:03:18 2012
@@ -21,7 +21,9 @@
package org.apache.padaf.xmpbox.type;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import org.apache.padaf.xmpbox.XMPMetadata;
@@ -29,12 +31,28 @@ public abstract class AbstractComplexPro
private ComplexPropertyContainer container;
+ private Map<String,String> namespaceToPrefix;
+
+
public AbstractComplexProperty(XMPMetadata metadata, String namespaceURI,
String prefix, String propertyName) {
super(metadata, namespaceURI, prefix, propertyName);
container = new ComplexPropertyContainer();
+ this.namespaceToPrefix = new HashMap<String, String>();
}
+ public void addNamespace (String namespace, String prefix) {
+ this.namespaceToPrefix.put(namespace, prefix);
+ }
+
+ public String getNamespacePrefix (String namespace) {
+ return this.namespaceToPrefix.get(namespace);
+ }
+
+ public Map<String, String> getAllNamespacesWithPrefix () {
+ return this.namespaceToPrefix;
+ }
+
/**
* Add a property to the current structure
*
Modified: pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/AbstractField.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/AbstractField.java?rev=1379147&r1=1379146&r2=1379147&view=diff
==============================================================================
--- pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/AbstractField.java (original)
+++ pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/AbstractField.java Thu Aug 30 21:03:18 2012
@@ -26,6 +26,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import javax.xml.XMLConstants;
+
import org.apache.padaf.xmpbox.XMPMetadata;
/**
@@ -97,7 +99,11 @@ public abstract class AbstractField {
* @param value
* The Attribute property to add
*/
- public void setAttribute(Attribute value) {
+ public final void setAttribute(Attribute value) {
+ // TODO remove when test are OK
+ if (XMLConstants.XMLNS_ATTRIBUTE_NS_URI.equals(value.getNamespace())) {
+ throw new Error ("Should not call setAttribute for this "+value.getValue());
+ }
if (attributes.containsKey(value.getQualifiedName())) {
// if same name in element, attribute will be replaced
attributes.remove(value.getQualifiedName());
@@ -116,7 +122,7 @@ public abstract class AbstractField {
* the full qualified name of the attribute concerned
* @return true if attribute is present
*/
- public boolean containsAttribute(String qualifiedName) {
+ public final boolean containsAttribute(String qualifiedName) {
return attributes.containsKey(qualifiedName);
}
@@ -127,7 +133,7 @@ public abstract class AbstractField {
* the full qualified name of the attribute wanted
* @return The attribute property
*/
- public Attribute getAttribute(String qualifiedName) {
+ public final Attribute getAttribute(String qualifiedName) {
return attributes.get(qualifiedName);
}
@@ -136,7 +142,7 @@ public abstract class AbstractField {
*
* @return Attributes list
*/
- public List<Attribute> getAllAttributes() {
+ public final List<Attribute> getAllAttributes() {
return new ArrayList<Attribute>(attributes.values());
}
@@ -146,7 +152,7 @@ public abstract class AbstractField {
* @param qualifiedName
* the full qualified name of the attribute wanted
*/
- public void removeAttribute(String qualifiedName) {
+ public final void removeAttribute(String qualifiedName) {
if (containsAttribute(qualifiedName)) {
attributes.remove(qualifiedName);
}
Modified: pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/AbstractStructuredType.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/AbstractStructuredType.java?rev=1379147&r1=1379146&r2=1379147&view=diff
==============================================================================
--- pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/AbstractStructuredType.java (original)
+++ pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/AbstractStructuredType.java Thu Aug 30 21:03:18 2012
@@ -28,7 +28,6 @@ import org.apache.padaf.xmpbox.XMPMetada
public abstract class AbstractStructuredType extends AbstractComplexProperty {
-
protected static final String STRUCTURE_ARRAY_NAME = "li";
public AbstractStructuredType(XMPMetadata metadata, String namespaceURI,
@@ -36,17 +35,12 @@ public abstract class AbstractStructured
super(metadata, namespaceURI, fieldPrefix, STRUCTURE_ARRAY_NAME);
}
-
protected void addSimpleProperty (String propertyName, Object value) {
TypeMapping tm = getMetadata().getTypeMapping();
AbstractSimpleProperty asp = tm.instanciateSimpleField(getClass(), null,getPrefix(),propertyName, value);
addProperty(asp);
}
-
-
-
-
protected String getPropertyValueAsString (String fieldName) {
AbstractSimpleProperty absProp = (AbstractSimpleProperty)getProperty(fieldName);
if (absProp == null) {
@@ -66,5 +60,4 @@ public abstract class AbstractStructured
}
-
}
Modified: pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/ComplexPropertyContainer.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/ComplexPropertyContainer.java?rev=1379147&r1=1379146&r2=1379147&view=diff
==============================================================================
--- pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/ComplexPropertyContainer.java (original)
+++ pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/ComplexPropertyContainer.java Thu Aug 30 21:03:18 2012
@@ -22,10 +22,8 @@
package org.apache.padaf.xmpbox.type;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
-import java.util.Map;
/**
* Object representation for arrays content This Class could be used to define
@@ -39,7 +37,7 @@ public class ComplexPropertyContainer /*
private List<AbstractField> properties;
- private Map<String, Attribute> attributes;
+// private Map<String, Attribute> attributes;
@@ -57,70 +55,70 @@ public class ComplexPropertyContainer /*
*/
public ComplexPropertyContainer() {
properties = new ArrayList<AbstractField>();
- attributes = new HashMap<String, Attribute>();
+// attributes = new HashMap<String, Attribute>();
}
- /**
- * Get an attribute with its name in this entity
- *
- * @param qualifiedName
- * the full qualified name of the attribute wanted
- * @return The attribute property
- */
- public Attribute getAttribute(String qualifiedName) {
- return attributes.get(qualifiedName);
- }
-
- /**
- * Get attributes list defined for this entity
- *
- * @return Attributes list
- */
- public List<Attribute> getAllAttributes() {
- return new ArrayList<Attribute>(attributes.values());
- }
-
- /**
- * Set a new attribute for this entity
- *
- * @param value
- * The Attribute property to add
- */
- public void setAttribute(Attribute value) {
- if (attributes.containsKey(value.getQualifiedName())) {
- // if same name in element, attribute will be replaced
- attributes.remove(value.getQualifiedName());
- }
- if (value.getNamespace() == null) {
- attributes.put(value.getQualifiedName(), value);
- } else {
- attributes.put(value.getQualifiedName(), value);
- }
- }
-
- /**
- * Remove an attribute of this entity
- *
- * @param qualifiedName
- * the full qualified name of the attribute wanted
- */
- public void removeAttribute(String qualifiedName) {
- if (containsAttribute(qualifiedName)) {
- attributes.remove(qualifiedName);
- }
-
- }
-
- /**
- * Check if an attribute is declared for this entity
- *
- * @param qualifiedName
- * the full qualified name of the attribute concerned
- * @return true if attribute is present
- */
- public boolean containsAttribute(String qualifiedName) {
- return attributes.containsKey(qualifiedName);
- }
+// /**
+// * Get an attribute with its name in this entity
+// *
+// * @param qualifiedName
+// * the full qualified name of the attribute wanted
+// * @return The attribute property
+// */
+// public Attribute getAttribute(String qualifiedName) {
+// return attributes.get(qualifiedName);
+// }
+
+// /**
+// * Get attributes list defined for this entity
+// *
+// * @return Attributes list
+// */
+// public List<Attribute> getAllAttributes() {
+// return new ArrayList<Attribute>(attributes.values());
+// }
+
+// /**
+// * Set a new attribute for this entity
+// *
+// * @param value
+// * The Attribute property to add
+// */
+// public void setAttribute(Attribute value) {
+// if (attributes.containsKey(value.getQualifiedName())) {
+// // if same name in element, attribute will be replaced
+// attributes.remove(value.getQualifiedName());
+// }
+// if (value.getNamespace() == null) {
+// attributes.put(value.getQualifiedName(), value);
+// } else {
+// attributes.put(value.getQualifiedName(), value);
+// }
+// }
+
+// /**
+// * Remove an attribute of this entity
+// *
+// * @param qualifiedName
+// * the full qualified name of the attribute wanted
+// */
+// public void removeAttribute(String qualifiedName) {
+// if (containsAttribute(qualifiedName)) {
+// attributes.remove(qualifiedName);
+// }
+//
+// }
+
+// /**
+// * Check if an attribute is declared for this entity
+// *
+// * @param qualifiedName
+// * the full qualified name of the attribute concerned
+// * @return true if attribute is present
+// */
+// public boolean containsAttribute(String qualifiedName) {
+// return attributes.containsKey(qualifiedName);
+// }
/**
* Give the first property found in this container with type and localname
Modified: pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/JobType.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/JobType.java?rev=1379147&r1=1379146&r2=1379147&view=diff
==============================================================================
--- pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/JobType.java (original)
+++ pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/JobType.java Thu Aug 30 21:03:18 2012
@@ -21,8 +21,6 @@
package org.apache.padaf.xmpbox.type;
-import javax.xml.XMLConstants;
-
import org.apache.padaf.xmpbox.XMPMetadata;
public class JobType extends AbstractStructuredType {
@@ -47,7 +45,7 @@ public class JobType extends AbstractStr
public JobType(XMPMetadata metadata, String fieldPrefix) {
super(metadata, ELEMENT_NS, fieldPrefix);
- setAttribute(new Attribute(XMLConstants.XMLNS_ATTRIBUTE_NS_URI, fieldPrefix, ELEMENT_NS));
+ addNamespace(ELEMENT_NS, fieldPrefix);
}
public void setId(String id) {
Modified: pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/ResourceEventType.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/ResourceEventType.java?rev=1379147&r1=1379146&r2=1379147&view=diff
==============================================================================
--- pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/ResourceEventType.java (original)
+++ pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/ResourceEventType.java Thu Aug 30 21:03:18 2012
@@ -23,8 +23,6 @@ package org.apache.padaf.xmpbox.type;
import java.util.Calendar;
-import javax.xml.XMLConstants;
-
import org.apache.padaf.xmpbox.XMPMetadata;
public class ResourceEventType extends AbstractStructuredType {
@@ -65,7 +63,7 @@ public class ResourceEventType extends A
*/
public ResourceEventType(XMPMetadata metadata) {
super(metadata, ELEMENT_NS, PREFERRED_PREFIX);
- setAttribute(new Attribute(XMLConstants.XMLNS_ATTRIBUTE_NS_URI, PREFERRED_PREFIX, ELEMENT_NS));
+ addNamespace(ELEMENT_NS, PREFERRED_PREFIX);
}
Modified: pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/ResourceRefType.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/ResourceRefType.java?rev=1379147&r1=1379146&r2=1379147&view=diff
==============================================================================
--- pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/ResourceRefType.java (original)
+++ pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/ResourceRefType.java Thu Aug 30 21:03:18 2012
@@ -24,8 +24,6 @@ package org.apache.padaf.xmpbox.type;
import java.util.Calendar;
import java.util.List;
-import javax.xml.XMLConstants;
-
import org.apache.padaf.xmpbox.XMPMetadata;
public class ResourceRefType extends AbstractStructuredType {
@@ -94,7 +92,8 @@ public class ResourceRefType extends Abs
*/
public ResourceRefType(XMPMetadata metadata) {
super(metadata, ELEMENT_NS, PREFERRED_PREFIX);
- setAttribute(new Attribute(XMLConstants.XMLNS_ATTRIBUTE_NS_URI, PREFERRED_PREFIX, ELEMENT_NS));
+ addNamespace(ELEMENT_NS, PREFERRED_PREFIX);
+
}
public String getDocumentID () {
Modified: pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/VersionType.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/VersionType.java?rev=1379147&r1=1379146&r2=1379147&view=diff
==============================================================================
--- pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/VersionType.java (original)
+++ pdfbox/branches/xmpbox-refactoring/xmpbox/src/main/java/org/apache/padaf/xmpbox/type/VersionType.java Thu Aug 30 21:03:18 2012
@@ -23,8 +23,6 @@ package org.apache.padaf.xmpbox.type;
import java.util.Calendar;
-import javax.xml.XMLConstants;
-
import org.apache.padaf.xmpbox.XMPMetadata;
public class VersionType extends AbstractStructuredType {
@@ -62,7 +60,7 @@ public class VersionType extends Abstrac
*/
public VersionType(XMPMetadata metadata) {
super(metadata, ELEMENT_NS, PREFERRED_PREFIX);
- setAttribute(new Attribute(XMLConstants.XMLNS_ATTRIBUTE_NS_URI, PREFERRED_PREFIX, ELEMENT_NS));
+ addNamespace(ELEMENT_NS,PREFERRED_PREFIX);
}
Modified: pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/java/org/apache/padaf/xmpbox/schema/XMPSchemaTest.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/java/org/apache/padaf/xmpbox/schema/XMPSchemaTest.java?rev=1379147&r1=1379146&r2=1379147&view=diff
==============================================================================
--- pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/java/org/apache/padaf/xmpbox/schema/XMPSchemaTest.java (original)
+++ pdfbox/branches/xmpbox-refactoring/xmpbox/src/test/java/org/apache/padaf/xmpbox/schema/XMPSchemaTest.java Thu Aug 30 21:03:18 2012
@@ -263,8 +263,7 @@ public class XMPSchemaTest {
Assert.assertEquals("nsURI", schem.getNamespace());
// In real cases, rdf ns will be declared before !
- schem.setAttribute(new Attribute("http://www.w3.org/2000/xmlns/",
- "rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#"));
+ schem.addNamespace("http://www.w3.org/1999/02/22-rdf-syntax-ns#","rdf");
String aboutVal = "aboutTest";
schem.setAboutAsSimple(aboutVal);