@Override protected Directory createDirectory(final Collection<Entry> entries) { return new RDFDescription(entries); } }
@Test public void testRDFAttributeSyntaxCompoundDirectoryContentMM() throws IOException { Directory directory = createReader().read(getResourceAsIIS("/xmp/rdf-attribute-shorthand.xml")); assertThat(directory, instanceOf(CompoundDirectory.class)); CompoundDirectory compound = (CompoundDirectory) directory; // xapMM|http://ns.adobe.com/xap/1.0/mm/ Directory mm = getDirectoryByNS(compound, XMP.NS_XAP_MM); assertEquals(3, mm.size()); assertThat(directory.getEntryById("http://ns.adobe.com/xap/1.0/mm/DocumentID"), hasValue("uuid:6DCA50CC7D53DD119F20F5A7EA4C9BEC")); assertThat(directory.getEntryById("http://ns.adobe.com/xap/1.0/mm/InstanceID"), hasValue("uuid:6ECA50CC7D53DD119F20F5A7EA4C9BEC")); // Custom test, as NamedNodeMap does not preserve order (tests can't rely on XML impl specifics) Entry derivedFrom = directory.getEntryById("http://ns.adobe.com/xap/1.0/mm/DerivedFrom"); assertNotNull(derivedFrom); assertThat(derivedFrom.getValue(), instanceOf(RDFDescription.class)); // stRef|http://ns.adobe.com/xap/1.0/sType/ResourceRef# RDFDescription stRef = (RDFDescription) derivedFrom.getValue(); assertThat(stRef.getEntryById("http://ns.adobe.com/xap/1.0/sType/ResourceRef#instanceID"), hasValue("uuid:74E1C905B405DD119306A1902BA5AA28")); assertThat(stRef.getEntryById("http://ns.adobe.com/xap/1.0/sType/ResourceRef#documentID"), hasValue("uuid:7A6C79768005DD119306A1902BA5AA28")); }
assertThat(stRef.getEntryById("http://ns.adobe.com/xap/1.0/sType/ResourceRef#instanceID"), hasValue("uuid:74E1C905B405DD119306A1902BA5AA28")); assertThat(stRef.getEntryById("http://ns.adobe.com/xap/1.0/sType/ResourceRef#documentID"), hasValue("uuid:7A6C79768005DD119306A1902BA5AA28"));
private RDFDescription parseAsResource(Node node) { // See: http://www.w3.org/TR/REC-rdf-syntax/#section-Syntax-parsetype-resource List<Entry> entries = new ArrayList<Entry>(); for (Node child : asIterable(node.getChildNodes())) { if (child.getNodeType() != Node.ELEMENT_NODE) { continue; } entries.add(new XMPEntry(child.getNamespaceURI() + child.getLocalName(), child.getLocalName(), getChildTextValue(child))); } return new RDFDescription(entries); }
@Test public void testRDFAttributeSyntaxCompoundDirectoryContentMM() throws IOException { Directory directory = createReader().read(getResourceAsIIS("/xmp/rdf-attribute-shorthand.xml")); assertThat(directory, instanceOf(CompoundDirectory.class)); CompoundDirectory compound = (CompoundDirectory) directory; // xapMM|http://ns.adobe.com/xap/1.0/mm/ Directory mm = getDirectoryByNS(compound, XMP.NS_XAP_MM); assertEquals(3, mm.size()); assertThat(directory.getEntryById("http://ns.adobe.com/xap/1.0/mm/DocumentID"), hasValue("uuid:6DCA50CC7D53DD119F20F5A7EA4C9BEC")); assertThat(directory.getEntryById("http://ns.adobe.com/xap/1.0/mm/InstanceID"), hasValue("uuid:6ECA50CC7D53DD119F20F5A7EA4C9BEC")); // Custom test, as NamedNodeMap does not preserve order (tests can't rely on XML impl specifics) Entry derivedFrom = directory.getEntryById("http://ns.adobe.com/xap/1.0/mm/DerivedFrom"); assertNotNull(derivedFrom); assertThat(derivedFrom.getValue(), instanceOf(RDFDescription.class)); // stRef|http://ns.adobe.com/xap/1.0/sType/ResourceRef# RDFDescription stRef = (RDFDescription) derivedFrom.getValue(); assertThat(stRef.getEntryById("http://ns.adobe.com/xap/1.0/sType/ResourceRef#instanceID"), hasValue("uuid:74E1C905B405DD119306A1902BA5AA28")); assertThat(stRef.getEntryById("http://ns.adobe.com/xap/1.0/sType/ResourceRef#documentID"), hasValue("uuid:7A6C79768005DD119306A1902BA5AA28")); }
value = new RDFDescription(entries); entries.add(new RDFDescription(entry.getKey(), entry.getValue()));
assertThat(stRef.getEntryById("http://ns.adobe.com/xap/1.0/sType/ResourceRef#instanceID"), hasValue("uuid:74E1C905B405DD119306A1902BA5AA28")); assertThat(stRef.getEntryById("http://ns.adobe.com/xap/1.0/sType/ResourceRef#documentID"), hasValue("uuid:7A6C79768005DD119306A1902BA5AA28"));
@Override protected Directory createDirectory(final Collection<Entry> entries) { return new RDFDescription(entries); } }
private RDFDescription parseAsResource(Node node) { // See: http://www.w3.org/TR/REC-rdf-syntax/#section-Syntax-parsetype-resource List<Entry> entries = new ArrayList<Entry>(); for (Node child : asIterable(node.getChildNodes())) { if (child.getNodeType() != Node.ELEMENT_NODE) { continue; } entries.add(new XMPEntry(child.getNamespaceURI() + child.getLocalName(), child.getLocalName(), getChildTextValue(child))); } return new RDFDescription(entries); }
private RDFDescription parseAsResource(Node node) { // See: http://www.w3.org/TR/REC-rdf-syntax/#section-Syntax-parsetype-resource List<Entry> entries = new ArrayList<Entry>(); for (Node child : asIterable(node.getChildNodes())) { if (child.getNodeType() != Node.ELEMENT_NODE) { continue; } entries.add(new XMPEntry(child.getNamespaceURI() + child.getLocalName(), child.getLocalName(), getChildTextValue(child))); } return new RDFDescription(entries); }
@Test public void testCompoundDirectoryContentMM() throws IOException { Directory directory = createReader().read(getDataAsIIS()); assertThat(directory, instanceOf(CompoundDirectory.class)); CompoundDirectory compound = (CompoundDirectory) directory; // xapMM|http://ns.adobe.com/xap/1.0/mm/ Directory mm = compound.getDirectory(1); assertEquals(3, mm.size()); assertThat(mm.getEntryById("http://ns.adobe.com/xap/1.0/mm/DocumentID"), hasValue("uuid:54A8D5F8654711DD9226A85E1241887A")); assertThat(mm.getEntryById("http://ns.adobe.com/xap/1.0/mm/InstanceID"), hasValue("uuid:54A8D5F9654711DD9226A85E1241887A")); assertThat(mm.getEntryById("http://ns.adobe.com/xap/1.0/mm/DerivedFrom"), hasValue( new RDFDescription(Arrays.asList( // stRef|http://ns.adobe.com/xap/1.0/sType/ResourceRef# new XMPEntry("http://ns.adobe.com/xap/1.0/sType/ResourceRef#instanceID", "instanceID", "uuid:3B52F3610F49DD118831FCA29C13B8DE"), new XMPEntry("http://ns.adobe.com/xap/1.0/sType/ResourceRef#documentID", "documentID", "uuid:3A52F3610F49DD118831FCA29C13B8DE") )) )); }
value = new RDFDescription(entries); entries.add(new RDFDescription(entry.getKey(), entry.getValue()));
value = new RDFDescription(entries); entries.add(new RDFDescription(entry.getKey(), entry.getValue()));
new RDFDescription(Arrays.asList(
@Test public void testCompoundDirectoryContentMM() throws IOException { Directory directory = createReader().read(getDataAsIIS()); assertThat(directory, instanceOf(CompoundDirectory.class)); CompoundDirectory compound = (CompoundDirectory) directory; // xapMM|http://ns.adobe.com/xap/1.0/mm/ Directory mm = compound.getDirectory(1); assertEquals(3, mm.size()); assertThat(mm.getEntryById("http://ns.adobe.com/xap/1.0/mm/DocumentID"), hasValue("uuid:54A8D5F8654711DD9226A85E1241887A")); assertThat(mm.getEntryById("http://ns.adobe.com/xap/1.0/mm/InstanceID"), hasValue("uuid:54A8D5F9654711DD9226A85E1241887A")); assertThat(mm.getEntryById("http://ns.adobe.com/xap/1.0/mm/DerivedFrom"), hasValue( new RDFDescription(Arrays.asList( // stRef|http://ns.adobe.com/xap/1.0/sType/ResourceRef# new XMPEntry("http://ns.adobe.com/xap/1.0/sType/ResourceRef#instanceID", "instanceID", "uuid:3B52F3610F49DD118831FCA29C13B8DE"), new XMPEntry("http://ns.adobe.com/xap/1.0/sType/ResourceRef#documentID", "documentID", "uuid:3A52F3610F49DD118831FCA29C13B8DE") )) )); }
new RDFDescription(Arrays.asList(