@Before public void setupParser() throws Exception { parser = new JBossServiceXmlDescriptorParser(propertyReplacer); xmlMapper = XMLMapper.Factory.create(); xmlMapper.registerRootElement( new QName(JBossServiceXmlDescriptorParser.NAMESPACE, "server"), parser); inputFactory = XMLInputFactory.newInstance(); }
@Before public void initializeParser() throws Exception { // Initialize the parser XMLMapper mapper = XMLMapper.Factory.create(); testParser = new TestParser(); mapper.registerRootElement(new QName(TEST_NAMESPACE, "test"), testParser); parsingContext = new ExtensionParsingContextImpl(mapper); mainExtension.initializeParsers(parsingContext); addedExtraParsers = false; stack.set(new Stack<String>()); }
/** * Process a deployment for jboss-service.xml files. Will parse the xml file and attach a * configuration discovered during processing. * * @param phaseContext the deployment unit context * @throws DeploymentUnitProcessingException */ public void deploy(DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException { final VirtualFile deploymentRoot = phaseContext.getDeploymentUnit().getAttachment(Attachments.DEPLOYMENT_ROOT).getRoot(); if (deploymentRoot == null || !deploymentRoot.exists()) return; VirtualFile serviceXmlFile = null; if (deploymentRoot.isDirectory()) { serviceXmlFile = deploymentRoot.getChild(SERVICE_DESCRIPTOR_PATH); } else if (deploymentRoot .getName() .toLowerCase(Locale.ENGLISH) .endsWith(SERVICE_DESCRIPTOR_SUFFIX)) { serviceXmlFile = deploymentRoot; } if (serviceXmlFile == null || !serviceXmlFile.exists()) return; final XMLMapper xmlMapper = XMLMapper.Factory.create(); final JBossServiceXmlDescriptorParser jBossServiceXmlDescriptorParser = new JBossServiceXmlDescriptorParser( JBossDescriptorPropertyReplacement.propertyReplacer(phaseContext.getDeploymentUnit())); xmlMapper.registerRootElement( new QName("urn:jboss:service:7.0", "server"), jBossServiceXmlDescriptorParser); xmlMapper.registerRootElement(new QName(null, "server"), jBossServiceXmlDescriptorParser); InputStream xmlStream = null; try { xmlStream = serviceXmlFile.openStream(); final XMLStreamReader reader = inputFactory.createXMLStreamReader(xmlStream); final ParseResult<JBossServiceXmlDescriptor> result = new ParseResult<JBossServiceXmlDescriptor>(); xmlMapper.parseDocument(result, reader); final JBossServiceXmlDescriptor xmlDescriptor = result.getResult(); if (xmlDescriptor != null) phaseContext .getDeploymentUnit() .putAttachment(JBossServiceXmlDescriptor.ATTACHMENT_KEY, xmlDescriptor); else throw SarMessages.MESSAGES.failedXmlParsing(serviceXmlFile); } catch (Exception e) { throw SarMessages.MESSAGES.failedXmlParsing(e, serviceXmlFile); } finally { VFSUtils.safeClose(xmlStream); } }
/** {@inheritDoc} */ @Override public List<ModelNode> load() throws ConfigurationPersistenceException { final XMLMapper mapper = XMLMapper.Factory.create(); mapper.registerRootElement(rootElement, rootParser); final List<ModelNode> updates = new ArrayList<ModelNode>(); try { final FileInputStream fis = new FileInputStream(fileName); try { BufferedInputStream input = new BufferedInputStream(fis); XMLStreamReader streamReader = XMLInputFactory.newInstance().createXMLStreamReader(input); mapper.parseDocument(updates, streamReader); streamReader.close(); input.close(); fis.close(); } finally { safeClose(fis); } } catch (Exception e) { throw new ConfigurationPersistenceException("Failed to parse configuration", e); } return updates; }