private static DavProperty<List<XmlSerializable>> createNodeTypeProperty(String localName, String[] ntNames) { // convert the specified node type names to a xml-serializable value List<XmlSerializable> val = new ArrayList<XmlSerializable>(); for (final String ntName : ntNames) { val.add(new XmlSerializable() { public Element toXml(Document document) { return NodeTypeUtil.ntNameToXml(ntName, document); } }); } return new DefaultDavProperty<List<XmlSerializable>>(localName, val, ItemResourceConstants.NAMESPACE, false); }
/** * Tries to parse the given input stream as xml document and build a * {@link ValuesProperty} out of it. * * @param in * @return values property or 'null' if the given stream cannot be parsed * into an XML document or if build the property fails. */ private ValuesProperty buildValuesProperty(InputStream in) { String errorMsg = "Cannot parse stream into a 'ValuesProperty'."; try { Document reqBody = DomUtil.parseDocument(in); DavProperty<?> defaultProp = DefaultDavProperty.createFromXml(reqBody.getDocumentElement()); ValuesProperty vp = new ValuesProperty(defaultProp, PropertyType.STRING, getRepositorySession().getValueFactory()); return vp; } catch (IOException e) { log.debug(errorMsg, e); } catch (ParserConfigurationException e) { log.debug(errorMsg, e); } catch (SAXException e) { log.debug(errorMsg, e); } catch (DavException e) { log.debug(errorMsg, e); } catch (RepositoryException e) { log.debug(errorMsg, e); } // cannot parse request body into a 'values' property return null; }
private static DavProperty<List<XmlSerializable>> createNodeTypeProperty(String localName, String[] ntNames) { // convert the specified node type names to a xml-serializable value List<XmlSerializable> val = new ArrayList<XmlSerializable>(); for (final String ntName : ntNames) { val.add(new XmlSerializable() { public Element toXml(Document document) { return NodeTypeUtil.ntNameToXml(ntName, document); } }); } return new DefaultDavProperty<List<XmlSerializable>>(localName, val, ItemResourceConstants.NAMESPACE, false); }
/** * Returns Children object from the {@link DavProperty} property * @param property Property to retrieve children from. * @return Collection of DavProperties, with all the child properties, of the property, * from the Value of the property. */ public static Collection<DavProperty> getChildrenfromValue(DavProperty property) { Collection<DavProperty> coll = new ArrayList<>(); if(property != null) { if (property.getValue() instanceof DavProperty) { coll.add((DavProperty) property.getValue()); return coll; } else if (property.getValue() instanceof Node[]) { for (Node e : (Node[]) property.getValue()) { if (e instanceof Element) coll.add(DefaultDavProperty.createFromXml((Element) e)); } return coll; } else if (property.getValue() instanceof Collection) { for (Object entry : ((Collection<?>) property.getValue())) { if (entry instanceof DavProperty) { coll.add((DavProperty) entry); } else if (entry instanceof Element) { coll.add(DefaultDavProperty.createFromXml((Element) entry)); } } } } return coll; }
private static DavProperty<List<XmlSerializable>> createValuesProperty(Value[] jcrValues) { // convert the specified jcr values to a xml-serializable value List<XmlSerializable> val = new ArrayList<XmlSerializable>(); for (final Value jcrValue : jcrValues) { val.add(new XmlSerializable() { public Element toXml(Document document) { try { return ValueUtil.valueToXml(jcrValue, document); } catch (RepositoryException e) { throw new RuntimeException(e); } } }); } return new DefaultDavProperty<List<XmlSerializable>>(JcrRemotingConstants.JCR_VALUES_LN, val, ItemResourceConstants.NAMESPACE, false); }
public void setStream(InputStream in) throws IOException { if (index == NO_INDEX) { init(in, true); } else { // TODO: improve. jcr-server sends XML for multivalued properties try { Document doc = DomUtil.parseDocument(in); Element prop = DomUtil.getChildElement(doc, JcrRemotingConstants.JCR_VALUES_LN, ItemResourceConstants.NAMESPACE); DavProperty<?> p = DefaultDavProperty.createFromXml(prop); Value[] jcrVs = ValueUtil.valuesFromXml(p.getValue(), PropertyType.BINARY, vf); init(jcrVs[index].getStream(), true); } catch (RepositoryException e) { throw new IOException(e.getMessage()); } catch (SAXException e) { throw new IOException(e.getMessage()); } catch (ParserConfigurationException e) { throw new IOException(e.getMessage()); } } } }
private static DavProperty<List<XmlSerializable>> createValuesProperty(Value[] jcrValues) { // convert the specified jcr values to a xml-serializable value List<XmlSerializable> val = new ArrayList<XmlSerializable>(); for (final Value jcrValue : jcrValues) { val.add(new XmlSerializable() { public Element toXml(Document document) { try { return ValueUtil.valueToXml(jcrValue, document); } catch (RepositoryException e) { throw new RuntimeException(e); } } }); } return new DefaultDavProperty<List<XmlSerializable>>(JcrRemotingConstants.JCR_VALUES_LN, val, ItemResourceConstants.NAMESPACE, false); }
public void setStream(InputStream in) throws IOException { if (index == NO_INDEX) { init(in, true); } else { // TODO: improve. jcr-server sends XML for multivalued properties try { Document doc = DomUtil.parseDocument(in); Element prop = DomUtil.getChildElement(doc, JcrRemotingConstants.JCR_VALUES_LN, ItemResourceConstants.NAMESPACE); DavProperty<?> p = DefaultDavProperty.createFromXml(prop); Value[] jcrVs = ValueUtil.valuesFromXml(p.getValue(), PropertyType.BINARY, vf); init(jcrVs[index].getStream(), true); } catch (RepositoryException e) { throw new IOException(e.getMessage()); } catch (SAXException e) { throw new IOException(e.getMessage()); } catch (ParserConfigurationException e) { throw new IOException(e.getMessage()); } } } }
public void setContentLength(long contentLength) { if (contentLength > IOUtil.UNDEFINED_LENGTH) { properties.add(new DefaultDavProperty<String>(DavPropertyName.GETCONTENTLENGTH, contentLength + "")); } }
DavProperty<?> p = DefaultDavProperty.createFromXml(prop); Value[] jcrVs = ValueUtil.valuesFromXml(p.getValue(), PropertyType.STRING, valueFactory); QValue[] qvs = new QValue[jcrVs.length];
public void setETag(String etag) { if (etag != null) { properties.add(new DefaultDavProperty<String>(DavPropertyName.GETETAG, etag)); } }
DavProperty<?> p = DefaultDavProperty.createFromXml(prop); Value[] jcrVs = ValueUtil.valuesFromXml(p.getValue(), PropertyType.STRING, valueFactory); QValue[] qvs = new QValue[jcrVs.length];
public void setContentLanguage(String contentLanguage) { if (contentLanguage != null) { properties.add(new DefaultDavProperty<String>(DavPropertyName.GETCONTENTLANGUAGE, contentLanguage)); } }
ElementIterator properties = DomUtil.getChildren(propEl); while (properties.hasNext()) { DavProperty<?> davProp = DefaultDavProperty.createFromXml(properties.nextElement()); proppatchSet.add(davProp); proppatchList.add(davProp); ElementIterator properties = DomUtil.getChildren(propEl); while (properties.hasNext()) { DavProperty<?> davProp = DefaultDavProperty.createFromXml(properties.nextElement()); proppatchSet.add(davProp); proppatchList.add(davProp.getName());
private static DavProperty<List<XmlSerializable>> createNamespaceProperty(final Map<String, String> namespaces) { // convert the specified namespace to a xml-serializable value List<XmlSerializable> val = new ArrayList<XmlSerializable>(); for (final String prefix : namespaces.keySet()) { val.add(new XmlSerializable() { public Element toXml(Document document) { Element nsElem = document.createElementNS(JcrRemotingConstants.NS_URI, JcrRemotingConstants.NS_PREFIX + ":" + JcrRemotingConstants.XML_NAMESPACE); Element prefixElem = document.createElementNS(JcrRemotingConstants.NS_URI, JcrRemotingConstants.NS_PREFIX + ":" + JcrRemotingConstants.XML_PREFIX); org.w3c.dom.Text txt = document.createTextNode(prefix); prefixElem.appendChild(txt); final String uri = namespaces.get(prefix); Element uriElem = document.createElementNS(JcrRemotingConstants.NS_URI, JcrRemotingConstants.NS_PREFIX + ":" + JcrRemotingConstants.XML_URI); org.w3c.dom.Text txt2 = document.createTextNode(uri); uriElem.appendChild(txt2); nsElem.appendChild(prefixElem); nsElem.appendChild(uriElem); return nsElem; } }); } return new DefaultDavProperty<List<XmlSerializable>>(JcrRemotingConstants.JCR_NAMESPACES_LN, val, ItemResourceConstants.NAMESPACE, false); }
ElementIterator properties = DomUtil.getChildren(propEl); while (properties.hasNext()) { DavProperty<?> davProp = DefaultDavProperty.createFromXml(properties.nextElement()); proppatchSet.add(davProp); proppatchList.add(davProp); ElementIterator properties = DomUtil.getChildren(propEl); while (properties.hasNext()) { DavProperty<?> davProp = DefaultDavProperty.createFromXml(properties.nextElement()); proppatchSet.add(davProp); proppatchList.add(davProp.getName());
private static DavProperty<List<XmlSerializable>> createNamespaceProperty(final Map<String, String> namespaces) { // convert the specified namespace to a xml-serializable value List<XmlSerializable> val = new ArrayList<XmlSerializable>(); for (final String prefix : namespaces.keySet()) { val.add(new XmlSerializable() { public Element toXml(Document document) { Element nsElem = document.createElementNS(JcrRemotingConstants.NS_URI, JcrRemotingConstants.NS_PREFIX + ":" + JcrRemotingConstants.XML_NAMESPACE); Element prefixElem = document.createElementNS(JcrRemotingConstants.NS_URI, JcrRemotingConstants.NS_PREFIX + ":" + JcrRemotingConstants.XML_PREFIX); org.w3c.dom.Text txt = document.createTextNode(prefix); prefixElem.appendChild(txt); final String uri = namespaces.get(prefix); Element uriElem = document.createElementNS(JcrRemotingConstants.NS_URI, JcrRemotingConstants.NS_PREFIX + ":" + JcrRemotingConstants.XML_URI); org.w3c.dom.Text txt2 = document.createTextNode(uri); uriElem.appendChild(txt2); nsElem.appendChild(prefixElem); nsElem.appendChild(uriElem); return nsElem; } }); } return new DefaultDavProperty<List<XmlSerializable>>(JcrRemotingConstants.JCR_NAMESPACES_LN, val, ItemResourceConstants.NAMESPACE, false); }
ElementIterator properties = DomUtil.getChildren(propEl); while (properties.hasNext()) { DavProperty davProp = DefaultDavProperty.createFromXml(properties.nextElement()); proppatchSet.add(davProp); proppatchList.add(davProp); ElementIterator properties = DomUtil.getChildren(propEl); while (properties.hasNext()) { DavProperty davProp = DefaultDavProperty.createFromXml(properties.nextElement()); proppatchSet.add(davProp); proppatchList.add(davProp.getName());
public void setModificationTime(long modTime) { if (modTime <= IOUtil.UNDEFINED_TIME) { modificationTime = new Date().getTime(); } else { modificationTime = modTime; } String lastModified = IOUtil.getLastModified(modificationTime); properties.add(new DefaultDavProperty<String>(DavPropertyName.GETLASTMODIFIED, lastModified)); }
DavProperty<?> property = DefaultDavProperty.createFromXml(el); response.add(property, statusCode);