metadataHandle.getCollections().addAll("my-collection1", "my-collection2"); metadataHandle.getPermissions().add("app-user", Capability.UPDATE, Capability.READ); metadataHandle.getProperties().put("reviewed", true); metadataHandle.getProperties().put("myString", "foo"); metadataHandle.getProperties().put("myInteger", 10); metadataHandle.getProperties().put("myDecimal", 34.56678); metadataHandle.getProperties().put("myCalendar", Calendar.getInstance().get(Calendar.YEAR)); metadataHandle.setQuality(23);
private void sendPropertiesImpl(final XMLStreamWriter serializer) throws XMLStreamException, TransformerFactoryConfigurationError, TransformerException { if ( getProperties() == null || getProperties().size() == 0 ) return; serializer.writeStartElement("prop", "properties", PROPERTY_API_NS); for (Map.Entry<QName, Object> property: getProperties().entrySet()) { QName propertyName = property.getKey(); Object value = property.getValue(); boolean hasNodeValue = value instanceof NodeList; String namespaceURI = propertyName.getNamespaceURI(); String prefix = null; String localPart = propertyName.getLocalPart(); if (namespaceURI != null && namespaceURI.length() > 0) { if (PROPERTY_API_NS.equals(namespaceURI)) continue; prefix = propertyName.getPrefix(); serializer.writeStartElement(prefix, localPart, namespaceURI); } else { serializer.writeStartElement(localPart); } if (!hasNodeValue) { if (valueSerializer == null) valueSerializer = new ValueSerializer(serializer); ValueConverter.convertFromJava(value, valueSerializer); } else { new DOMWriter(serializer).serializeNodeList((NodeList) value); } serializer.writeEndElement(); } serializer.writeEndElement(); } private void sendQualityImpl(XMLStreamWriter serializer) throws XMLStreamException {
private void receivePropertiesImpl(Document document) { DocumentProperties properties = getProperties(); properties.clear(); properties.put(propertyName, (String) null); continue; properties.put(propertyName, children); continue; String type = property.getAttributeNS( XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI, "type"); properties.put(propertyName, ValueConverter.convertToJava(type, value)); continue; } else { properties.put(propertyName, value); properties.put(propertyName, value);
assertTrue("Document properties difference in size value", properties.size() == 0);
metadataHandle.getCollections().addAll("another-collection"); metadataHandle.getPermissions().add("app-user", Capability.UPDATE, Capability.READ); metadataHandle.getProperties().put("reviewed", true); metadataHandle.getProperties().put("myString", "foo"); metadataHandle.getProperties().put("myInteger", 10); metadataHandle.getProperties().put("myDecimal", 34.56678); metadataHandle.getProperties().put("myCalendar", Calendar.getInstance().get(Calendar.YEAR)); metadataHandle.setQuality(23);
docMgr.readMetadata(rec.getUri(), mh1); assertEquals("default quality", 0, mh1.getQuality()); assertTrue("Properties contains value 19", mh1.getProperties().containsValue("19"));
metaWriteHandle.getCollections().addAll("/document/collection1", "/document/collection2"); metaWriteHandle.getPermissions().add("app-user", Capability.UPDATE, Capability.READ); metaWriteHandle.getProperties().put("first", "value one"); metaWriteHandle.getProperties().put("second", 2); metaWriteHandle.getProperties().put("third", thirdChildren); metaWriteHandle.setQuality(3); metaWriteHandle.getMetadataValues().add("key1", "value1"); assertTrue("Permission key with wrong values", permissions.get("app-user").contains(Capability.READ) && permissions.get("app-user").contains(Capability.UPDATE)); DocumentProperties properties = metaReadHandle.getProperties(); assertTrue("Properties without first property", properties.containsKey("first")); assertTrue("Properties without second property", properties.containsKey("second")); assertTrue("Properties without third property", properties.containsKey("third")); assertEquals("First property with wrong value", "value one", properties.get("first")); if (pass==0) { assertEquals("Second property with wrong value", String.valueOf(2), properties.get("second")); } else if (pass==1) { assertEquals("Second property with wrong value", 2, properties.get("second")); Object thirdValue = properties.get("third"); assertTrue("Third property with wrong class for value", thirdValue instanceof NodeList); NodeList thirdNodes = (NodeList) thirdValue;
jdm.readMetadata(rec.getUri(), mh); assertEquals("default quality", 0, mh.getQuality()); assertTrue("default collections reset", mh.getProperties().containsValue("9"));
metadataHandle.getCollections().addAll("another-collection"); metadataHandle.getPermissions().add("app-user", Capability.UPDATE, Capability.READ); metadataHandle.getProperties().put("reviewed", true); metadataHandle.getProperties().put("myString", "foo"); metadataHandle.getProperties().put("myInteger", 10); metadataHandle.getProperties().put("myDecimal", 34.56678); metadataHandle.getProperties().put("myCalendar", Calendar.getInstance().get(Calendar.YEAR)); metadataHandle.setQuality(23); metadataHandle.getMetadataValues().add("key1", "value1");
metadataHandle.getCollections().addAll("another-collection"); metadataHandle.getPermissions().add("app-user", Capability.UPDATE, Capability.READ); metadataHandle.getProperties().put("reviewed", true); metadataHandle.getProperties().put("myString", "foo"); metadataHandle.getProperties().put("myInteger", 10); metadataHandle.getProperties().put("myDecimal", 34.56678); metadataHandle.getProperties().put("myCalendar", Calendar.getInstance().get(Calendar.YEAR)); metadataHandle.setQuality(23); metadataHandle.getMetadataValues().add("key11", "value11");
metadataHandle1.getProperties().put("popularity", 5); metadataHandle2.getProperties().put("popularity", 9); metadataHandle3.getProperties().put("popularity", 1); metadataHandle1.getProperties().put("city", "Shanghai is a good one"); metadataHandle2.getProperties().put("city", "Tokyo is hot in the summer"); metadataHandle3.getProperties().put("city", "The food in Seoul is similar in Shanghai");
metadataHandle.getCollections().addAll("another-collection"); metadataHandle.getPermissions().add("app-user", Capability.UPDATE, Capability.READ); metadataHandle.getProperties().put("reviewed", true); metadataHandle.getProperties().put("myString", "foo"); metadataHandle.getProperties().put("myInteger", 10); metadataHandle.getProperties().put("myDecimal", 34.56678); metadataHandle.getProperties().put("myCalendar", Calendar.getInstance().get(Calendar.YEAR)); metadataHandle.setQuality(23);
private void receivePropertiesImpl(Document document) { DocumentProperties properties = getProperties(); properties.clear(); properties.put(propertyName, (String) null); continue; properties.put(propertyName, children); continue; String type = property.getAttributeNS( XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI, "type"); properties.put(propertyName, ValueConverter.convertToJava(type, value)); continue; } else { properties.put(propertyName, value); properties.put(propertyName, value);
metadataHandle1.getProperties().put("popularity", 5); metadataHandle2.getProperties().put("popularity", 9); metadataHandle3.getProperties().put("popularity", 1); metadataHandle1.getProperties().put("city", "Shanghai is a good one"); metadataHandle2.getProperties().put("city", "Tokyo is hot in the summer"); metadataHandle3.getProperties().put("city", "The food in Seoul is similar in Shanghai");
@Test public void testJSONMetadataQName() throws KeyManagementException, NoSuchAlgorithmException, JAXBException, IOException { System.out.println("Running testJSONMetadataQName"); String filename = "myJSONFile.json"; DatabaseClient client = getDatabaseClient("rest-writer", "x", getConnType()); // create and initialize a handle on the metadata DocumentMetadataHandle metadataHandle = new DocumentMetadataHandle(); // put metadata metadataHandle.getProperties().put(new QName("http://www.example.com", "foo"), "bar"); // write the doc with the metadata writeDocumentUsingOutputStreamHandle(client, filename, "/write-json-outputstreamhandle-metadata/", metadataHandle, "JSON"); // create handle to read metadata DocumentMetadataHandle readMetadataHandle = new DocumentMetadataHandle(); // read metadata readMetadataHandle = readMetadataFromDocument(client, "/write-json-outputstreamhandle-metadata/" + filename, "JSON"); // get metadata values DocumentProperties properties = readMetadataHandle.getProperties(); // Properties String expectedProperties = "size:1|{http://www.example.com}foo:bar|"; String actualProperties = getDocumentPropertiesString(properties); System.out.println(actualProperties); assertEquals("Document properties difference", expectedProperties, actualProperties); // release the client client.release(); }
private void sendPropertiesImpl(final XMLStreamWriter serializer) throws XMLStreamException, TransformerFactoryConfigurationError, TransformerException { serializer.writeStartElement("prop", "properties", PROPERTY_API_NS); for (Map.Entry<QName, Object> property: getProperties().entrySet()) { QName propertyName = property.getKey(); Object value = property.getValue(); boolean hasNodeValue = value instanceof NodeList; String namespaceURI = propertyName.getNamespaceURI(); String prefix = null; String localPart = propertyName.getLocalPart(); if (namespaceURI != null && namespaceURI.length() > 0) { if (PROPERTY_API_NS.equals(namespaceURI)) continue; prefix = propertyName.getPrefix(); serializer.writeStartElement(prefix, localPart, namespaceURI); } else { serializer.writeStartElement(localPart); } if (!hasNodeValue) { if (valueSerializer == null) valueSerializer = new ValueSerializer(serializer); ValueConverter.convertFromJava(value, valueSerializer); } else { new DOMWriter(serializer).serializeNodeList((NodeList) value); } serializer.writeEndElement(); } serializer.writeEndElement(); } private void sendQualityImpl(XMLStreamWriter serializer) throws XMLStreamException {