2 * ============LICENSE_START====================================================
4 * ===========================================================================
5 * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
6 * ===========================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END====================================================
22 package org.onap.aaf.misc.rosetta.test;
24 import java.io.StringReader;
26 import org.junit.Assert;
27 import org.junit.Test;
28 import org.onap.aaf.misc.env.Data;
29 import org.onap.aaf.misc.env.TimeTaken;
30 import org.onap.aaf.misc.env.Trans;
31 import org.onap.aaf.misc.env.Data.TYPE;
32 import org.onap.aaf.misc.env.impl.EnvFactory;
33 import org.onap.aaf.misc.env.jaxb.JAXBmar;
34 import org.onap.aaf.misc.env.util.StringBuilderWriter;
35 import org.onap.aaf.misc.rosetta.env.RosettaDF;
36 import org.onap.aaf.misc.rosetta.env.RosettaData;
37 import org.onap.aaf.misc.rosetta.env.RosettaEnv;
39 import s.xsd.LargerData;
41 import s.xsd.SampleData;
43 public class JU_RosettaDF {
44 public static int ITERATIONS = 1;
47 public void testCached() throws Exception {
48 RosettaEnv env = new RosettaEnv();
49 RosettaDF<LargerData> df = env.newDataFactory(LargerData.class);
50 JAXBmar jmar = new JAXBmar(LargerData.class);
52 StringBuilderWriter sbw = new StringBuilderWriter(1024);
53 Trans trans = EnvFactory.newTrans();
55 Report report = new Report(ITERATIONS,"Load JSON","Extract JAXB", "JAXB Marshal", "Cached to XML", "Cached to JSON");
58 trans = EnvFactory.newTrans();
59 Data<LargerData> data;
60 TimeTaken tt = trans.start("Load JSON", 1);
62 data = df.newData(trans).out(Data.TYPE.JSON).in(Data.TYPE.JSON).load(JU_FromJSON.str);
67 tt = trans.start("Extract JAXB", 2);
74 tt = trans.start("JAXB marshal", 3);
76 jmar.marshal(trans.debug(), ld, sbw);
82 tt = trans.start("To XML from Cache",4);
84 data.out(Data.TYPE.XML).to(sbw);
91 tt = trans.start("To JSON from Cache",5);
93 data.out(Data.TYPE.JSON).to(sbw);
97 report.glean(trans, 1,2,3,4,5);
101 System.out.println(sbw);
106 public void testDirect() throws Exception {
107 RosettaEnv env = new RosettaEnv();
108 RosettaDF<LargerData> df = env.newDataFactory(LargerData.class);
110 StringBuilderWriter sbw = new StringBuilderWriter(1024);
111 Trans trans = EnvFactory.newTrans();
113 Report report = new Report(ITERATIONS);
116 trans = EnvFactory.newTrans();
117 RosettaData<?> data = df.newData(trans).in(Data.TYPE.JSON).out(Data.TYPE.XML);
118 data.direct(new StringReader(JU_FromJSON.str), sbw);
120 } while(report.go());
123 System.out.println(sbw);
128 public void testMulti() throws Exception {
129 RosettaEnv env = new RosettaEnv();
130 RosettaDF<Multi> df = env.newDataFactory(Multi.class);
132 // StringBuilderWriter sbw = new StringBuilderWriter(1024);
133 // Trans trans = EnvFactory.newTrans();
135 Multi m = new Multi();
136 m.getF1().add("String1");
137 m.getF2().add("String2");
139 System.out.println(df.newData().load(m).out(TYPE.RAW).asString());
140 System.out.println(df.newData().load(m).out(TYPE.JSON).asString());
145 public void testQuotes() throws Exception {
146 RosettaEnv env = new RosettaEnv();
147 RosettaDF<SampleData> df = env.newDataFactory(SampleData.class);
149 SampleData sd = new SampleData();
150 sd.setId("\"AT&T Services, Inc.\"");
151 System.out.println(sd.getId());
152 String out =df.newData().load(sd).out(TYPE.JSON).asString();
153 System.out.println(out);
155 "{\"id\":\"\\\"AT&T Services, Inc.\\\"\",\"date\":0}",
158 SampleData sd2 = df.newData().in(TYPE.JSON).load(out).asObject();
159 System.out.println(sd2.getId());
160 Assert.assertEquals(sd.getId(),sd2.getId());