javax.xml.bind.JAXBContext#createUnmarshaller ( )源码实例Demo

下面列出了javax.xml.bind.JAXBContext#createUnmarshaller ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: sonar-tsql-plugin   文件: CodeGuardIssuesParser.java
@Override
public TsqlIssue[] parse(final File file) {
	final List<TsqlIssue> list = new ArrayList<TsqlIssue>();
	try {
		final JAXBContext jaxbContext = JAXBContext.newInstance(CodeGuardIssues.class);
		final Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
		final CodeGuardIssues issues = (CodeGuardIssues) jaxbUnmarshaller.unmarshal(file);
		for (final org.sonar.plugins.tsql.rules.issues.CodeGuardIssues.File f : issues.getFile()) {
			for (final Issue is : f.getIssue()) {
				final TsqlIssue issue = new TsqlIssue();
				issue.setDescription(is.getText());
				issue.setFilePath(f.getFullname());
				issue.setLine(is.getLine());
				issue.setType(is.getCode());
				list.add(issue);
			}

		}
		return list.toArray(new TsqlIssue[0]);

	} catch (final Throwable e) {
		LOGGER.warn("Unexpected error occured redading file "+file, e);
	}
	return new TsqlIssue[0];
}
 
源代码2 项目: weixin4j   文件: PayComponent.java
/**
 * 查询订单
 *
 * @param orderQuery 订单查询对象
 * @return 订单查询结果
 * @throws org.weixin4j.WeixinException 微信操作异常
 */
public OrderQueryResult payOrderQuery(OrderQuery orderQuery) throws WeixinException {
    //将统一下单对象转成XML
    String xmlPost = orderQuery.toXML();
    if (Configuration.isDebug()) {
        System.out.println("调试模式_查询订单接口 提交XML数据:" + xmlPost);
    }
    //创建请求对象
    HttpsClient http = new HttpsClient();
    //提交xml格式数据
    Response res = http.postXml("https://api.mch.weixin.qq.com/pay/orderquery", xmlPost);
    //获取微信平台查询订单接口返回数据
    String xmlResult = res.asString();
    try {
        if (Configuration.isDebug()) {
            System.out.println("调试模式_查询订单接口 接收XML数据:" + xmlResult);
        }
        JAXBContext context = JAXBContext.newInstance(OrderQueryResult.class);
        Unmarshaller unmarshaller = context.createUnmarshaller();
        OrderQueryResult result = (OrderQueryResult) unmarshaller.unmarshal(new StringReader(xmlResult));
        return result;
    } catch (JAXBException ex) {
        return null;
    }
}
 
@Override
public T fromXML(String xml) {

    try {
        JAXBContext context = JAXBContext.newInstance(type);
        Unmarshaller u = context.createUnmarshaller();

        if(schemaLocation != null) {
            SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);

            StreamSource source = new StreamSource(getClass().getResourceAsStream(schemaLocation));
            Schema schema = schemaFactory.newSchema(source);
            u.setSchema(schema);
        }

        StringReader reader = new StringReader(xml);
        T obj = (T) u.unmarshal(reader);

        return obj;
    } catch (Exception e) {
        System.out.println("ERROR: "+e.toString());
        return null;
    }
}
 
源代码4 项目: openAGV   文件: TransportOrdersDocument.java
/**
 * Reads a list of <code>TransportOrderXMLStructure</code>s from an XML file.
 *
 * @param xmlData The XML data
 * @return The list of data
 */
@SuppressWarnings("unchecked")
public static TransportOrdersDocument fromXml(String xmlData) {
  requireNonNull(xmlData, "xmlData");

  StringReader stringReader = new StringReader(xmlData);
  try {
    JAXBContext jc = JAXBContext.newInstance(TransportOrdersDocument.class);
    Unmarshaller unmarshaller = jc.createUnmarshaller();
    Object o = unmarshaller.unmarshal(stringReader);
    return (TransportOrdersDocument) o;
  }
  catch (JAXBException exc) {
    LOG.warn("Exception unmarshalling data", exc);
    throw new IllegalStateException("Exception unmarshalling data", exc);
  }
}
 
