List of usage examples for org.dom4j.io XMLWriter XMLWriter
public XMLWriter(OutputStream out, OutputFormat format) throws UnsupportedEncodingException
From source file:com.thinkberg.moxo.dav.PropFindHandler.java
License:Apache License
public void service(HttpServletRequest request, HttpServletResponse response) throws IOException { SAXReader saxReader = new SAXReader(); try {/*from ww w . j av a 2 s .com*/ Document propDoc = saxReader.read(request.getInputStream()); // log(propDoc); Element propFindEl = propDoc.getRootElement(); Element propEl = (Element) propFindEl.elementIterator().next(); String propElName = propEl.getName(); List<String> requestedProperties = new ArrayList<String>(); boolean ignoreValues = false; if (TAG_PROP.equals(propElName)) { for (Object id : propEl.elements()) { requestedProperties.add(((Element) id).getName()); } } else if (TAG_ALLPROP.equals(propElName)) { requestedProperties = DavResource.ALL_PROPERTIES; } else if (TAG_PROPNAMES.equals(propElName)) { requestedProperties = DavResource.ALL_PROPERTIES; ignoreValues = true; } FileObject object = getResourceManager().getFileObject(request.getPathInfo()); if (object.exists()) { // respond as XML encoded multi status response.setContentType("text/xml"); response.setCharacterEncoding("UTF-8"); response.setStatus(SC_MULTI_STATUS); Document multiStatusResponse = getMultiStatusRespons(object, requestedProperties, getBaseUrl(request), getDepth(request), ignoreValues); //log(multiStatusResponse); // write the actual response XMLWriter writer = new XMLWriter(response.getWriter(), OutputFormat.createCompactFormat()); writer.write(multiStatusResponse); writer.flush(); writer.close(); } else { log("!! " + object.getName().getPath() + " NOT FOUND"); response.sendError(HttpServletResponse.SC_NOT_FOUND); } } catch (DocumentException e) { log("!! inavlid request: " + e.getMessage()); response.sendError(HttpServletResponse.SC_BAD_REQUEST); } }
From source file:com.thinkberg.moxo.dav.PropPatchHandler.java
License:Apache License
public void service(HttpServletRequest request, HttpServletResponse response) throws IOException { FileObject object = getResourceManager().getFileObject(request.getPathInfo()); try {// ww w. j a v a 2 s .co m LockManager.getInstance().checkCondition(object, getIf(request)); } catch (LockException e) { if (e.getLocks() != null) { response.sendError(SC_LOCKED); } else { response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED); } return; } SAXReader saxReader = new SAXReader(); try { Document propDoc = saxReader.read(request.getInputStream()); // log(propDoc); response.setContentType("text/xml"); response.setCharacterEncoding("UTF-8"); response.setStatus(SC_MULTI_STATUS); if (object.exists()) { Document resultDoc = DocumentHelper.createDocument(); Element multiStatusResponse = resultDoc.addElement("multistatus", "DAV:"); Element responseEl = multiStatusResponse.addElement("response"); try { URL url = new URL(getBaseUrl(request), URLEncoder.encode(object.getName().getPath(), "UTF-8")); log("!! " + url); responseEl.addElement("href").addText(url.toExternalForm()); } catch (Exception e) { e.printStackTrace(); } Element propstatEl = responseEl.addElement("propstat"); Element propEl = propstatEl.addElement("prop"); Element propertyUpdateEl = propDoc.getRootElement(); for (Object elObject : propertyUpdateEl.elements()) { Element el = (Element) elObject; if ("set".equals(el.getName())) { for (Object propObject : el.elements()) { setProperty(propEl, object, (Element) propObject); } } else if ("remove".equals(el.getName())) { for (Object propObject : el.elements()) { removeProperty(propEl, object, (Element) propObject); } } } propstatEl.addElement("status").addText(DavResource.STATUS_403); // log(resultDoc); // write the actual response XMLWriter writer = new XMLWriter(response.getWriter(), OutputFormat.createCompactFormat()); writer.write(resultDoc); writer.flush(); writer.close(); } else { log("!! " + object.getName().getPath() + " NOT FOUND"); response.sendError(HttpServletResponse.SC_NOT_FOUND); } } catch (DocumentException e) { log("!! inavlid request: " + e.getMessage()); response.sendError(HttpServletResponse.SC_BAD_REQUEST); } }
From source file:com.thinkberg.moxo.dav.WebdavHandler.java
License:Apache License
void log(Node element) { ByteArrayOutputStream bos = new ByteArrayOutputStream(); try {// w w w .j a v a 2s . c o m XMLWriter xmlWriter = new XMLWriter(bos, OutputFormat.createPrettyPrint()); xmlWriter.write(element); System.out.print(bos.toString()); } catch (IOException e) { servlet.log("!! " + e.getMessage()); } }
From source file:com.thinkberg.webdav.LockHandler.java
License:Apache License
protected void logXml(Node element) { ByteArrayOutputStream bos = new ByteArrayOutputStream(); try {/*w ww . jav a 2s . co m*/ XMLWriter xmlWriter = new XMLWriter(bos, OutputFormat.createPrettyPrint()); xmlWriter.write(element); LOG.debug(bos.toString()); } catch (IOException e) { LOG.debug("ERROR writing XML log: " + e.getMessage()); } }
From source file:com.thinkberg.webdav.PropFindHandler.java
License:Apache License
/** * Handle a PROPFIND request./*from www .ja va 2 s . co m*/ * * @param request the servlet request * @param response the servlet response * @throws IOException if there is an error that cannot be handled normally */ public void service(HttpServletRequest request, HttpServletResponse response) throws IOException { SAXReader saxReader = new SAXReader(); try { Document propDoc = saxReader.read(request.getInputStream()); logXml(propDoc); Element propFindEl = propDoc.getRootElement(); for (Object propElObject : propFindEl.elements()) { Element propEl = (Element) propElObject; if (VALID_PROPFIND_TAGS.contains(propEl.getName())) { FileObject object = VFSBackend.resolveFile(request.getPathInfo()); if (object.exists()) { // respond as XML encoded multi status response.setContentType("text/xml"); response.setCharacterEncoding("UTF-8"); response.setStatus(SC_MULTI_STATUS); Document multiStatusResponse = getMultiStatusResponse(object, propEl, getBaseUrl(request), getDepth(request)); logXml(multiStatusResponse); // write the actual response XMLWriter writer = new XMLWriter(response.getWriter(), OutputFormat.createCompactFormat()); writer.write(multiStatusResponse); writer.flush(); writer.close(); } else { response.sendError(HttpServletResponse.SC_NOT_FOUND); } break; } } } catch (DocumentException e) { LOG.error("invalid request: " + e.getMessage()); response.sendError(HttpServletResponse.SC_BAD_REQUEST); } }
From source file:com.thinkberg.webdav.PropPatchHandler.java
License:Apache License
/** * Handle a PROPPATCH request./*from w ww .j a va 2 s . co m*/ * * @param request the servlet request * @param response the servlet response * @throws IOException if there is an error that cannot be handled normally */ public void service(HttpServletRequest request, HttpServletResponse response) throws IOException { FileObject object = VFSBackend.resolveFile(request.getPathInfo()); try { if (!LockManager.getInstance().evaluateCondition(object, getIf(request)).result) { response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED); return; } } catch (LockException e) { response.sendError(SC_LOCKED); return; } catch (ParseException e) { response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED); return; } if (object.exists()) { SAXReader saxReader = new SAXReader(); try { Document propDoc = saxReader.read(request.getInputStream()); logXml(propDoc); Element propUpdateEl = propDoc.getRootElement(); List<Element> requestedProperties = new ArrayList<Element>(); for (Object elObject : propUpdateEl.elements()) { Element el = (Element) elObject; String command = el.getName(); if (AbstractDavResource.TAG_PROP_SET.equals(command) || AbstractDavResource.TAG_PROP_REMOVE.equals(command)) { for (Object propElObject : el.elements()) { for (Object propNameElObject : ((Element) propElObject).elements()) { Element propNameEl = (Element) propNameElObject; requestedProperties.add(propNameEl); } } } } // respond as XML encoded multi status response.setContentType("text/xml"); response.setCharacterEncoding("UTF-8"); response.setStatus(SC_MULTI_STATUS); Document multiStatusResponse = getMultiStatusResponse(object, requestedProperties, getBaseUrl(request)); logXml(multiStatusResponse); // write the actual response XMLWriter writer = new XMLWriter(response.getWriter(), OutputFormat.createCompactFormat()); writer.write(multiStatusResponse); writer.flush(); writer.close(); } catch (DocumentException e) { LOG.error("invalid request: " + e.getMessage()); response.sendError(HttpServletResponse.SC_BAD_REQUEST); } } else { LOG.error(object.getName().getPath() + " NOT FOUND"); response.sendError(HttpServletResponse.SC_NOT_FOUND); } }
From source file:com.thinkberg.webdav.WebdavHandler.java
License:Apache License
void logXml(Node element) { ByteArrayOutputStream bos = new ByteArrayOutputStream(); try {/*from ww w . ja v a 2s . c om*/ XMLWriter xmlWriter = new XMLWriter(bos, OutputFormat.createPrettyPrint()); xmlWriter.write(element); LogFactory.getLog(this.getClass()).debug(bos.toString()); } catch (IOException e) { LogFactory.getLog(this.getClass()).error(e.getMessage()); } }
From source file:com.thoughtworks.xstream.io.xml.Dom4JDriver.java
License:Open Source License
public HierarchicalStreamWriter createWriter(final Writer out) { final HierarchicalStreamWriter[] writer = new HierarchicalStreamWriter[1]; final FilterWriter filter = new FilterWriter(out) { public void close() { writer[0].close();/*from w ww.j a v a2 s . com*/ } }; writer[0] = new Dom4JXmlWriter(new XMLWriter(filter, outputFormat), getNameCoder()); return writer[0]; }
From source file:com.tmount.util.FileUtils.java
License:Open Source License
/** * ?/*from ww w .j av a2 s . c o m*/ * @param fileName ?? */ private static void initFile(String fileName){ Document document = DocumentHelper.createDocument(); Element root = document.addElement("auth"); Element billdata = root.addElement("balance"); billdata.setText("100"); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("GBK"); XMLWriter writer; try { writer = new XMLWriter(new FileWriter(new File( fileName)), format); writer.write(document); // writer.close(); } catch (IOException e) { log.info(" *** IOException *** ",e); } }
From source file:com.uletian.ultcrm.business.service.CustomerInfoMessageService.java
public void handlerCustomerInfo(String message) throws SAXException, DocumentException, IOException { StringWriter writer = new StringWriter(); OutputFormat format = OutputFormat.createPrettyPrint(); Document doc;// w ww .ja v a 2s. com doc = DocumentHelper.parseText(message); XMLWriter xmlwriter = new XMLWriter(writer, format); xmlwriter.write(doc); logger.info("??\n" + writer.toString()); Element element = doc.getRootElement(); String action = element.elementText("action"); String sourceSys = element.elementText("sourceSys"); String ultcrmid = element.elementText("ultcrmid"); String crmid = element.elementText("crmid"); String name = element.elementText("name"); String sexy = element.elementText("sexy"); String telephone = element.elementText("telephone"); String country = element.elementText("country"); String province = element.elementText("province"); String city = element.elementText("city"); String address = element.elementText("address"); String postcode = element.elementText("postcode"); if (!"UPDATE".equals(action)) { logger.debug("?\ncrmid:" + crmid + "\nultcrmid:" + ultcrmid); return; } Customer customer = customerRepository.findOne(Long.decode(ultcrmid)); if (customer == null) { logger.warn("?" + ultcrmid); return; } customer.setPhone(telephone); customer.setSyncid(crmid); customer.setName(name); customer.setSex(sexy); customer.setCountry(country); customer.setProvince(province); customer.setCity(city); customer.setAddress(address); customer.setPostcode(postcode); customer.setCrmCustomerId(crmid); customerRepository.save(customer); Element elements = element.element("techs"); Iterator<Element> iterator = elements.elementIterator("tech"); ArrayList<Tech> techs = new ArrayList<Tech>(0); while (iterator.hasNext()) { Element techElement = iterator.next(); String code = techElement.elementText("code"); String techlevelno = techElement.elementText("techlevelno"); String techerno = techElement.elementText("techerno"); String techname = techElement.elementText("techname"); String coursetime = techElement.elementText("coursetime"); String trainExpireDate = techElement.elementText("trainExpireDate"); String trainCompany = techElement.elementText("trainCompany"); String crmTechId = techElement.elementText("crmtechid"); String courseCode = techElement.elementText("courseCode"); String techColor = techElement.elementText("techColor"); String registerDate = techElement.elementText("registerDate"); String courseLicense = techElement.elementText("courseLicense"); String checkExpireDate = techElement.elementText("checkExpireDate"); String memberLevel = techElement.elementText("memberLevel"); String nextMaintCoursetime = techElement.elementText("nextMaintCoursetime"); String nextMaintDate = techElement.elementText("nextMaintDate"); String lastConsumeDate = techElement.elementText("lastConsumeDate"); Tech tech = techRepository.findTechByTechlevelno(techlevelno); if (tech == null) { tech = new Tech(); } TechModel techModel = null; try { techModel = techModelRepository.findModelByCode(code); } catch (Exception e) { } if (techModel == null) { logger.warn("??\n" + code); techModel = techModelRepository.findModelByCode("OTHERS"); } tech.setCrmTechId(crmTechId); tech.setTechlevelno(techlevelno); tech.setTechModel(techModel); tech.setTechSery(techModel.getTechSery()); tech.setTechCourse(techModel.getTechSery().getTechCourse()); tech.setCustomer(customer); tech.setCode(code); tech.setTechlevelno(techlevelno); tech.setTecherno(techerno); tech.setTechname(techname); tech.setCoursetime(coursetime); try { tech.setTrainExpireDate(sdf.parse(trainExpireDate)); } catch (ParseException e) { logger.warn("???\n" + trainExpireDate, e); } tech.setTrainCompany(trainCompany); tech.setCourseCode(courseCode); tech.setMemberLevel(memberLevel); tech.setColor(techColor); try { tech.setRegisterDate(sdf.parse(registerDate)); } catch (ParseException e) { logger.warn("??\n" + registerDate, e); } tech.setCourseLicense(courseLicense); try { tech.setCheckExpireDate(sdf.parse(checkExpireDate)); } catch (ParseException e) { logger.warn("??\n" + checkExpireDate, e); } // ?by xiecheng 2015-11-19 tech.setNextMaintCoursetime(nextMaintCoursetime); try { tech.setNextMaintDate(sdf.parse(nextMaintDate)); } catch (ParseException e) { logger.warn("??\n" + nextMaintDate, e); } try { tech.setLastConsumeDate(sdf.parse(lastConsumeDate)); } catch (ParseException e) { logger.warn("??\n" + lastConsumeDate, e); } techs.add(tech); } techRepository.save(techs); }