List of usage examples for javax.xml.parsers ParserConfigurationException printStackTrace
public void printStackTrace()
From source file:org.pentaho.osgi.platform.plugin.deployer.impl.handlers.pluginxml.PluginXmlExternalResourcesHandlerTest.java
@Test public void testHandleTwoNodes() throws PluginHandlingException, IOException { Map<String, String> node1Props = new HashMap<String, String>(); node1Props.put("context", "requirejs"); Map<String, String> node2Props = new HashMap<String, String>(); node2Props.put("context", "requirejs"); Node node1 = PluginXmlStaticPathsHandlerTest.makeMockNode(node1Props); when(node1.getTextContent()).thenReturn("/test/content/1"); Node node2 = PluginXmlStaticPathsHandlerTest.makeMockNode(node2Props); when(node2.getTextContent()).thenReturn("/test/content/2"); PluginXmlExternalResourcesHandler pluginXmlExternalResourcesHandler = new PluginXmlExternalResourcesHandler(); pluginXmlExternalResourcesHandler.setJsonUtil(new JSONUtil()); PluginMetadata pluginMetadata = mock(PluginMetadata.class); FileWriter fileWriter = mock(FileWriter.class); final StringBuilder sb = new StringBuilder(); doAnswer(new Answer<Object>() { @Override// ww w .j ava2 s. com public Object answer(InvocationOnMock invocation) throws Throwable { sb.append(invocation.getArguments()[0]); return null; } }).when(fileWriter).write(anyString()); when(pluginMetadata.getFileWriter(PluginXmlExternalResourcesHandler.EXTERNAL_RESOURCES_FILE)) .thenReturn(fileWriter); // Setup Blueprint Document blueprint = null; try { blueprint = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); blueprint.appendChild( blueprint.createElementNS(PluginXmlStaticPathsHandler.BLUEPRINT_BEAN_NS, "blueprint")); } catch (ParserConfigurationException e) { e.printStackTrace(); fail(); } when(pluginMetadata.getBlueprint()).thenReturn(blueprint); List<Node> nodes = new ArrayList<Node>(Arrays.asList(node1, node2)); pluginXmlExternalResourcesHandler.handle("plugin.xml", nodes, pluginMetadata); String result = sb.toString(); JSONObject jsonObject = (JSONObject) JSONValue.parse(result); assertEquals(1, jsonObject.size()); List<String> configs = (List<String>) jsonObject.get("requirejs"); assertNotNull(configs); assertEquals(2, configs.size()); assertEquals("/test/content/1", configs.get(0)); assertEquals("/test/content/2", configs.get(1)); NodeList childNodes = blueprint.getDocumentElement().getChildNodes(); assertEquals(2, childNodes.getLength()); for (int i = 0; i < childNodes.getLength(); i++) { assertEquals("service", childNodes.item(i).getNodeName()); assertEquals("org.pentaho.platform.pdi.PlatformWebResource", childNodes.item(i).getFirstChild().getAttributes().getNamedItem("class").getNodeValue()); } }
From source file:org.pentaho.platform.web.servlet.SolutionEngineInteractivityService.java
protected void handleActionRequest(final HttpServletRequest request, final HttpServletResponse response, final HttpOutputHandler outputHandler, final HttpServletRequestHandler requestHandler, IParameterProvider requestParameters, ByteArrayOutputStream outputStream, final IContentItem contentItem) throws ServletException, IOException { IRuntimeContext runtime = null;/*from ww w . j a v a2 s.c o m*/ try { final org.w3c.dom.Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder() .newDocument(); final org.w3c.dom.Element root = document.createElement("action_sequence_info"); document.appendChild(root); requestHandler.setCreateFeedbackParameterCallback(new ICreateFeedbackParameterCallback() { public void createFeedbackParameter(IRuntimeContext runtimeContext, String fieldName, String displayName, String hint, Object defaultValues, List values, Map dispNames, String displayStyle, boolean optional, boolean visible) { org.w3c.dom.Element parameterElement = document.createElement("parameter"); parameterElement.setAttribute("name", fieldName); parameterElement.setAttribute("display-name", displayName); parameterElement.setAttribute("display-style", displayStyle); parameterElement.setAttribute("hint", "" + hint); parameterElement.setAttribute("optional", "" + optional); parameterElement.setAttribute("visible", "" + visible); try { IActionParameter actionParameter = runtimeContext.getInputParameter(fieldName); if (actionParameter != null) { List variables = actionParameter.getVariables(); for (int i = 0; variables != null && i < variables.size(); i++) { Object var = variables.get(i); if (var instanceof ActionParameterSource) { String sourceName = ((ActionParameterSource) var).getSourceName(); String sourceValue = ((ActionParameterSource) var).getValue(); parameterElement.setAttribute("source-name", "" + sourceName); parameterElement.setAttribute("source-value", "" + sourceValue); } else { System.out.println(var); } } } } catch (Exception npe) { //ignore } root.appendChild(parameterElement); if (values != null) { org.w3c.dom.Element valuesElement = document.createElement("values"); for (Object value : values) { org.w3c.dom.Element valueElement = document.createElement("value"); valueElement.setAttribute("value", "" + value); if (dispNames != null && dispNames.containsKey(value)) { valueElement.setAttribute("display-name", "" + dispNames.get(value)); } valuesElement.appendChild(valueElement); } parameterElement.appendChild(valuesElement); } if (defaultValues != null) { org.w3c.dom.Element valuesElement = document.createElement("selected-values"); if (defaultValues instanceof List) { for (Object value : (List) defaultValues) { org.w3c.dom.Element valueElement = document.createElement("value"); valueElement.setAttribute("value", "" + value); valuesElement.appendChild(valueElement); } } else { org.w3c.dom.Element valueElement = document.createElement("value"); valueElement.setAttribute("value", "" + defaultValues); valuesElement.appendChild(valueElement); } parameterElement.appendChild(valuesElement); } } }); runtime = requestHandler.handleActionRequest(0, 0); root.setAttribute("is-prompt-pending", "" + runtime.isPromptPending()); DOMSource source = new DOMSource(document); StreamResult result = new StreamResult(new StringWriter()); TransformerFactory.newInstance().newTransformer().transform(source, result); String theXML = result.getWriter().toString(); response.setContentType("text/xml"); response.getOutputStream().write(theXML.getBytes()); response.getOutputStream().close(); } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (TransformerConfigurationException e) { e.printStackTrace(); } catch (TransformerException e) { e.printStackTrace(); } catch (TransformerFactoryConfigurationError e) { e.printStackTrace(); } finally { if (runtime != null) { runtime.dispose(); } } if (contentItem != null) { contentItem.closeOutputStream(); } }
From source file:org.pentaho.supportutility.config.retriever.ConfigRetreiver.java
/** * To read and parse context.xml to get database connection details * /*from w w w . j a va2 s . c o m*/ * @param filePath * @return database nodelist */ protected NodeList parseContextXml(String filePath) { NodeList resourceNList = null; File contextXml = new File(filePath); DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder; try { dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBuilder.parse(contextXml); doc.getDocumentElement().normalize(); resourceNList = doc.getElementsByTagName(SupportUtilConstant.RESOURCE); } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return resourceNList; }
From source file:org.pentaho.supportutility.config.retriever.LogRetriever.java
@Override protected void readConfiguration(Properties props) { String dstDir = SupportUtilConstant.LOG_DIR; String logCount = props.getProperty(SupportUtilConstant.LOG_COUNT); String dstPath = props.getProperty(SupportUtilConstant.SUPP_INFO_DEST_PATH) + File.separator + props.getProperty(SupportUtilConstant.SUPP_INF_DIR); if (createDestDirectory(dstPath + File.separator + dstDir, null)) { if (getInstallType().equalsIgnoreCase(SupportUtilConstant.INSTALLER)) { File lPath = new File(logPath); DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder; try { dBuilder = dbFactory.newDocumentBuilder(); Document documnet = dBuilder.parse(lPath); documnet.getDocumentElement().normalize(); NodeList paramList = documnet.getElementsByTagName(SupportUtilConstant.XML_PARAM); // parses log4j.xml to read log path for (int i = 0; i < paramList.getLength(); i++) { Node paramNode = paramList.item(i); if (paramNode.getNodeType() == Node.ELEMENT_NODE) { Element paramElement = (Element) paramNode; if (paramElement.getAttribute(SupportUtilConstant.XML_NAME) .equals(SupportUtilConstant.XML_FILE)) { File pentahoLogfile = new File( paramElement.getAttribute(SupportUtilConstant.XML_VALUE)); saveConfiguration(pentahoLogfile.getAbsolutePath(), dstPath + File.separator + dstDir, logCount); }//from www . j a va 2 s .c om } } } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } else if (getInstallType().equalsIgnoreCase(SupportUtilConstant.ARCHIVE) || getInstallType().equalsIgnoreCase(SupportUtilConstant.MANUAL)) { saveConfiguration(logPath, dstPath + File.separator + dstDir, logCount); } } }
From source file:org.sakaiproject.connector.fck.FCKConnectorServlet.java
/** * Manage the Get requests (GetFolders, GetFoldersAndFiles, CreateFolder).<br> * * The servlet accepts commands sent in the following format:<br> * connector?Command=CommandName&Type=ResourceType&CurrentFolder=FolderPath<br><br> * It executes the command and then return the results to the client in XML format. * * Valid values for Type are: Image, File, Flash and Link * */// ww w . j ava 2 s. c om public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { initialize(); response.setContentType("text/xml; charset=UTF-8"); response.setHeader("Cache-Control", "no-cache"); PrintWriter out = null; String commandStr = request.getParameter("Command"); String type = request.getParameter("Type"); String currentFolder = request.getParameter("CurrentFolder"); serverUrlPrefix = serverConfigurationService.getServerUrl(); String collectionBase = request.getPathInfo(); Document document = null; try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); document = builder.newDocument(); } catch (ParserConfigurationException pce) { pce.printStackTrace(); } Node root = createCommonXml(document, commandStr, type, currentFolder, contentHostingService.getUrl(currentFolder)); //To support meletedocs, the call to getFolders has to be able to retrieve all folders that are part of melete private (which will be passed in) as //well as ones that are not. This is why the advisor is being manipulated inside the getfolders method. if ("GetFolders".equals(commandStr)) { getFolders(currentFolder, root, document, collectionBase); } else if ("GetFoldersAndFiles".equals(commandStr)) { getFolders(currentFolder, root, document, collectionBase); //Might need this advisor for files pushPrivateAdvisor(currentFolder, collectionBase); getFiles(currentFolder, root, document, type); popPrivateAdvisor(currentFolder, collectionBase); } else if ("GetFoldersFilesAssignsTestsTopics".equals(commandStr)) { ConnectorHelper thisConnectorHelper = new ConnectorHelper(); thisConnectorHelper.init(); getFolders(currentFolder, root, document, collectionBase); //Might need this advisor for files pushPrivateAdvisor(currentFolder, collectionBase); getFilesOnly(currentFolder, root, document, type); popPrivateAdvisor(currentFolder, collectionBase); getAssignmentsOnly(currentFolder, root, document, type, thisConnectorHelper); getTestsOnly(currentFolder, root, document, type, thisConnectorHelper); getOtherEntitiesOnly(currentFolder, root, document, type, thisConnectorHelper); getForumsAndThreads(currentFolder, root, document, type, thisConnectorHelper); } else if ("GetResourcesAssignsTestsTopics".equals(commandStr)) { ConnectorHelper thisConnectorHelper = new ConnectorHelper(); thisConnectorHelper.init(); pushPrivateAdvisor(currentFolder, collectionBase); getResources(currentFolder, root, document, collectionBase, type); popPrivateAdvisor(currentFolder, collectionBase); getAssignmentsOnly(currentFolder, root, document, type, thisConnectorHelper); getTestsOnly(currentFolder, root, document, type, thisConnectorHelper); getOtherEntitiesOnly(currentFolder, root, document, type, thisConnectorHelper); getForumsAndThreads(currentFolder, root, document, type, thisConnectorHelper); } else if ("GetResources".equals(commandStr)) { pushPrivateAdvisor(currentFolder, collectionBase); getResources(currentFolder, root, document, collectionBase, type); popPrivateAdvisor(currentFolder, collectionBase); } else if ("CreateFolder".equals(commandStr)) { String newFolderStr = request.getParameter("NewFolderName"); String status = "110"; pushPrivateAdvisor(currentFolder, collectionBase); try { ContentCollectionEdit edit = contentHostingService.addCollection( currentFolder + Validator.escapeResourceName(newFolderStr) + Entity.SEPARATOR); ResourcePropertiesEdit resourceProperties = edit.getPropertiesEdit(); resourceProperties.addProperty(ResourceProperties.PROP_DISPLAY_NAME, newFolderStr); String altRoot = getAltReferenceRoot(currentFolder); if (altRoot != null) resourceProperties.addProperty(ContentHostingService.PROP_ALTERNATE_REFERENCE, altRoot); contentHostingService.commitCollection(edit); status = "0"; } catch (IdUsedException iue) { status = "101"; } catch (PermissionException pex) { status = "103"; } catch (Exception e) { status = "102"; } setCreateFolderResponse(status, root, document); popPrivateAdvisor(currentFolder, collectionBase); } document.getDocumentElement().normalize(); try { out = response.getWriter(); TransformerFactory tFactory = TransformerFactory.newInstance(); Transformer transformer = tFactory.newTransformer(); DOMSource source = new DOMSource(document); StreamResult result = new StreamResult(out); transformer.transform(source, result); } catch (Exception ex) { ex.printStackTrace(); } finally { if (out != null) { out.close(); } } //Pop the advisor if we need to popPrivateAdvisor(currentFolder, collectionBase); }
From source file:org.sakaiproject.tool.assessment.contentpackaging.Manifest.java
/** * Add a section ref with section Id sectionId. * * @param sectionId// w w w . j av a2s .c o m */ public void addSectionRef(String sectionId) { if (log.isDebugEnabled()) { log.debug("addSection(String " + sectionId + ")"); } try { String xpath = basePath; DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document document = db.newDocument(); Element element = document.createElement(QTIConstantStrings.SECTIONREF); element.setAttribute(QTIConstantStrings.LINKREFID, sectionId); this.addElement(xpath, element); } catch (ParserConfigurationException pce) { log.error("Exception thrown from addSectionRef() : " + pce.getMessage()); pce.printStackTrace(); } }
From source file:org.sakaiproject.tool.assessment.qti.asi.ASIBaseClass.java
/** * * * @param xpath//w ww. j av a 2s. com * @param fieldlabel */ protected void createFieldentry(String xpath, String fieldlabel) { if (log.isDebugEnabled()) { log.debug("createFieldentry(String " + xpath + ", String " + fieldlabel + ")"); } try { List qtimetadataNodes = this.selectNodes(xpath); if (qtimetadataNodes.size() > 0) { Node qtimetadataNode = (Node) qtimetadataNodes.get(0); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document newDocument = db.newDocument(); Element qtimetadataField = newDocument.createElement(QTIConstantStrings.QTIMETADATAFIELD); Element fieldlabelElement = newDocument.createElement(QTIConstantStrings.FIELDLABEL); Element fieldentryElement = newDocument.createElement(QTIConstantStrings.FIELDENTRY); Text fieldlabelText = newDocument.createTextNode(QTIConstantStrings.FIELDLABEL); fieldlabelText.setNodeValue(fieldlabel); fieldlabelElement.appendChild(fieldlabelText); Text fieldentryText = newDocument.createTextNode(QTIConstantStrings.FIELDENTRY); fieldentryElement.appendChild(fieldentryText); Node importedFLE = qtimetadataField.getOwnerDocument().importNode(fieldlabelElement, true); Node importedFEE = qtimetadataField.getOwnerDocument().importNode(fieldentryElement, true); qtimetadataField.appendChild(importedFLE); qtimetadataField.appendChild(importedFEE); Node importedField = qtimetadataNode.getOwnerDocument().importNode(qtimetadataField, true); qtimetadataNode.appendChild(importedField); } } catch (ParserConfigurationException pce) { log.error("Exception thrown from createFieldentry()" + pce.getMessage(), pce); pce.printStackTrace(); } catch (Exception ex) { log.error(ex.getMessage(), ex); } }
From source file:org.sakaiproject.tool.assessment.qti.asi.Section.java
/** * ASI OKI implementation/* w ww .java2 s. c o m*/ * * @param itemId item id */ public void addItemRef(String itemId) { if (log.isDebugEnabled()) { log.debug("addItem(String " + itemId + ")"); } try { String xpath = basePath; DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document document = db.newDocument(); Element element = document.createElement(QTIConstantStrings.ITEMREF); element.setAttribute(QTIConstantStrings.LINKREFID, itemId); this.addElement(xpath, element); } catch (ParserConfigurationException pce) { log.error("Exception thrown from addItemRef() : " + pce.getMessage()); pce.printStackTrace(); } }
From source file:org.sakaiproject.tool.assessment.qti.asi.Section.java
/** * add section ref/*from w ww . j av a 2 s . c o m*/ * * @param sectionId section id */ public void addSectionRef(String sectionId) { if (log.isDebugEnabled()) { log.debug("addSection(String " + sectionId + ")"); } try { String xpath = basePath; DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document document = db.newDocument(); Element element = document.createElement(QTIConstantStrings.SECTIONREF); element.setAttribute(QTIConstantStrings.LINKREFID, sectionId); this.addElement(xpath, element); } catch (ParserConfigurationException pce) { log.error("Exception thrown from addSectionRef() : " + pce.getMessage()); pce.printStackTrace(); } }
From source file:org.sakaiproject.tool.assessment.qti.util.XmlStringBuffer.java
/** * insert element//from w ww .jav a 2 s. c o m * * @param afterNode * @param parentXpath * @param childXpath */ public void insertElement(String afterNode, String parentXpath, String childXpath) { try { String nextXpath = parentXpath + "/" + afterNode; //************************************************************* DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document document = db.newDocument(); Element element = document.createElement(childXpath); //************************************************************** Element parent = null; List parentNodes = this.selectNodes(parentXpath); Iterator iteratorNext = parentNodes.iterator(); while (iteratorNext.hasNext()) { parent = (Element) iteratorNext.next(); } if (parent != null) { List nodes = this.selectNodes(nextXpath); Iterator iterator = nodes.iterator(); Element nextSibling = null; while (iterator.hasNext()) { nextSibling = (Element) iterator.next(); } if ((nextSibling != null) && !nextSibling.getOwnerDocument().equals(element.getOwnerDocument())) { element = (Element) parent.getOwnerDocument().importNode(element, true); parent.insertBefore(element, nextSibling); } } } catch (ParserConfigurationException pce) { log.error("Exception thrown from insertElement() : " + pce.getMessage()); pce.printStackTrace(); } }