源代码5 项目: lams   文件: AbstractBinder.java
@SuppressWarnings("unchecked")
protected <T> T jaxb(XMLEventReader reader, Schema xsd, JAXBContext jaxbContext, Origin origin) {
	final ContextProvidingValidationEventHandler handler = new ContextProvidingValidationEventHandler();

	try {
		final Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
		if ( isValidationEnabled() ) {
			unmarshaller.setSchema( xsd );
		}
		else {
			unmarshaller.setSchema( null );
		}
		unmarshaller.setEventHandler( handler );

		return (T) unmarshaller.unmarshal( reader );
	}
	catch ( JAXBException e ) {
		throw new MappingException(
				"Unable to perform unmarshalling at line number " + handler.getLineNumber()
						+ " and column " + handler.getColumnNumber()
						+ ". Message: " + handler.getMessage(),
				e,
				origin
		);
	}
}
 
/**
 * Convert xml file of service provider to object.
 *
 * @param spFileContent xml string of the SP and file name
 * @param tenantDomain  tenant domain name
 * @return Service Provider
 * @throws IdentityApplicationManagementException Identity Application Management Exception
 */
private ServiceProvider unmarshalSP(SpFileContent spFileContent, String tenantDomain)
        throws IdentityApplicationManagementException {

    if (StringUtils.isEmpty(spFileContent.getContent())) {
        throw new IdentityApplicationManagementException(String.format("Empty Service Provider configuration file" +
                " %s uploaded by tenant: %s", spFileContent.getFileName(), tenantDomain));
    }
    try {
        JAXBContext jaxbContext = JAXBContext.newInstance(ServiceProvider.class);
        Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
        return (ServiceProvider) unmarshaller.unmarshal(new ByteArrayInputStream(
                spFileContent.getContent().getBytes(StandardCharsets.UTF_8)));

    } catch (JAXBException e) {
        throw new IdentityApplicationManagementException(String.format("Error in reading Service Provider " +
                "configuration file %s uploaded by tenant: %s", spFileContent.getFileName(), tenantDomain), e);
    }
}
 
源代码7 项目: rice   文件: NaturalLanguageUsageGenTest.java
public void assertXmlMarshaling(Object naturalLanguageUsage, String expectedXml)
        throws Exception
    {
        JAXBContext jc = JAXBContext.newInstance(NaturalLanguageUsage.class);

        Marshaller marshaller = jc.createMarshaller();
        StringWriter stringWriter = new StringWriter();
        marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
        // marshaller.setProperty("com.sun.xml.internal.bind.namespacePrefixMapper", new CustomNamespacePrefixMapper());
        marshaller.marshal(naturalLanguageUsage, stringWriter);
        String xml = stringWriter.toString();

//        System.out.println(xml); // run test, paste xml output into XML, comment out this line.

        Unmarshaller unmarshaller = jc.createUnmarshaller();
        Object actual = unmarshaller.unmarshal(new StringReader(xml));
        Object expected = unmarshaller.unmarshal(new StringReader(expectedXml));
        Assert.assertEquals(expected, actual);
    }
 
源代码8 项目: cxf   文件: UndertowSpringTypesFactory.java
@SuppressWarnings("unchecked")
public static <V> List<V> parseListElement(Element parent,
                                       QName name,
                                       Class<?> c,
                                       JAXBContext context) throws JAXBException {
    List<V> list = new ArrayList<>();
    Node data = null;

    Unmarshaller u = context.createUnmarshaller();
    Node node = parent.getFirstChild();
    while (node != null) {
        if (node.getNodeType() == Node.ELEMENT_NODE && name.getLocalPart().equals(node.getLocalName())
            && name.getNamespaceURI().equals(node.getNamespaceURI())) {
            data = node;
            Object obj = unmarshal(u, data, c);
            if (obj != null) {
                list.add((V) obj);
            }
        }
        node = node.getNextSibling();
    }
    return list;
}
 
