Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package br.com.mil.sc1.interc2.hermes;
- import java.io.IOException;
- import java.io.StringReader;
- import java.io.StringWriter;
- import java.text.DateFormat;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.Iterator;
- import java.util.Map.Entry;
- import java.util.TimeZone;
- import javax.xml.bind.JAXBContext;
- import javax.xml.bind.JAXBException;
- import javax.xml.bind.Marshaller;
- import javax.xml.bind.Unmarshaller;
- import org.mip_interop.schemas.adem._2014._04._11.jc3actiontask.Plan;
- import com.fasterxml.jackson.annotation.JsonInclude.Include;
- import com.fasterxml.jackson.core.JsonParseException;
- import com.fasterxml.jackson.core.JsonProcessingException;
- import com.fasterxml.jackson.databind.DeserializationFeature;
- import com.fasterxml.jackson.databind.JsonMappingException;
- import com.fasterxml.jackson.databind.JsonNode;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.fasterxml.jackson.databind.ObjectWriter;
- import com.fasterxml.jackson.databind.SerializationFeature;
- public class Teste {
- /*
- * <dependency> <groupId>com.fasterxml.jackson.core</groupId>
- * <artifactId>jackson-databind</artifactId> <version>2.5.3</version>
- * </dependency>
- */
- public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException {
- String xml = "<ns6:Plan xmlns:ns6=\"http://mip-interop.org/schemas/ADEM/2014/04/11/Jc3ActionTask.xsd\" xmlns=\"urn:br:mil:md:sc1:interc2:types\" xmlns:ns2=\"http://mip-interop.org/schemas/ADEM/2014/04/11/Jc3Types.xsd\" xmlns:ns3=\"http://mip-interop.org/schemas/ADEM/2014/04/11/Jc3Common.xsd\" xmlns:ns4=\"http://mip-interop.org/schemas/ADEM/2014/04/11/Jc3ActionResource.xsd\" xmlns:ns5=\"http://mip-interop.org/schemas/ADEM/2014/04/11/Jc3ActionObjective.xsd\" xmlns:ns7=\"http://mip-interop.org/schemas/ADEM/2014/04/11/Jc3Location.xsd\" xmlns:ns8=\"http://mip-interop.org/schemas/ADEM/2014/04/11/Jc3Materiel.xsd\" xmlns:ns9=\"http://mip-interop.org/schemas/ADEM/2014/04/11/Jc3Facilities.xsd\" xmlns:ns10=\"http://mip-interop.org/schemas/ADEM/2014/04/11/Jc3ControlFeatures.xsd\" xmlns:ns11=\"http://mip-interop.org/schemas/ADEM/2014/04/11/Jc3Unit.xsd\" xmlns:ns12=\"http://mip-interop.org/schemas/ADEM/2014/04/11/Jc3Organisations.xsd\" xmlns:ns13=\"http://mip-interop.org/schemas/ADEM/2014/04/11/Jc3File.xsd\" xmlns:ns14=\"http://mip-interop.org/schemas/ADEM/2014/04/11/Jc3ActionFunctionalAssoc.xsd\" xmlns:ns15=\"http://mip-interop.org/schemas/ADEM/2014/04/11/Jc3ObjectItemAssociations.xsd\" xmlns:ns16=\"http://mip-interop.org/schemas/ADEM/2014/04/11/Jc3OrgActionAssoc.xsd\" uri=\"urn:uuid:be5143da-3ded-4e3c-bf49-573e4b3e2fb4\" Source=\"EB\">\n"
- + " <ns3:Metadata>\n"
- + " <ns3:ReportingDatetime>2019-05-23T22:28:47.352Z</ns3:ReportingDatetime>\n"
- + " <ns3:EffectiveDatetimeStart>2019-05-19T09:00:00.000Z</ns3:EffectiveDatetimeStart>\n"
- + " <ns3:EffectiveDatetimeEnd>2019-07-30T09:00:00.000Z</ns3:EffectiveDatetimeEnd>\n"
- + " </ns3:Metadata>\n" + " <ns6:NameTxt>Exercicio de Comunicacao</ns6:NameTxt>\n"
- + " <ns6:PlndStartDttm>2019-05-19T09:00:00.000Z</ns6:PlndStartDttm>\n"
- + " <ns6:PlndEndDttm>2019-07-30T09:00:00.000Z</ns6:PlndEndDttm>\n"
- + " <ns6:Hostility>FR</ns6:Hostility>\n" + " <ns7:VerticalPoint>\n"
- + " <ns2:LatCoord>-15.779720</ns2:LatCoord>\n"
- + " <ns2:LongCoord>-47.929720</ns2:LongCoord>\n"
- + " <ns7:Altitude>1172.000000</ns7:Altitude>\n" + " </ns7:VerticalPoint>\n" + "</ns6:Plan>\n"
- + "";
- // XML para java
- JAXBContext jaxbContext;
- Plan planXml = null;
- try {
- jaxbContext = JAXBContext.newInstance(Plan.class);
- Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
- planXml = (Plan) jaxbUnmarshaller.unmarshal(new StringReader(xml));
- } catch (JAXBException e) {
- e.printStackTrace();
- }
- // java para json
- ObjectWriter obj = new ObjectMapper().configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false)
- .setSerializationInclusion(Include.NON_NULL).writer().withRootName("Plan");
- String jsonStr = "";
- try {
- jsonStr = obj.writeValueAsString(planXml);
- System.out.println(jsonStr);
- } catch (IOException e) {
- e.printStackTrace();
- }
- System.out.println("json para java");
- // json para java
- ObjectMapper obj2 = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
- .configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true);
- Plan planJson = obj2.readValue(jsonStr, Plan.class);
- ObjectMapper obj3 = new ObjectMapper();
- JsonNode pegarRoot = obj3.readTree(jsonStr);
- getRootNodeValue(jsonStr);
- System.out.println(planJson.getUri().equals(planXml.getUri()));
- System.out.println(planJson.getSource().equals(planXml.getSource()));
- System.out.println(
- planJson.getMetadata().getReportingDatetime().equals(planXml.getMetadata().getReportingDatetime()));
- System.out.println(planJson.getMetadata().getEffectiveDatetimeStart()
- .equals(planXml.getMetadata().getEffectiveDatetimeStart()));
- System.out.println(planJson.getMetadata().getEffectiveDatetimeEnd());
- System.out.println(planJson.getNameTxt());
- System.out.println(planJson.getPlndStartDttm());
- System.out.println(planJson.getPlndEndDttm());
- System.out.println(planJson.getHostility());
- System.out.println(planJson.getVerticalPoint().getLatCoord());
- System.out.println(planJson.getVerticalPoint().getLongCoord());
- System.out.println(planJson.getVerticalPoint().getAltitude());
- System.out.println("java para xml");
- // java para xml
- String xmlNova = jaxbObjectToXML(planJson);
- System.out.println("xml para java");
- // xml para java
- JAXBContext jaxbContext2;
- Plan plan3 = null;
- try {
- jaxbContext2 = JAXBContext.newInstance(Plan.class);
- Unmarshaller jaxbUnmarshaller = jaxbContext2.createUnmarshaller();
- plan3 = (Plan) jaxbUnmarshaller.unmarshal(new StringReader(xmlNova));
- } catch (JAXBException e) {
- e.printStackTrace();
- }
- System.out.println(plan3.getUri());
- System.out.println(plan3.getSource());
- System.out.println(plan3.getMetadata().getReportingDatetime());
- System.out.println(plan3.getMetadata().getEffectiveDatetimeStart());
- System.out.println(plan3.getMetadata().getEffectiveDatetimeEnd());
- System.out.println(plan3.getNameTxt());
- System.out.println(plan3.getPlndStartDttm());
- System.out.println(plan3.getPlndEndDttm());
- System.out.println(plan3.getHostility());
- System.out.println(plan3.getVerticalPoint().getLatCoord());
- System.out.println(plan3.getVerticalPoint().getLongCoord());
- System.out.println(plan3.getVerticalPoint().getAltitude());
- }
- private static String getRootNodeValue(String jsonString) throws JsonProcessingException, IOException {
- JsonNode rootNode = new ObjectMapper().readTree(new StringReader(jsonString));
- System.out.println("-------------");
- String key = rootNode.fields().next().getKey();
- System.out.println(key);
- System.out.println("---------");
- return key;
- }
- private static String jaxbObjectToXML(Plan plan) {
- try {
- JAXBContext jaxbContext = JAXBContext.newInstance(Plan.class);
- Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
- jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
- StringWriter sw = new StringWriter();
- jaxbMarshaller.marshal(plan, sw);
- String xmlContent = sw.toString();
- System.out.println(xmlContent);
- return xmlContent;
- } catch (JAXBException e) {
- e.printStackTrace();
- }
- return "deu M";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement