private void sendQualityImpl(XMLStreamWriter serializer) throws XMLStreamException { if ( qualityModified == false ) return; serializer.writeStartElement("rapi", "quality", REST_API_NS); serializer.writeCharacters(String.valueOf(getQuality())); serializer.writeEndElement(); } static private class ValueSerializer implements ValueConverter.ValueProcessor {
private void sendQualityImpl(XMLStreamWriter serializer) throws XMLStreamException { serializer.writeStartElement("rapi", "quality", REST_API_NS); serializer.writeCharacters(String.valueOf(getQuality())); serializer.writeEndElement(); } static private class ValueSerializer implements ValueConverter.ValueProcessor {
/** * TODO Only adapts collections, quality, format, and permissions so far. * * @param handle * @return */ protected ContentCreateOptions adaptMetadata(DocumentMetadataWriteHandle handle) { ContentCreateOptions options = new ContentCreateOptions(); if (handle instanceof DocumentMetadataHandle) { DocumentMetadataHandle metadata = (DocumentMetadataHandle) handle; options.setQuality(metadata.getQuality()); options.setCollections(metadata.getCollections().toArray(new String[]{})); adaptPermissions(options, metadata); adaptFormat(options, metadata); } else { logger.warn("Only supports DocumentMetadataHandle; unsupported metadata class: " + handle.getClass().getName()); } return options; }
DocumentRecord rec = page.next(); docMgr.readMetadata(rec.getUri(), mh1); assertEquals("default quality", 0, mh1.getQuality()); assertTrue("Properties contains value 19", mh1.getProperties().containsValue("19")); rec = page.next(); docMgr.readMetadata(rec.getUri(), mh1); assertEquals("default quality", 10, mh1.getQuality()); String expectedCollections = "size:1|http://permission-collections/|"; String actualCollections = getDocumentCollectionsString(mh1.getCollections()); assertEquals("default quality", 0, mh1.getQuality()); rec = page.next(); docMgr.readMetadata(rec.getUri(), mh1); assertEquals("default quality", 0, mh1.getQuality()); assertEquals("default collection must change", "[http://Json-Uri-generic-collections/]", mh1.getCollections()
jdm.readMetadata(rec.getUri(), mh); validateDefaultMetadata(mh); assertEquals("default quality", 0, mh.getQuality()); jdm.readMetadata(rec.getUri(), mh); System.out.print(mh.getCollections().isEmpty()); assertEquals("default quality", 1, mh.getQuality()); assertTrue("default collections reset", mh.getCollections().isEmpty()); rec = page.next(); jdm.readMetadata(rec.getUri(), mh); assertEquals("default quality", 0, mh.getQuality()); assertEquals("default collection must change", "[mySpecificCollection]", mh.getCollections().toString()); rec = page.next(); jdm.readMetadata(rec.getUri(), mh); assertEquals("default quality", 1, mh.getQuality()); assertTrue("default collections reset", mh.getCollections().isEmpty()); rec = page.next(); jdm.readMetadata(rec.getUri(), mh); assertEquals("default quality", 2, mh.getQuality());
assertEquals("Third property with wrong child value "+i, expectedNode.getNodeValue(), actualNode.getNodeValue()); assertEquals("Wrong quality", 3, metaReadHandle.getQuality()); DocumentMetadataValues metadataValues = metaReadHandle.getMetadataValues(); assertEquals("Wrong value for key in the values metadata", "value1", metadataValues.get("key1"));
jdm.readMetadata(rec.getUri(), mh); validateDefaultMetadata(mh); assertEquals("default quality", 0, mh.getQuality()); jdm.readMetadata(rec.getUri(), mh); System.out.print(mh.getCollections().isEmpty()); assertEquals("default quality", 1, mh.getQuality()); assertTrue("default collections reset", mh.getCollections().isEmpty()); rec = page.next(); jdm.readMetadata(rec.getUri(), mh); assertEquals("default quality", 0, mh.getQuality()); assertEquals("default collection must change", "[mySpecificCollection]", mh.getCollections().toString()); rec = page.next(); jdm.readMetadata(rec.getUri(), mh); assertEquals("default quality", 1, mh.getQuality()); assertTrue("default collections reset", mh.getCollections().isEmpty()); rec = page.next(); jdm.readMetadata(rec.getUri(), mh); assertEquals("default quality", 2, mh.getQuality());
rec = page.next(); jdm.readMetadata(rec.getUri(), mh); System.out.print(mh.getQuality()); validateDefaultMetadata(mh); assertEquals("default quality", 0, mh.getQuality()); assertEquals("default quality", 0, mh.getQuality()); rec = page.next(); jdm.readMetadata(rec.getUri(), mh); assertEquals("default quality", 0, mh.getQuality()); assertEquals("default collection must change", "[http://Json-Uri-spec-collections/]", mh.getCollections().toString()); rec = page.next(); jdm.readMetadata(rec.getUri(), mh); assertEquals("default quality", 0, mh.getQuality()); assertTrue("default collections reset", mh.getProperties().containsValue("9")); rec = page.next(); jdm.readMetadata(rec.getUri(), mh); assertEquals("default quality", 20, mh.getQuality());
jdm.readMetadata("doc1.json", new DocumentMetadataHandle()).getQuality()); assertEquals("Doc2 should use the first batch default metadata, with quality 1", defaultMetadata1.getQuality(), jdm.readMetadata("doc2.json", new DocumentMetadataHandle()).getQuality()); "was not included in the document-specific metadata.", 0, doc3Metadata.getQuality()); Set collections = doc3Metadata.getCollections(); assertEquals("Doc3 should be in exactly one collection from the document-specific metadata.", 1, collections.size()); if ( "doc4.json".equals(doc.getUri()) ) { assertEquals("Doc4 should also use the 1st batch default metadata, with quality 1", 1, metadata.getQuality()); assertTrue("Doc 4 contents are wrong", content.get().matches("\\{\"number\": ?4\\}")); } else if ( "doc5.json".equals(doc.getUri()) ) { assertEquals("Doc5 should use the 2nd batch default metadata, with quality 2", 2, metadata.getQuality()); assertTrue("Doc 5 contents are wrong", content.get().matches("\\{\"number\": ?5\\}")); if ( "doc6.json".equals(doc.getUri()) ) { assertEquals("Doc 6 should have the system default quality of 0", 0, metadata.getQuality()); } else if ( "doc7.json".equals(doc.getUri()) ) { assertEquals("Doc7 should also use the 1st batch default metadata, with quality 1", 1, metadata.getQuality()); } else if ( "doc8.json".equals(doc.getUri()) ) { assertEquals("Doc 8 should have the system default quality of 0", 0, metadata.getQuality());
DocumentRecord rec = page.next(); docMgr.readMetadata(rec.getUri(), mh); assertEquals("default quality", 10, mh.getQuality()); rec = page.next(); docMgr.readMetadata(rec.getUri(), mh); assertEquals("default quality", 0, mh.getQuality()); assertEquals("default collection must change", "[genericCollection]", mh.getCollections().toString()); sh.close();
docMgr.readMetadata(rec.getUri(), mh); assertEquals("default quality", 0, mh.getQuality()); validateDefaultMetadata(mh); page = docMgr.read("/2/Pandakarlino.jpg"); rec = page.next(); docMgr.readMetadata(rec.getUri(), mh); assertEquals(" quality", 5, mh.getQuality()); rec = page.next(); docMgr.readMetadata(rec.getUri(), mh); assertEquals("default quality", 0, mh.getQuality());
jdm.readMetadata(rec.getUri(), mh); validateDefaultMetadata(mh); assertEquals("default quality", 0, mh.getQuality()); jdm.readMetadata(rec.getUri(), mh); System.out.print(mh.getCollections().isEmpty()); assertEquals("default quality", 1, mh.getQuality()); String expectedCollections = "size:1|http://permission-collections/|"; String actualCollections = getDocumentCollectionsString(mh.getCollections()); rec = page.next(); jdm.readMetadata(rec.getUri(), mh); assertEquals("default quality", 0, mh.getQuality()); assertEquals("default collection must change", "[mySpecificCollection]", mh.getCollections().toString()); rec = page.next(); jdm.readMetadata(rec.getUri(), mh); assertEquals("default quality", 1, mh.getQuality()); expectedCollections = "size:1|http://permission-collections/|"; actualCollections = getDocumentCollectionsString(mh.getCollections()); rec = page.next(); jdm.readMetadata(rec.getUri(), mh); assertEquals("default quality", 2, mh.getQuality());