源代码9 项目: enhydrator   文件: JDBCSourceIT.java
@Test
public void jaxbSerialization() throws JAXBException, UnsupportedEncodingException {
    JAXBContext context = JAXBContext.newInstance(JDBCSource.class);
    Marshaller marshaller = context.createMarshaller();
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    final JDBCSource origin = getSource();
    marshaller.marshal(origin, baos);

    byte[] content = baos.toByteArray();
    System.out.println("Serialized: " + new String(content, "UTF-8"));
    ByteArrayInputStream bais = new ByteArrayInputStream(content);
    Unmarshaller unmarshaller = context.createUnmarshaller();
    JDBCSource deserialized = (JDBCSource) unmarshaller.unmarshal(bais);
    assertNotNull(deserialized);

    assertNotSame(deserialized, origin);
    assertThat(deserialized, is(origin));

}
 
源代码10 项目: sonar-tsql-plugin   文件: TSQLQualityProfile.java
private void activeRules(final RulesProfile profile, final String key, final InputStream file) {
	try {

		final JAXBContext jaxbContext = JAXBContext.newInstance(TSQLRules.class);
		final Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
		final TSQLRules issues = (TSQLRules) jaxbUnmarshaller.unmarshal(file);
		for (final org.sonar.plugins.tsql.languages.TSQLRules.Rule rule : issues.rule) {
			profile.activateRule(Rule.create(key, rule.getKey()), null);
		}
	}

	catch (final Throwable e) {
		LOGGER.warn("Unexpected error occured while reading rules for " + key, e);
	}
}
 
源代码11 项目: lams   文件: PresetGeometries.java
@SuppressWarnings("unused")
public void init(InputStream is) throws XMLStreamException, JAXBException {
    // StAX:
    EventFilter startElementFilter = new EventFilter() {
        @Override
        public boolean accept(XMLEvent event) {
            return event.isStartElement();
        }
    };
    
    XMLInputFactory staxFactory = StaxHelper.newXMLInputFactory();
    XMLEventReader staxReader = staxFactory.createXMLEventReader(is);
    XMLEventReader staxFiltRd = staxFactory.createFilteredReader(staxReader, startElementFilter);
    // ignore StartElement:
    /* XMLEvent evDoc = */ staxFiltRd.nextEvent();
    // JAXB:
    JAXBContext jaxbContext = JAXBContext.newInstance(BINDING_PACKAGE);
    Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();

    long cntElem = 0;
    while (staxFiltRd.peek() != null) {
        StartElement evRoot = (StartElement)staxFiltRd.peek();
        String name = evRoot.getName().getLocalPart();
        JAXBElement<CTCustomGeometry2D> el = unmarshaller.unmarshal(staxReader, CTCustomGeometry2D.class);
        CTCustomGeometry2D cus = el.getValue();
        cntElem++;
        
        if(containsKey(name)) {
            LOG.log(POILogger.WARN, "Duplicate definition of " + name);
        }
        put(name, new CustomGeometry(cus));
    }       
}
 
