You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2013/11/03 17:01:09 UTC
svn commit: r1538395 - in /pdfbox/trunk:
preflight/src/main/java/org/apache/pdfbox/preflight/metadata/RDFAboutAttributeConcordanceValidation.java
xmpbox/src/main/java/org/apache/xmpbox/schema/XMPSchema.java
Author: leleueri
Date: Sun Nov 3 16:01:08 2013
New Revision: 1538395
URL: http://svn.apache.org/r1538395
Log:
[PDFBOX-1685] Update the preflight validation following the compatibility requirement exposed in the JIRA issue. RDF:About must be the same in all rdf:description (or empty)
Modified:
pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/metadata/RDFAboutAttributeConcordanceValidation.java
pdfbox/trunk/xmpbox/src/main/java/org/apache/xmpbox/schema/XMPSchema.java
Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/metadata/RDFAboutAttributeConcordanceValidation.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/metadata/RDFAboutAttributeConcordanceValidation.java?rev=1538395&r1=1538394&r2=1538395&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/metadata/RDFAboutAttributeConcordanceValidation.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/metadata/RDFAboutAttributeConcordanceValidation.java Sun Nov 3 16:01:08 2013
@@ -51,23 +51,26 @@ public class RDFAboutAttributeConcordanc
{
throw new ValidationException("Schemas not found in the given metadata representation");
}
+
String about = schemas.get(0).getAboutValue();
+
// rdf:description must have an rdf:about attribute
for (XMPSchema xmpSchema : schemas)
{
- checkRdfAbout(about, xmpSchema);
+ // each rdf:Description must have the same rdf:about (or an empty one)
+ String schemaAboutValue = xmpSchema.getAboutValue();
+ if (!("".equals(schemaAboutValue) || "".equals(about) || about.equals(schemaAboutValue)))
+ {
+ throw new DifferentRDFAboutException();
+ }
+
+ if ("".equals(about)) {
+ about = schemaAboutValue;
+ }
}
}
- private void checkRdfAbout(String about, XMPSchema xmpSchema) throws DifferentRDFAboutException
- {
- if (!about.equals(xmpSchema.getAboutValue()))
- {
- throw new DifferentRDFAboutException();
- }
- }
-
public static class DifferentRDFAboutException extends Exception
{
Modified: pdfbox/trunk/xmpbox/src/main/java/org/apache/xmpbox/schema/XMPSchema.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/xmpbox/src/main/java/org/apache/xmpbox/schema/XMPSchema.java?rev=1538395&r1=1538394&r2=1538395&view=diff
==============================================================================
--- pdfbox/trunk/xmpbox/src/main/java/org/apache/xmpbox/schema/XMPSchema.java (original)
+++ pdfbox/trunk/xmpbox/src/main/java/org/apache/xmpbox/schema/XMPSchema.java Sun Nov 3 16:01:08 2013
@@ -120,7 +120,7 @@ public class XMPSchema extends AbstractS
/**
* Get the RDF about value.
*
- * @return The RDF 'about' value.
+ * @return The RDF 'about' value. If there are not rdf:about attribute, an empty string is returned.
*/
public String getAboutValue()
{
@@ -129,7 +129,7 @@ public class XMPSchema extends AbstractS
{
return prop.getValue();
}
- return null;
+ return ""; // PDFBOX-1685 : if missing rdf:about should be considered as empty string
}
/**