List of usage examples for org.dom4j.io XMLWriter write
public void write(Object object) throws IOException
From source file:it.unibz.inf.xmlssd.metadator.helpers.UIHelper.java
License:Apache License
/** * Method which return a pretty formated string. If it fails the untouched * string is given back.//from w ww. ja v a 2 s . c o m * @param str * @return */ public static String prettyPrintString(String str) { try { Document document = DocumentHelper.parseText(str); OutputFormat format = OutputFormat.createPrettyPrint(); // remove <?xml version="1.0" encoding="UTF-8"?> format.setSuppressDeclaration(true); StringWriter strWriter = new StringWriter(); XMLWriter writer = new XMLWriter(strWriter, format); writer.write(document); return strWriter.toString(); } catch (IOException e) { } catch (DocumentException e) { } return str; }
From source file:itensil.io.xml.XMLDocument.java
License:Open Source License
public static void writeStream(Document doc, OutputStream out) throws IOException { XMLWriter dxw = new XMLWriter(out, new OutputFormat("\t", true)); dxw.write(doc); }
From source file:javaapplication3.DataXmlWorker.java
private void setXmlData(ShortBuffer mem_data) { SAXReader reader = new SAXReader(); File f = new File(file_name_from_unit_); if (!f.exists()) { System.out.println("no data file " + file_name_from_unit_); }/* w w w. j a va 2 s .com*/ try { Document document = reader.read(f); Element root = document.getRootElement().element("map"); // iterate through child elements of root for (Iterator i = root.elementIterator(); i.hasNext();) { Element element = (Element) i.next(); //System.out.println("addr[ " + element.attributeValue("addr") + "] = " + element.attributeValue("value")); int mem_adr = Integer.parseInt(element.attributeValue("addr")) - mem_shift_; //System.out.println("mem_adr = " + mem_adr); if (mem_adr < mem_data.limit()) { int data = mem_data.get(mem_adr); if (data < 0) data += 65536; //System.out.println("in put attr to xml int = " + data); element.attribute("value").setValue(Integer.toString(data)); } } // XMLWriter writer = new XMLWriter( new FileWriter( "output.xml" )); XMLWriter writer = new XMLWriter(new FileWriter(file_name_from_unit_)); writer.write(document); writer.close(); } catch (DocumentException ex) { System.out.println("Exeption: " + ex.getMessage()); Logger.getLogger(DataXmlWorker.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { System.out.println("Exeption: " + ex.getMessage()); Logger.getLogger(DataXmlWorker.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:job.tot.xml.DOM4JConfiguration.java
License:Apache License
public synchronized void save() throws IOException { XMLWriter writer = null; OutputStream out = null;/*from www. j a v a 2 s . co m*/ try { OutputFormat outputter = OutputFormat.createPrettyPrint(); out = new BufferedOutputStream(new FileOutputStream(getFile())); writer = new XMLWriter(out, outputter); writer.write(document); } finally { if (out != null) { out.close(); } if (writer != null) { writer.close(); } } }
From source file:jp.aegif.alfresco.online_webdav.PropFindMethod.java
License:Open Source License
/** * Generates the required response XML for the current node * //from ww w .jav a2s .c om * @param xml XMLWriter * @param node NodeRef * @param path String */ protected void generateResponseForNode(XMLWriter xml, FileInfo nodeInfo, String path) throws Exception { //boolean isFolder = nodeInfo.isFolder(); boolean isFolder = (nodeInfo == null); // Output the response block for the current node xml.startElement(WebDAV.DAV_NS, WebDAV.XML_RESPONSE, WebDAV.XML_NS_RESPONSE, getDAVHelper().getNullAttributes()); // Build the href string for the current node String strHRef = getURLForPath(m_request, path, isFolder); xml.startElement(WebDAV.DAV_NS, WebDAV.XML_HREF, WebDAV.XML_NS_HREF, getDAVHelper().getNullAttributes()); xml.write(strHRef); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_HREF, WebDAV.XML_NS_HREF); switch (m_mode) { case GET_NAMED_PROPS: generateNamedPropertiesResponse(xml, nodeInfo, isFolder); break; case GET_ALL_PROPS: //specific generateAllPropertiesResponse(xml, nodeInfo, path, isFolder); break; case FIND_PROPS: generateFindPropertiesResponse(xml, nodeInfo, isFolder); break; } // Close off the response element xml.endElement(WebDAV.DAV_NS, WebDAV.XML_RESPONSE, WebDAV.XML_NS_RESPONSE); }
From source file:jp.aegif.alfresco.online_webdav.PropFindMethod.java
License:Open Source License
/** * Generates the XML response for a PROPFIND request that asks for a * specific set of properties/*from ww w . ja v a 2 s .c o m*/ * * @param xml XMLWriter * @param node NodeRef * @param isDir boolean */ private void generateNamedPropertiesResponse(XMLWriter xml, FileInfo nodeInfo, boolean isDir) throws Exception { // Get the properties for the node Map<QName, Serializable> props = nodeInfo.getProperties(); // Output the start of the properties element Attributes nullAttr = getDAVHelper().getNullAttributes(); xml.startElement(WebDAV.DAV_NS, WebDAV.XML_PROPSTAT, WebDAV.XML_NS_PROPSTAT, nullAttr); xml.startElement(WebDAV.DAV_NS, WebDAV.XML_PROP, WebDAV.XML_NS_PROP, nullAttr); ArrayList<WebDAVProperty> propertiesNotFound = new ArrayList<WebDAVProperty>(); TypeConverter typeConv = DefaultTypeConverter.INSTANCE; // Loop through the requested property list for (WebDAVProperty property : m_properties) { // Get the requested property details String propName = property.getName(); String propNamespaceUri = property.getNamespaceUri(); // Check if the property is a standard WebDAV property Object davValue = null; if (WebDAV.DEFAULT_NAMESPACE_URI.equals(propNamespaceUri)) { // Check if the client is requesting lock information if (propName.equals(WebDAV.XML_LOCK_DISCOVERY)) // && metaData.isLocked()) { generateLockDiscoveryResponse(xml, nodeInfo, isDir); } else if (propName.equals(WebDAV.XML_SUPPORTED_LOCK)) { // Output the supported lock types writeLockTypes(xml); } // Check if the client is requesting the resource type else if (propName.equals(WebDAV.XML_RESOURCE_TYPE)) { // If the node is a folder then return as a collection type xml.startElement(WebDAV.DAV_NS, WebDAV.XML_RESOURCE_TYPE, WebDAV.XML_NS_RESOURCE_TYPE, nullAttr); if (isDir) { xml.write(DocumentHelper.createElement(WebDAV.XML_NS_COLLECTION)); } xml.endElement(WebDAV.DAV_NS, WebDAV.XML_RESOURCE_TYPE, WebDAV.XML_NS_RESOURCE_TYPE); } else if (propName.equals(WebDAV.XML_DISPLAYNAME)) { // Get the node name //AEGIF add null check if (getRootNodeRef() != null && getRootNodeRef().equals(nodeInfo.getNodeRef())) { // Output an empty name for the root node xml.write(DocumentHelper.createElement(WebDAV.XML_NS_SOURCE)); } else { // Get the node name davValue = WebDAV.getDAVPropertyValue(props, WebDAV.XML_DISPLAYNAME); // Output the node name xml.startElement(WebDAV.DAV_NS, WebDAV.XML_DISPLAYNAME, WebDAV.XML_NS_DISPLAYNAME, nullAttr); if (davValue != null) { String name = typeConv.convert(String.class, davValue); if (name == null || name.length() == 0) { logger.error("WebDAV name is null, value=" + davValue.getClass().getName() + ", node=" + nodeInfo.getNodeRef()); } xml.write(name); } xml.endElement(WebDAV.DAV_NS, WebDAV.XML_DISPLAYNAME, WebDAV.XML_NS_DISPLAYNAME); } } else if (propName.equals(WebDAV.XML_SOURCE)) { // NOTE: source is always a no content element in our // implementation xml.write(DocumentHelper.createElement(WebDAV.XML_NS_SOURCE)); } else if (propName.equals(WebDAV.XML_GET_LAST_MODIFIED)) { // Get the modifed date/time davValue = WebDAV.getDAVPropertyValue(props, WebDAV.XML_GET_LAST_MODIFIED); // Output the last modified date of the node xml.startElement(WebDAV.DAV_NS, WebDAV.XML_GET_LAST_MODIFIED, WebDAV.XML_NS_GET_LAST_MODIFIED, nullAttr); if (davValue != null) xml.write(WebDAV.formatModifiedDate(typeConv.convert(Date.class, davValue))); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_GET_LAST_MODIFIED, WebDAV.XML_NS_GET_LAST_MODIFIED); } else if (propName.equals(WebDAV.XML_GET_CONTENT_LANGUAGE) && !isDir) { // Get the content language // TODO: // Output the content language xml.startElement(WebDAV.DAV_NS, WebDAV.XML_GET_CONTENT_LANGUAGE, WebDAV.XML_NS_GET_CONTENT_LANGUAGE, nullAttr); // TODO: xml.endElement(WebDAV.DAV_NS, WebDAV.XML_GET_CONTENT_LANGUAGE, WebDAV.XML_NS_GET_CONTENT_LANGUAGE); } else if (propName.equals(WebDAV.XML_GET_CONTENT_TYPE) && !isDir) { // Get the content type davValue = WebDAV.getDAVPropertyValue(props, WebDAV.XML_GET_CONTENT_TYPE); // Output the content type xml.startElement(WebDAV.DAV_NS, WebDAV.XML_GET_CONTENT_TYPE, WebDAV.XML_NS_GET_CONTENT_TYPE, nullAttr); if (davValue != null) xml.write(typeConv.convert(String.class, davValue)); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_GET_CONTENT_TYPE, WebDAV.XML_NS_GET_CONTENT_TYPE); } else if (propName.equals(WebDAV.XML_GET_ETAG) && !isDir) { // Output the etag xml.startElement(WebDAV.DAV_NS, WebDAV.XML_GET_ETAG, WebDAV.XML_NS_GET_ETAG, nullAttr); xml.write(getDAVHelper().makeETag(nodeInfo)); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_GET_ETAG, WebDAV.XML_NS_GET_ETAG); } else if (propName.equals(WebDAV.XML_GET_CONTENT_LENGTH)) { // Get the content length, if it's not a folder long len = 0; if (!isDir) { ContentData contentData = (ContentData) props.get(ContentModel.PROP_CONTENT); if (contentData != null) len = contentData.getSize(); } // Output the content length xml.startElement(WebDAV.DAV_NS, WebDAV.XML_GET_CONTENT_LENGTH, WebDAV.XML_NS_GET_CONTENT_LENGTH, nullAttr); xml.write("" + len); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_GET_CONTENT_LENGTH, WebDAV.XML_NS_GET_CONTENT_LENGTH); } else if (propName.equals(WebDAV.XML_CREATION_DATE)) { // Get the creation date davValue = WebDAV.getDAVPropertyValue(props, WebDAV.XML_CREATION_DATE); // Output the creation date xml.startElement(WebDAV.DAV_NS, WebDAV.XML_CREATION_DATE, WebDAV.XML_NS_CREATION_DATE, nullAttr); if (davValue != null) xml.write(WebDAV.formatCreationDate(typeConv.convert(Date.class, davValue))); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_CREATION_DATE, WebDAV.XML_NS_CREATION_DATE); } else if (propName.equals(WebDAV.XML_ALF_AUTHTICKET)) { // Get the users authentication ticket SessionUser davUser = (SessionUser) m_request.getSession() .getAttribute(AuthenticationFilter.AUTHENTICATION_USER); xml.startElement(WebDAV.DAV_NS, WebDAV.XML_ALF_AUTHTICKET, WebDAV.XML_NS_ALF_AUTHTICKET, nullAttr); if (davUser != null) xml.write(davUser.getTicket()); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_ALF_AUTHTICKET, WebDAV.XML_NS_ALF_AUTHTICKET); } else { // Could not map the requested property to an Alfresco property if (property.getName().equals(WebDAV.XML_HREF) == false) propertiesNotFound.add(property); } } else { // Look in the custom properties // TODO: Custom properties lookup // String qualifiedName = propNamespaceUri + WebDAV.NAMESPACE_SEPARATOR + propName; String value = (String) nodeInfo.getProperties().get(property.createQName()); if (value == null) { propertiesNotFound.add(property); } else { if (property.hasNamespaceName()) { xml.startElement(property.getNamespaceName(), property.getName(), property.getNamespaceName() + WebDAV.NAMESPACE_SEPARATOR + property.getName(), nullAttr); xml.write(value); xml.endElement(property.getNamespaceName(), property.getName(), property.getNamespaceName() + WebDAV.NAMESPACE_SEPARATOR + property.getName()); } else { xml.startElement("", property.getName(), property.getName(), nullAttr); xml.write(value); xml.endElement("", property.getName(), property.getName()); } } } } // Close off the successful part of the response xml.endElement(WebDAV.DAV_NS, WebDAV.XML_PROP, WebDAV.XML_NS_PROP); xml.startElement(WebDAV.DAV_NS, WebDAV.XML_STATUS, WebDAV.XML_NS_STATUS, nullAttr); xml.write(WebDAV.HTTP1_1 + " " + HttpServletResponse.SC_OK + " " + WebDAV.SC_OK_DESC); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_STATUS, WebDAV.XML_NS_STATUS); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_PROPSTAT, WebDAV.XML_NS_PROPSTAT); // If some of the requested properties were not found return another // status section if (propertiesNotFound.size() > 0) { // Start the second status section xml.startElement(WebDAV.DAV_NS, WebDAV.XML_PROPSTAT, WebDAV.XML_NS_PROPSTAT, nullAttr); xml.startElement(WebDAV.DAV_NS, WebDAV.XML_PROP, WebDAV.XML_NS_PROP, nullAttr); // Loop through the list of properties that were not found for (WebDAVProperty property : propertiesNotFound) { // Output the property not found status block String propName = property.getName(); String propNamespaceName = property.getNamespaceName(); String propQName = propName; if (propNamespaceName != null && propNamespaceName.length() > 0) propQName = propNamespaceName + ":" + propName; xml.write(DocumentHelper.createElement(propQName)); } // Close the unsuccessful part of the response xml.endElement(WebDAV.DAV_NS, WebDAV.XML_PROP, WebDAV.XML_NS_PROP); xml.startElement(WebDAV.DAV_NS, WebDAV.XML_STATUS, WebDAV.XML_NS_STATUS, nullAttr); xml.write(WebDAV.HTTP1_1 + " " + HttpServletResponse.SC_NOT_FOUND + " " + WebDAV.SC_NOT_FOUND_DESC); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_STATUS, WebDAV.XML_NS_STATUS); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_PROPSTAT, WebDAV.XML_NS_PROPSTAT); } }
From source file:jp.aegif.alfresco.online_webdav.PropFindMethod.java
License:Open Source License
/** * Generates the XML response for a PROPFIND request that asks for all known * properties// w w w .j a va 2 s. co m * * @param xml XMLWriter * @param node NodeRef * @param isDir boolean */ protected void generateAllPropertiesResponse(XMLWriter xml, FileInfo nodeInfo, String path, boolean isDir) throws Exception { // Get the properties for the node //## specific boolean isRealContent = (nodeInfo != null); Map<QName, Serializable> props = null; if (isRealContent) { props = nodeInfo.getProperties(); } // Output the start of the properties element Attributes nullAttr = getDAVHelper().getNullAttributes(); xml.startElement(WebDAV.DAV_NS, WebDAV.XML_PROPSTAT, WebDAV.XML_NS_PROPSTAT, nullAttr); xml.startElement(WebDAV.DAV_NS, WebDAV.XML_PROP, WebDAV.XML_NS_PROP, nullAttr); // Generate a lock status report, if locked if (isRealContent) { generateLockDiscoveryResponse(xml, nodeInfo, isDir); } // Output the supported lock types writeLockTypes(xml); // If the node is a folder then return as a collection type xml.startElement(WebDAV.DAV_NS, WebDAV.XML_RESOURCE_TYPE, WebDAV.XML_NS_RESOURCE_TYPE, nullAttr); if (isDir) xml.write(DocumentHelper.createElement(WebDAV.XML_NS_COLLECTION)); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_RESOURCE_TYPE, WebDAV.XML_NS_RESOURCE_TYPE); // Get the node name Object davValue = null; TypeConverter typeConv = DefaultTypeConverter.INSTANCE; if (isRealContent) { davValue = WebDAV.getDAVPropertyValue(props, WebDAV.XML_DISPLAYNAME); //TypeConverter typeConv = DefaultTypeConverter.INSTANCE; // Output the node name xml.startElement(WebDAV.DAV_NS, WebDAV.XML_DISPLAYNAME, WebDAV.XML_NS_DISPLAYNAME, nullAttr); if (davValue != null) { String name = typeConv.convert(String.class, davValue); if (name == null || name.length() == 0) { logger.error("WebDAV name is null, value=" + davValue.getClass().getName() + ", node=" + nodeInfo.getNodeRef()); } xml.write(name); } xml.endElement(WebDAV.DAV_NS, WebDAV.XML_DISPLAYNAME, WebDAV.XML_NS_DISPLAYNAME); } else { xml.startElement(WebDAV.DAV_NS, WebDAV.XML_DISPLAYNAME, WebDAV.XML_NS_DISPLAYNAME, nullAttr); xml.write(path.replaceAll("/", "")); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_DISPLAYNAME, WebDAV.XML_NS_DISPLAYNAME); } // Output the source // // NOTE: source is always a no content element in our implementation xml.write(DocumentHelper.createElement(WebDAV.XML_NS_SOURCE)); // Get the creation date if (isRealContent) { davValue = WebDAV.getDAVPropertyValue(props, WebDAV.XML_CREATION_DATE); } else { davValue = new Date(); } // Output the creation date xml.startElement(WebDAV.DAV_NS, WebDAV.XML_CREATION_DATE, WebDAV.XML_NS_CREATION_DATE, nullAttr); if (davValue != null) xml.write(WebDAV.formatCreationDate(typeConv.convert(Date.class, davValue))); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_CREATION_DATE, WebDAV.XML_NS_CREATION_DATE); // Get the modifed date/time if (isRealContent) { davValue = WebDAV.getDAVPropertyValue(props, WebDAV.XML_GET_LAST_MODIFIED); } else { davValue = new Date(); } // Output the last modified date of the node xml.startElement(WebDAV.DAV_NS, WebDAV.XML_GET_LAST_MODIFIED, WebDAV.XML_NS_GET_LAST_MODIFIED, nullAttr); if (davValue != null) xml.write(WebDAV.formatModifiedDate(typeConv.convert(Date.class, davValue))); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_GET_LAST_MODIFIED, WebDAV.XML_NS_GET_LAST_MODIFIED); // For a file node output the content language and content type if (isDir == false) { // Get the content language // TODO: // Output the content language xml.startElement(WebDAV.DAV_NS, WebDAV.XML_GET_CONTENT_LANGUAGE, WebDAV.XML_NS_GET_CONTENT_LANGUAGE, nullAttr); // TODO: xml.endElement(WebDAV.DAV_NS, WebDAV.XML_GET_CONTENT_LANGUAGE, WebDAV.XML_NS_GET_CONTENT_LANGUAGE); // Get the content type davValue = WebDAV.getDAVPropertyValue(props, WebDAV.XML_GET_CONTENT_TYPE); // Output the content type xml.startElement(WebDAV.DAV_NS, WebDAV.XML_GET_CONTENT_TYPE, WebDAV.XML_NS_GET_CONTENT_TYPE, nullAttr); if (davValue != null) xml.write(typeConv.convert(String.class, davValue)); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_GET_CONTENT_TYPE, WebDAV.XML_NS_GET_CONTENT_TYPE); // Output the etag xml.startElement(WebDAV.DAV_NS, WebDAV.XML_GET_ETAG, WebDAV.XML_NS_GET_ETAG, nullAttr); xml.write(getDAVHelper().makeETag(nodeInfo)); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_GET_ETAG, WebDAV.XML_NS_GET_ETAG); } // Get the content length, if it's not a folder long len = 0; if (isDir == false) { ContentData contentData = (ContentData) props.get(ContentModel.PROP_CONTENT); if (contentData != null) len = contentData.getSize(); } // Output the content length xml.startElement(WebDAV.DAV_NS, WebDAV.XML_GET_CONTENT_LENGTH, WebDAV.XML_NS_GET_CONTENT_LENGTH, nullAttr); xml.write("" + len); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_GET_CONTENT_LENGTH, WebDAV.XML_NS_GET_CONTENT_LENGTH); // Print out all the custom properties SessionUser davUser = (SessionUser) m_request.getSession() .getAttribute(AuthenticationFilter.AUTHENTICATION_USER); xml.startElement(WebDAV.DAV_NS, WebDAV.XML_ALF_AUTHTICKET, WebDAV.XML_NS_ALF_AUTHTICKET, nullAttr); if (davUser != null) xml.write(davUser.getTicket()); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_ALF_AUTHTICKET, WebDAV.XML_NS_ALF_AUTHTICKET); // Close off the response xml.endElement(WebDAV.DAV_NS, WebDAV.XML_PROP, WebDAV.XML_NS_PROP); xml.startElement(WebDAV.DAV_NS, WebDAV.XML_STATUS, WebDAV.XML_NS_STATUS, nullAttr); xml.write(WebDAV.HTTP1_1 + " " + HttpServletResponse.SC_OK + " " + WebDAV.SC_OK_DESC); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_STATUS, WebDAV.XML_NS_STATUS); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_PROPSTAT, WebDAV.XML_NS_PROPSTAT); }
From source file:jp.aegif.alfresco.online_webdav.PropFindMethod.java
License:Open Source License
/** * Generates the XML response for a PROPFIND request that asks for a list of * all known properties/*from ww w .j a v a 2 s . com*/ * * @param xml XMLWriter * @param node NodeRef * @param isDir boolean */ protected void generateFindPropertiesResponse(XMLWriter xml, FileInfo nodeInfo, boolean isDir) { try { // Output the start of the properties element Attributes nullAttr = getDAVHelper().getNullAttributes(); xml.startElement(WebDAV.DAV_NS, WebDAV.XML_PROPSTAT, WebDAV.XML_NS_PROPSTAT, nullAttr); xml.startElement(WebDAV.DAV_NS, WebDAV.XML_PROP, WebDAV.XML_NS_PROP, nullAttr); // Output the well-known properties xml.write(DocumentHelper.createElement(WebDAV.XML_NS_LOCK_DISCOVERY)); xml.write(DocumentHelper.createElement(WebDAV.XML_NS_SUPPORTED_LOCK)); xml.write(DocumentHelper.createElement(WebDAV.XML_NS_RESOURCE_TYPE)); xml.write(DocumentHelper.createElement(WebDAV.XML_NS_DISPLAYNAME)); xml.write(DocumentHelper.createElement(WebDAV.XML_NS_GET_LAST_MODIFIED)); xml.write(DocumentHelper.createElement(WebDAV.XML_NS_GET_CONTENT_LENGTH)); xml.write(DocumentHelper.createElement(WebDAV.XML_NS_CREATION_DATE)); xml.write(DocumentHelper.createElement(WebDAV.XML_NS_GET_ETAG)); if (isDir) { xml.write(DocumentHelper.createElement(WebDAV.XML_NS_GET_CONTENT_LANGUAGE)); xml.write(DocumentHelper.createElement(WebDAV.XML_NS_GET_CONTENT_TYPE)); } // Output the custom properties xml.write(DocumentHelper.createElement(WebDAV.XML_NS_ALF_AUTHTICKET)); // Close off the response xml.endElement(WebDAV.DAV_NS, WebDAV.XML_PROP, WebDAV.XML_NS_PROP); xml.startElement(WebDAV.DAV_NS, WebDAV.XML_STATUS, WebDAV.XML_NS_STATUS, nullAttr); xml.write(WebDAV.HTTP1_1 + " " + HttpServletResponse.SC_OK + " " + WebDAV.SC_OK_DESC); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_STATUS, WebDAV.XML_NS_STATUS); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_PROPSTAT, WebDAV.XML_NS_PROPSTAT); } catch (Exception ex) { // Convert to a runtime exception throw new AlfrescoRuntimeException("XML processing error", ex); } }
From source file:jp.aegif.alfresco.online_webdav.PropFindMethod.java
License:Open Source License
/** * Output the lockentry element of the specified type * @param xml XMLWriter//from ww w. ja va 2s . co m * @param lockType lock type. Can be WebDAV.XML_NS_EXCLUSIVE or WebDAV.XML_NS_SHARED * @param lockType lock type containing namespace * @throws SAXException * @throws IOException */ private void writeLock(XMLWriter xml, String lockType) throws SAXException, IOException { AttributesImpl nullAttr = getDAVHelper().getNullAttributes(); xml.startElement(WebDAV.DAV_NS, WebDAV.XML_LOCK_ENTRY, WebDAV.XML_NS_LOCK_ENTRY, nullAttr); xml.startElement(WebDAV.DAV_NS, WebDAV.XML_LOCK_SCOPE, WebDAV.XML_NS_LOCK_SCOPE, nullAttr); xml.write(DocumentHelper.createElement(lockType)); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_LOCK_SCOPE, WebDAV.XML_NS_LOCK_SCOPE); xml.startElement(WebDAV.DAV_NS, WebDAV.XML_LOCK_TYPE, WebDAV.XML_NS_LOCK_TYPE, nullAttr); xml.write(DocumentHelper.createElement(WebDAV.XML_NS_WRITE)); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_LOCK_TYPE, WebDAV.XML_NS_LOCK_TYPE); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_LOCK_ENTRY, WebDAV.XML_NS_LOCK_ENTRY); }
From source file:jp.aegif.alfresco.online_webdav.PropPatchMethod.java
License:Open Source License
/** * Generates the required response XML// w ww . jav a 2 s . co m * * @param xml XMLWriter * @param node NodeRef * @param path String */ protected void generateResponse(XMLWriter xml, FileInfo nodeInfo, String path) throws Exception { boolean isFolder = nodeInfo.isFolder(); // Output the response block for the current node xml.startElement(WebDAV.DAV_NS, WebDAV.XML_RESPONSE, WebDAV.XML_NS_RESPONSE, getDAVHelper().getNullAttributes()); // Build the href string for the current node String strHRef = getURLForPath(m_request, path, isFolder); xml.startElement(WebDAV.DAV_NS, WebDAV.XML_HREF, WebDAV.XML_NS_HREF, getDAVHelper().getNullAttributes()); xml.write(strHRef); xml.endElement(WebDAV.DAV_NS, WebDAV.XML_HREF, WebDAV.XML_NS_HREF); boolean failed = false; WebDAVProperty failedProperty = null; for (PropertyAction action : m_propertyActions) { if (action.getProperty().isProtected()) { generateError(xml); failed = true; failedProperty = action.getProperty(); break; } } for (PropertyAction propertyAction : m_propertyActions) { int statusCode; String statusCodeDescription; WebDAVProperty property = propertyAction.getProperty(); if (!failed) { if (PropertyAction.SET == propertyAction.getAction()) { getNodeService().setProperty(nodeInfo.getNodeRef(), property.createQName(), property.getValue()); } else if (PropertyAction.REMOVE == propertyAction.getAction()) { getNodeService().removeProperty(nodeInfo.getNodeRef(), property.createQName()); } else { throw new WebDAVServerException(HttpServletResponse.SC_BAD_REQUEST); } statusCode = HttpServletResponse.SC_OK; statusCodeDescription = WebDAV.SC_OK_DESC; } else if (failedProperty == property) { statusCode = HttpServletResponse.SC_FORBIDDEN; statusCodeDescription = WebDAV.SC_FORBIDDEN_DESC; } else { statusCode = WebDAV.WEBDAV_SC_FAILED_DEPENDENCY; statusCodeDescription = WebDAV.WEBDAV_SC_FAILED_DEPENDENCY_DESC; } generatePropertyResponse(xml, property, statusCode, statusCodeDescription); } // Close off the response element xml.endElement(WebDAV.DAV_NS, WebDAV.XML_RESPONSE, WebDAV.XML_NS_RESPONSE); }