* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
private boolean options[] = new boolean[] {false, false};
// Temp Storage of XML. Only when we must use JAXB to read in Objects
private String xml,json;
-
+
// package on purpose
RosettaData(Env env, RosettaDF<T> rosettaDF) {
df = rosettaDF;
outType = df.getOutType(); // take defaults
}
+ //Added for junits
+ void setSaved(Saved saved) {
+ this.saved = saved;
+ }
+
// // @Override
public RosettaData<T> in(TYPE rosettaType) {
inType = rosettaType;
return this;
}
-
+
// // @Override
public RosettaData<T> out(TYPE rosettaType) {
outType = rosettaType;
}
return this;
}
-
+
// @Override
public RosettaData<T> load(InputStream is) throws APIException {
Parse<Reader,?> in = df.getIn(inType);
json = str;
break;
default:
-
+
}
} catch (Exception e) {
throw new APIException(e);
Parse<?,?> in = df.getIn(inType);
TimeTaken tt = in.start(trans);
try {
- if(df.marshal==null) { // Unknown marshaller... do working XML marshal/extraction
+ if (df.marshal==null) { // Unknown marshaller... do working XML marshal/extraction
StringWriter sw = new StringWriter();
df.jaxMar.marshal(trans.debug(), t, sw, options);
saved.extract(new StringReader(xml = sw.toString()), (Writer)null, df.inXML);
public Saved getEvents() {
return saved;
}
-
+
// @Override
public T asObject() throws APIException {
Out out = df.getOut(TYPE.XML);
Out out = df.getOut(outType);
TimeTaken tt = trans.start(out.logName(),df.logType(outType)); // determine from Out.. without dependency on Env?
try {
- if(outType==TYPE.XML) {
- if(xml==null) {
+ if (outType==TYPE.XML) {
+ if (xml==null) {
StringWriter sw = new StringWriter();
out.extract(null, sw, saved, options);
xml = sw.toString();
}
return xml;
} else { // is JSON
- if(json==null) {
+ if (json==null) {
StringWriter sw = new StringWriter();
out.extract(null, sw, saved, options);
json = sw.toString();
Out out = df.getOut(outType);
TimeTaken tt = trans.start(out.logName(),df.logType(outType)); // determine from Out.. without dependency on Env?
try {
- if(outType==TYPE.XML && xml!=null) {
+ if (outType==TYPE.XML && xml!=null) {
os.write(xml.getBytes());
- } else if(outType==TYPE.JSON && json!=null) {
+ } else if (outType==TYPE.JSON && json!=null) {
os.write(json.getBytes());
- } else {
+ } else {
out.extract(null, os, saved, options);
}
} catch (Exception e) {
Out out = df.getOut(outType);
TimeTaken tt = trans.start(out.logName(),df.logType(outType)); // determine from Out.. without dependency on Env?
try {
- if(outType==TYPE.XML && xml!=null) {
+ if (outType==TYPE.XML && xml!=null) {
writer.append(xml);
- } else if(outType==TYPE.JSON && json!=null) {
+ } else if (outType==TYPE.JSON && json!=null) {
writer.append(json);
- } else {
+ } else {
out.extract(null, writer, saved, options);
}
} catch (Exception e) {
}
return this;
}
-
+
// @Override
public Class<T> getTypeClass() {
return df.getTypeClass();
}
private static final boolean[] emptyOption = new boolean[0];
-
+
public void direct(InputStream is, OutputStream os) throws APIException, IOException {
direct(is,os,emptyOption);
}
-
+
public void direct(Reader reader, Writer writer, boolean ... options) throws APIException, IOException {
Parse<Reader,?> in = df.getIn(inType);
Out out = df.getOut(outType);
Out out = df.getOut(outType);
TimeTaken tt = trans.start(out.logName(),df.logType(outType)); // determine from Out.. without dependency on Env?
try {
- if(df.marshal==null) { // Unknown marshaller... do working XML marshal/extraction
+ if (df.marshal==null) { // Unknown marshaller... do working XML marshal/extraction
StringWriter sw = new StringWriter();
df.jaxMar.marshal(trans.debug(), t, sw, options);
out.extract(new StringReader(xml = sw.toString()), writer, df.inXML,options);
Out out = df.getOut(outType);
TimeTaken tt = trans.start(out.logName(),df.logType(outType)); // determine from Out.. without dependency on Env?
try {
- if(df.marshal==null) { // Unknown marshaller... do working XML marshal/extraction
- if(outType.equals(TYPE.XML)) {
+ if (df.marshal==null) { // Unknown marshaller... do working XML marshal/extraction
+ if (outType.equals(TYPE.XML)) {
df.jaxMar.marshal(trans.debug(), t, os, options);
} else {
StringWriter sw = new StringWriter();
}
}
-
+
public void direct(InputStream is, OutputStream os, boolean ... options) throws APIException, IOException {
direct(new InputStreamReader(is),new OutputStreamWriter(os), options);
}