public XMPNamespaceMapping(boolean includeNonElements) { if (includeNonElements) { put(XMP.NS_RDF, "rdf"); put(XMP.NS_X, "x"); } put(XMP.NS_DC, "dc"); put(XMP.NS_EXIF, "exif"); put(XMP.NS_PHOTOSHOP, "photoshop"); put(XMP.NS_ST_REF, "stRef"); put(XMP.NS_TIFF, "tiff"); put(XMP.NS_XAP, "xap"); put(XMP.NS_XAP_MM, "xapMM"); } }
@Override public String toString() { String type = getTypeName(); String typeStr = type != null ? " (" + type + ")" : ""; return String.format("%s: %s%s", getNativeIdentifier(), getValueAsString(), typeStr); } }
@SuppressWarnings({"SuspiciousMethodCalls"}) @Override public String getFieldName() { return fieldName != null ? fieldName : XMP.DEFAULT_NS_MAPPING.get(getIdentifier()); }
@Test public void testScanForUTF16LE() throws IOException { InputStream stream = createXMPStream(XMP, "UTF-16LE"); Reader reader = XMPScanner.scanForXMPPacket(stream); assertNotNull(reader); }
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 testRDFAlt() throws IOException { Directory directory = createReader().read(getResourceAsIIS("/xmp/rdf-alt-example.xml")); assertEquals(1, directory.size()); assertThat(directory.getEntryById("http://purl.org/dc/elements/1.1/subject"), hasValue(new HashMap<String, String>() {{ put("x-default", "One"); put("en-us", "One"); put("de", "Ein"); put("no-nb", "En"); }})); }
@Override protected XMPReader createReader() { return new XMPReader(); }
@Override protected CompoundDirectory createCompoundDirectory(final Collection<Directory> directories) { return new XMPDirectory(directories, null); } }
@Override protected Entry createEntry(Object value) { return new XMPEntry(XMP.NS_XAP + ":foo", value); }
@Override protected Directory createDirectory(final Collection<Entry> entries) { return new RDFDescription(entries); } }
@Override protected InputStream getData() throws IOException { return getResource("/xmp/xmp-jpeg-example.xml").openStream(); }
@Test public void testScanForUTF8() throws IOException { InputStream stream = createXMPStream(XMP, "UTF-8"); Reader reader = XMPScanner.scanForXMPPacket(stream); assertNotNull(reader); }
private ImageInputStream getResourceAsIIS(final String name) throws IOException { return ImageIO.createImageInputStream(getResource(name)); }
@Test public void testScanForUTF16BE() throws IOException { InputStream stream = createXMPStream(XMP, "UTF-16BE"); Reader reader = XMPScanner.scanForXMPPacket(stream); assertNotNull(reader); }
@Test public void testUTF32BE() throws IOException { try { InputStream stream = createXMPStream(XMP, "UTF-32BE"); Reader reader = XMPScanner.scanForXMPPacket(stream); assertNotNull(reader); } catch (UnsupportedCharsetException ignore) { System.err.println("Warning: Unsupported charset. Test skipped. " + ignore); } }
@Test public void testUTF32LE() throws IOException { try { InputStream stream = createXMPStream(XMP, "UTF-32LE"); Reader reader = XMPScanner.scanForXMPPacket(stream); assertNotNull(reader); } catch (UnsupportedCharsetException ignore) { System.err.println("Warning: Unsupported charset. Test skipped. " + ignore); } } }
@Test public void testScanForUTF16LESingleQuote() throws IOException { InputStream stream = createXMPStream(XMP.replace("\"", "'"), "UTF-16LE"); Reader reader = XMPScanner.scanForXMPPacket(stream); assertNotNull(reader); }
@Test public void testScanForUTF8SingleQuote() throws IOException { InputStream stream = createXMPStream(XMP.replace("\"", "'"), "UTF-8"); Reader reader = XMPScanner.scanForXMPPacket(stream); assertNotNull(reader); }
@Test public void testScanForUTF16BESingleQuote() throws IOException { InputStream stream = createXMPStream(XMP.replace("\"", "'"), "UTF-16BE"); Reader reader = XMPScanner.scanForXMPPacket(stream); assertNotNull(reader); }