源代码12 项目: quarkus   文件: UnmarshalRSSProcess.java
private Feed getFeed() {
    try {
        JAXBContext jc = JAXBContext.newInstance(CODEGEN_PACKAGE);
        Unmarshaller unmarshaller = jc.createUnmarshaller();
        return (Feed) unmarshaller.unmarshal(new StringReader(FEED));
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}
 
源代码13 项目: AlipayWechatPlatform   文件: XmlUtils.java
@SuppressWarnings("unchecked")
public static <T> T xml2Object(String xmlStr, Class<T> clazz) {
    try {
        JAXBContext context = JAXBContext.newInstance(clazz);
        Unmarshaller unmarshaller = context.createUnmarshaller();
        T t = (T) unmarshaller.unmarshal(new StringReader(xmlStr));
        return t;
    } catch (JAXBException e) {
        e.printStackTrace();
        return null;
    }
}
 
private EndpointSettings instantiateEndpointSettings(org.w3c.dom.Node element) throws GraphConfigurationException {
	try {
		JAXBContext ctx = JAXBContextProvider.getInstance().getContext(EndpointSettings.class);
		Unmarshaller unmarshaller = ctx.createUnmarshaller();
		return (EndpointSettings)unmarshaller.unmarshal(element);
	} catch (Exception e) {
		throw new GraphConfigurationException("Could not parse endpoint settings: " + e.getMessage());
	}
}
 
源代码15 项目: TencentKona-8   文件: LogicalMessageImpl.java
@Override
        public Object getPayload(JAXBContext context) {
//            if(context == ctxt) {
//                return o;
//            }
            try {
                Source payloadSrc = getPayload();
                if (payloadSrc == null)
                    return null;
                Unmarshaller unmarshaller = context.createUnmarshaller();
                return unmarshaller.unmarshal(payloadSrc);
            } catch (JAXBException e) {
                throw new WebServiceException(e);
            }
        }
 
源代码16 项目: openjdk-8   文件: LogicalMessageImpl.java
@Override
        public Object getPayload(JAXBContext context) {
//            if(context == ctxt) {
//                return o;
//            }
            try {
                Source payloadSrc = getPayload();
                if (payloadSrc == null)
                    return null;
                Unmarshaller unmarshaller = context.createUnmarshaller();
                return unmarshaller.unmarshal(payloadSrc);
            } catch (JAXBException e) {
                throw new WebServiceException(e);
            }
        }
 
源代码17 项目: Knowage-Server   文件: MDXFormulaHandler.java
private static MDXFormulas getFormulasFromXML() throws JAXBException {
	formulas = new MDXFormulas();

	if (loadFile()) {
		JAXBContext jc = JAXBContext.newInstance(MDXFormulas.class);
		Unmarshaller unmarshaller = jc.createUnmarshaller();
		formulas = (MDXFormulas) unmarshaller.unmarshal(xmlFile);
	}
	return formulas;

}
 
源代码18 项目: sword-lang   文件: JaxbParser.java
/**
 * 转为对象
 * @param is
 * @return
 */
public Object toObj(InputStream is){
	JAXBContext context;
	try {
		context = JAXBContext.newInstance(clazz);
		Unmarshaller um = context.createUnmarshaller();
		Object obj = um.unmarshal(is);
		return obj;
	} catch (Exception e) {
		logger.error("post data parse error");
		e.printStackTrace();
	}
	return null;
}
 
源代码19 项目: TencentKona-8   文件: UnmarshalTest.java
@Test
public void unmarshalUnexpectedNsTest() throws Exception {
    JAXBContext context;
    Unmarshaller unm;
    // Create JAXB context from testTypes package
    context = JAXBContext.newInstance("testTypes");
    // Create unmarshaller from JAXB context
    unm = context.createUnmarshaller();
    // Unmarshall xml document with unqualified dtime element
    Root r = (Root) unm.unmarshal(new InputSource(new StringReader(DOC)));
    // Print dtime value and check if it is null
    System.out.println("dtime is:"+r.getWhen().getDtime());
    assertNull(r.getWhen().getDtime());
}
 
源代码20 项目: herd   文件: XmlHelper.java
/**
 * Unmarshalls the xml into JAXB object.
 *
 * @param classType the class type of JAXB element
 * @param xmlString the xml string
 * @param <T> the class type.
 *
 * @return the JAXB object
 * @throws javax.xml.bind.JAXBException if there is an error in unmarshalling
 */
@SuppressWarnings("unchecked")
public <T> T unmarshallXmlToObject(Class<T> classType, String xmlString) throws JAXBException
{
    JAXBContext context = JAXBContext.newInstance(classType);
    Unmarshaller un = context.createUnmarshaller();
    return (T) un.unmarshal(IOUtils.toInputStream(xmlString));
}