From 4b5a7d721d994a49057e9bfb403c7bff1b376660 Mon Sep 17 00:00:00 2001 From: Instrumental Date: Fri, 7 Sep 2018 12:21:34 -0500 Subject: Mass removal of all Tabs (Style Warnings) Issue-ID: AAF-473 Change-Id: Iaf0ef8120882937959bb0065f2f6ba74a021940f Signed-off-by: Instrumental --- .../java/org/onap/aaf/misc/env/APIException.java | 94 +-- .../org/onap/aaf/misc/env/BaseDataFactory.java | 806 +++++++++---------- .../main/java/org/onap/aaf/misc/env/Creatable.java | 30 +- .../src/main/java/org/onap/aaf/misc/env/Data.java | 108 +-- .../java/org/onap/aaf/misc/env/DataFactory.java | 6 +- .../main/java/org/onap/aaf/misc/env/Decryptor.java | 16 +- .../main/java/org/onap/aaf/misc/env/Encryptor.java | 14 +- .../src/main/java/org/onap/aaf/misc/env/Env.java | 156 ++-- .../main/java/org/onap/aaf/misc/env/EnvJAXB.java | 42 +- .../main/java/org/onap/aaf/misc/env/EnvProps.java | 96 +-- .../java/org/onap/aaf/misc/env/IOObjectifier.java | 50 +- .../java/org/onap/aaf/misc/env/IOStringifier.java | 78 +- .../main/java/org/onap/aaf/misc/env/LifeCycle.java | 146 ++-- .../main/java/org/onap/aaf/misc/env/LogTarget.java | 196 ++--- .../java/org/onap/aaf/misc/env/Objectifier.java | 40 +- .../src/main/java/org/onap/aaf/misc/env/Slot.java | 114 +-- .../java/org/onap/aaf/misc/env/StaticSlot.java | 78 +- .../src/main/java/org/onap/aaf/misc/env/Store.java | 148 ++-- .../main/java/org/onap/aaf/misc/env/StoreImpl.java | 400 +++++----- .../java/org/onap/aaf/misc/env/Stringifier.java | 28 +- .../main/java/org/onap/aaf/misc/env/TimeTaken.java | 154 ++-- .../src/main/java/org/onap/aaf/misc/env/Trans.java | 56 +- .../java/org/onap/aaf/misc/env/TransCreate.java | 2 +- .../java/org/onap/aaf/misc/env/TransStore.java | 60 +- .../java/org/onap/aaf/misc/env/impl/AbsTrans.java | 350 ++++----- .../org/onap/aaf/misc/env/impl/AbsTransJAXB.java | 46 +- .../java/org/onap/aaf/misc/env/impl/BasicEnv.java | 580 +++++++------- .../org/onap/aaf/misc/env/impl/BasicTrans.java | 78 +- .../org/onap/aaf/misc/env/impl/EnvFactory.java | 58 +- .../onap/aaf/misc/env/impl/JavaUtilLogTarget.java | 94 +-- .../org/onap/aaf/misc/env/impl/Log4JLogTarget.java | 126 +-- .../org/onap/aaf/misc/env/impl/NullLifeCycle.java | 10 +- .../java/org/onap/aaf/misc/env/jaxb/JAXBDF.java | 526 ++++++------- .../java/org/onap/aaf/misc/env/jaxb/JAXBData.java | 478 ++++++------ .../onap/aaf/misc/env/jaxb/JAXBObjectifier.java | 186 ++--- .../onap/aaf/misc/env/jaxb/JAXBStringifier.java | 198 ++--- .../java/org/onap/aaf/misc/env/jaxb/JAXBmar.java | 374 ++++----- .../java/org/onap/aaf/misc/env/jaxb/JAXBumar.java | 346 ++++---- .../org/onap/aaf/misc/env/old/IOObjectifier.java | 50 +- .../org/onap/aaf/misc/env/old/IOStringifier.java | 78 +- .../org/onap/aaf/misc/env/old/Objectifier.java | 40 +- .../org/onap/aaf/misc/env/old/OldDataFactory.java | 22 +- .../org/onap/aaf/misc/env/old/Stringifier.java | 28 +- .../java/org/onap/aaf/misc/env/util/Chrono.java | 524 ++++++------- .../onap/aaf/misc/env/util/DoubleOutputStream.java | 70 +- .../org/onap/aaf/misc/env/util/IPValidator.java | 54 +- .../main/java/org/onap/aaf/misc/env/util/Pool.java | 618 +++++++-------- .../aaf/misc/env/util/RefreshableThreadObject.java | 134 ++-- .../java/org/onap/aaf/misc/env/util/Split.java | 128 +-- .../misc/env/util/StringBuilderOutputStream.java | 70 +- .../aaf/misc/env/util/StringBuilderWriter.java | 62 +- .../org/onap/aaf/misc/env/JU_APIExceptionTest.java | 60 +- .../org/onap/aaf/misc/env/JU_BasicTransTest.java | 146 ++-- .../org/onap/aaf/misc/env/JU_LogTargetTest.java | 70 +- .../onap/aaf/misc/env/impl/JU_BasicEnvTest.java | 202 ++--- .../onap/aaf/misc/env/impl/JU_EnvFactoryTest.java | 64 +- .../aaf/misc/env/impl/JU_Log4JLogTargetTest.java | 30 +- .../onap/aaf/misc/env/jaxb/JU_JAXBDataTest.java | 192 ++--- .../org/onap/aaf/misc/env/util/JU_ChronoTest.java | 302 +++---- .../misc/env/util/JU_DoubleOutputStreamTest.java | 94 +-- .../misc/env/util/JU_IndentPrintWriterTest.java | 108 +-- .../org/onap/aaf/misc/env/util/JU_SplitTest.java | 52 +- .../env/util/JU_StringBuilderOutputStreamTest.java | 202 ++--- .../misc/env/util/JU_StringBuilderWriterTest.java | 202 ++--- .../aaf/misc/env/util/test/JU_IPValidator.java | 64 +- .../onap/aaf/misc/env/util/test/JU_PoolTest.java | 90 +-- .../org/onap/aaf/misc/env/log4j/LogFileNamer.java | 102 +-- .../aaf/misc/env/log4j/JU_LogFileNamerTest.java | 92 +-- .../java/org/onap/aaf/misc/rosetta/InJson.java | 240 +++--- .../main/java/org/onap/aaf/misc/rosetta/InXML.java | 866 ++++++++++----------- .../java/org/onap/aaf/misc/rosetta/JaxEval.java | 2 +- .../java/org/onap/aaf/misc/rosetta/JaxInfo.java | 408 +++++----- .../java/org/onap/aaf/misc/rosetta/JaxSet.java | 94 +-- .../java/org/onap/aaf/misc/rosetta/Ladder.java | 148 ++-- .../java/org/onap/aaf/misc/rosetta/Marshal.java | 92 +-- .../main/java/org/onap/aaf/misc/rosetta/Nulls.java | 56 +- .../main/java/org/onap/aaf/misc/rosetta/Out.java | 26 +- .../java/org/onap/aaf/misc/rosetta/OutJax.java | 42 +- .../java/org/onap/aaf/misc/rosetta/OutJson.java | 384 ++++----- .../java/org/onap/aaf/misc/rosetta/OutRaw.java | 28 +- .../java/org/onap/aaf/misc/rosetta/OutXML.java | 368 ++++----- .../main/java/org/onap/aaf/misc/rosetta/Parse.java | 34 +- .../org/onap/aaf/misc/rosetta/ParseException.java | 24 +- .../java/org/onap/aaf/misc/rosetta/Parsed.java | 112 +-- .../main/java/org/onap/aaf/misc/rosetta/Prop.java | 34 +- .../main/java/org/onap/aaf/misc/rosetta/Saved.java | 288 +++---- .../java/org/onap/aaf/misc/rosetta/XmlEscape.java | 676 ++++++++-------- .../org/onap/aaf/misc/rosetta/env/RosettaDF.java | 378 ++++----- .../org/onap/aaf/misc/rosetta/env/RosettaData.java | 506 ++++++------ .../org/onap/aaf/misc/rosetta/env/RosettaEnv.java | 78 +- .../onap/aaf/misc/rosetta/marshal/DataWriter.java | 188 ++--- .../onap/aaf/misc/rosetta/marshal/DocMarshal.java | 94 +-- .../onap/aaf/misc/rosetta/marshal/FieldArray.java | 110 +-- .../onap/aaf/misc/rosetta/marshal/FieldBlob.java | 20 +- .../onap/aaf/misc/rosetta/marshal/FieldDate.java | 16 +- .../aaf/misc/rosetta/marshal/FieldDateTime.java | 16 +- .../aaf/misc/rosetta/marshal/FieldHexBinary.java | 16 +- .../aaf/misc/rosetta/marshal/FieldMarshal.java | 54 +- .../aaf/misc/rosetta/marshal/FieldNumeric.java | 18 +- .../onap/aaf/misc/rosetta/marshal/FieldString.java | 16 +- .../aaf/misc/rosetta/marshal/ListIterator.java | 46 +- .../onap/aaf/misc/rosetta/marshal/ObjArray.java | 100 +-- .../onap/aaf/misc/rosetta/marshal/ObjMarshal.java | 168 ++-- .../onap/aaf/misc/rosetta/test/JU_FromJSON.java | 416 +++++----- .../org/onap/aaf/misc/rosetta/test/JU_FromXML.java | 408 +++++----- .../org/onap/aaf/misc/rosetta/test/JU_JSON.java | 190 ++--- .../org/onap/aaf/misc/rosetta/test/JU_Ladder.java | 84 +- .../org/onap/aaf/misc/rosetta/test/JU_Nulls.java | 60 +- .../onap/aaf/misc/rosetta/test/JU_RosettaDF.java | 236 +++--- .../org/onap/aaf/misc/rosetta/test/JU_Saved.java | 118 +-- .../onap/aaf/misc/rosetta/test/JU_Stream2Obj.java | 146 ++-- .../org/onap/aaf/misc/rosetta/test/JU_Struct.java | 80 +- .../org/onap/aaf/misc/rosetta/test/JU_Types.java | 454 +++++------ .../org/onap/aaf/misc/rosetta/test/OutDump.java | 106 +-- .../org/onap/aaf/misc/rosetta/test/Report.java | 70 +- .../aaf/misc/rosetta/test/obj/MultiMarshal.java | 16 +- .../aaf/misc/rosetta/test/obj/SingleMarshal.java | 96 +-- .../src/main/java/org/onap/aaf/misc/xgen/Back.java | 18 +- .../main/java/org/onap/aaf/misc/xgen/Cache.java | 18 +- .../main/java/org/onap/aaf/misc/xgen/CacheGen.java | 174 ++--- .../src/main/java/org/onap/aaf/misc/xgen/Code.java | 2 +- .../java/org/onap/aaf/misc/xgen/DynamicCode.java | 12 +- .../src/main/java/org/onap/aaf/misc/xgen/Mark.java | 28 +- .../main/java/org/onap/aaf/misc/xgen/Section.java | 52 +- .../src/main/java/org/onap/aaf/misc/xgen/XGen.java | 524 ++++++------- .../main/java/org/onap/aaf/misc/xgen/XGenBuff.java | 98 +-- .../java/org/onap/aaf/misc/xgen/html/HTML4Gen.java | 206 ++--- .../java/org/onap/aaf/misc/xgen/html/HTML5Gen.java | 246 +++--- .../org/onap/aaf/misc/xgen/html/HTMLCacheGen.java | 54 +- .../java/org/onap/aaf/misc/xgen/html/HTMLGen.java | 418 +++++----- .../java/org/onap/aaf/misc/xgen/html/Imports.java | 128 +-- .../java/org/onap/aaf/misc/xgen/html/JSGen.java | 326 ++++---- .../java/org/onap/aaf/misc/xgen/html/Thematic.java | 4 +- .../org/onap/aaf/misc/xgen/xml/XMLCacheGen.java | 20 +- .../java/org/onap/aaf/misc/xgen/xml/XMLGen.java | 28 +- .../java/org/onap/aaf/misc/xgen/JU_BackTest.java | 14 +- .../org/onap/aaf/misc/xgen/JU_DynamicCodeTest.java | 40 +- .../java/org/onap/aaf/misc/xgen/JU_MarkTest.java | 20 +- .../org/onap/aaf/misc/xgen/JU_NullCacheTest.java | 10 +- .../org/onap/aaf/misc/xgen/JU_SectionTest.java | 42 +- .../onap/aaf/misc/xgen/html/JU_HTML4GenTest.java | 396 +++++----- .../onap/aaf/misc/xgen/html/JU_HTML5GenTest.java | 134 ++-- .../onap/aaf/misc/xgen/html/JU_ImportsTest.java | 46 +- .../org/onap/aaf/misc/xgen/html/JU_JSGenTest.java | 342 ++++---- .../onap/aaf/misc/xgen/xml/JU_XMLCacheGenTest.java | 38 +- .../org/onap/aaf/misc/xgen/xml/JU_XMLGenTest.java | 40 +- 146 files changed, 11011 insertions(+), 11011 deletions(-) (limited to 'misc') diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/APIException.java b/misc/env/src/main/java/org/onap/aaf/misc/env/APIException.java index bf1d357f..4aa1451e 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/APIException.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/APIException.java @@ -35,55 +35,55 @@ package org.onap.aaf.misc.env; * */ public class APIException extends Exception { - - private Object payload = null; - - /** - * @param t - */ - public APIException(Throwable t) { - super(t); - } - - /** - * @param string - */ - public APIException(String string) { - super(string); - } + + private Object payload = null; + + /** + * @param t + */ + public APIException(Throwable t) { + super(t); + } + + /** + * @param string + */ + public APIException(String string) { + super(string); + } - /** - * @param errorMessage - * @param t - */ - public APIException(String errorMessage, Throwable t) { - super(errorMessage,t); - } + /** + * @param errorMessage + * @param t + */ + public APIException(String errorMessage, Throwable t) { + super(errorMessage,t); + } - /** - * Return payload, or null if none was set. Type is up to the calling - * System. - * - * @return Object - */ - public Object getPayload() { - return payload; - } + /** + * Return payload, or null if none was set. Type is up to the calling + * System. + * + * @return Object + */ + public Object getPayload() { + return payload; + } - /** - * Set a specific payload into this Exception, which doesn't necessarily - * inherit from Throwable. - * - * @param payload - * @return APIException - */ - public APIException setPayload(Object payload) { - this.payload = payload; - return this; - } + /** + * Set a specific payload into this Exception, which doesn't necessarily + * inherit from Throwable. + * + * @param payload + * @return APIException + */ + public APIException setPayload(Object payload) { + this.payload = payload; + return this; + } - /** - * Java expected serial ID - */ - private static final long serialVersionUID = 3505343458251445169L; + /** + * Java expected serial ID + */ + private static final long serialVersionUID = 3505343458251445169L; } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/BaseDataFactory.java b/misc/env/src/main/java/org/onap/aaf/misc/env/BaseDataFactory.java index 78615018..d72222e8 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/BaseDataFactory.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/BaseDataFactory.java @@ -54,425 +54,425 @@ import org.xml.sax.SAXException; * @param */ public class BaseDataFactory { - private static final Object LOCK = new Object(); - /** - * Generate a Schema Object for use in validation based on FileNames. - * - * WARNING: The java.xml.binding code requires YOU to figure out what order the - * files go in. If there is an import from A in B, then you must list A first. - * - * @param err - * @param filenames - * @return - * @throws APIException - */ - public static Schema genSchema(Store env, String ... filenames) throws APIException { - String schemaDir = env.get( - env.staticSlot(EnvFactory.SCHEMA_DIR), - EnvFactory.DEFAULT_SCHEMA_DIR); - File dir = new File(schemaDir); - if(!dir.exists())throw new APIException("Schema Directory " + schemaDir + " does not exist. You can set this with " + EnvFactory.SCHEMA_DIR + " property"); - FileInputStream[] fis = new FileInputStream[filenames.length]; - Source[] sources = new Source[filenames.length]; - File f; - for(int i=0; i clss) throws APIException { - // Obtain the Necessary info for QName from Requirement - XmlRootElement xre = clss.getAnnotation(XmlRootElement.class); - if(xre==null)throw new APIException(clss.getName() + " does not have an XmlRootElement annotation"); - Package pkg = clss.getPackage(); - XmlSchema xs = pkg.getAnnotation(XmlSchema.class); - if(xs==null) throw new APIException(clss.getName() + " package-info does not have an XmlSchema annotation"); - return new QName(xs.namespace(),xre.name()); - } + public static QName getQName(Class clss) throws APIException { + // Obtain the Necessary info for QName from Requirement + XmlRootElement xre = clss.getAnnotation(XmlRootElement.class); + if(xre==null)throw new APIException(clss.getName() + " does not have an XmlRootElement annotation"); + Package pkg = clss.getPackage(); + XmlSchema xs = pkg.getAnnotation(XmlSchema.class); + if(xs==null) throw new APIException(clss.getName() + " package-info does not have an XmlSchema annotation"); + return new QName(xs.namespace(),xre.name()); + } - ///////////////////////////////////////////// - // Native Type Converters - ///////////////////////////////////////////// -// /** -// * StringStringifier -// * -// * Support the Native Type String.. just return it back -// * -// * @author Jonathan -// * -// */ -// public static class StringStringifier extends NullLifeCycle implements Stringifier { -// /* (non-Javadoc) -// * @see com.att.env.Stringifier#stringify(com.att.env.Env, java.lang.Object) -// */ -// public String stringify(Env env, String input) throws APIException { -// return input; -// } -// }; + ///////////////////////////////////////////// + // Native Type Converters + ///////////////////////////////////////////// +// /** +// * StringStringifier +// * +// * Support the Native Type String.. just return it back +// * +// * @author Jonathan +// * +// */ +// public static class StringStringifier extends NullLifeCycle implements Stringifier { +// /* (non-Javadoc) +// * @see com.att.env.Stringifier#stringify(com.att.env.Env, java.lang.Object) +// */ +// public String stringify(Env env, String input) throws APIException { +// return input; +// } +// }; // -// /** -// * StringObjectifier -// * -// * Support the Native Type String.. just return it back -// * -// * @author Jonathan -// * -// */ -// public static class StringObjectifier extends NullLifeCycle implements Objectifier { -// /* (non-Javadoc) -// * @see com.att.env.Objectifier#objectify(com.att.env.Env, java.lang.String) -// */ -// public String objectify(Env env, String input) throws APIException { -// return input; -// } +// /** +// * StringObjectifier +// * +// * Support the Native Type String.. just return it back +// * +// * @author Jonathan +// * +// */ +// public static class StringObjectifier extends NullLifeCycle implements Objectifier { +// /* (non-Javadoc) +// * @see com.att.env.Objectifier#objectify(com.att.env.Env, java.lang.String) +// */ +// public String objectify(Env env, String input) throws APIException { +// return input; +// } // -// /* (non-Javadoc) -// * @see com.att.env.Objectifier#newObject() -// */ -// public String newInstance() throws APIException { -// return ""; -// } -// }; -// -// /** -// * LongStringifier -// * -// * Support the Native Type Long.. use Long parse functions -// * -// * @author Jonathan -// * -// */ -// public static class LongStringifier extends NullLifeCycle implements Stringifier { -// public String stringify(Env env, Long input) throws APIException { -// return input.toString(); -// } -// } -// -// /** -// * LongObjectifier -// * -// * Support the Native Type Long.. use Long parse functions -// * -// * @author Jonathan -// * -// */ -// public static class LongObjectifier extends NullLifeCycle implements Objectifier { -// /* (non-Javadoc) -// * @see com.att.env.Objectifier#objectify(com.att.env.Env, java.lang.String) -// */ -// public Long objectify(Env env, String input) throws APIException { -// try { -// return new Long(input); -// } catch (Exception e) { -// APIException ae = new APIException("Cannot create a \"Long\" from [" + input + ']'); -// ae.initCause(e); -// throw ae; -// } -// } +// /* (non-Javadoc) +// * @see com.att.env.Objectifier#newObject() +// */ +// public String newInstance() throws APIException { +// return ""; +// } +// }; +// +// /** +// * LongStringifier +// * +// * Support the Native Type Long.. use Long parse functions +// * +// * @author Jonathan +// * +// */ +// public static class LongStringifier extends NullLifeCycle implements Stringifier { +// public String stringify(Env env, Long input) throws APIException { +// return input.toString(); +// } +// } +// +// /** +// * LongObjectifier +// * +// * Support the Native Type Long.. use Long parse functions +// * +// * @author Jonathan +// * +// */ +// public static class LongObjectifier extends NullLifeCycle implements Objectifier { +// /* (non-Javadoc) +// * @see com.att.env.Objectifier#objectify(com.att.env.Env, java.lang.String) +// */ +// public Long objectify(Env env, String input) throws APIException { +// try { +// return new Long(input); +// } catch (Exception e) { +// APIException ae = new APIException("Cannot create a \"Long\" from [" + input + ']'); +// ae.initCause(e); +// throw ae; +// } +// } // -// /* (non-Javadoc) -// * @see com.att.env.Objectifier#newObject() -// */ -// public Long newInstance() throws APIException { -// return 0L; -// } -// } +// /* (non-Javadoc) +// * @see com.att.env.Objectifier#newObject() +// */ +// public Long newInstance() throws APIException { +// return 0L; +// } +// } // -// /** -// * IntegerStringifier -// * -// * Support the Native Integer.. use Integer parse functions -// * -// * @author Jonathan -// * -// */ -// public static class IntegerStringifier extends NullLifeCycle implements Stringifier { -// /* (non-Javadoc) -// * @see com.att.env.Stringifier#stringify(com.att.env.Env, java.lang.Object) -// */ -// public String stringify(Env env, Integer input) throws APIException { -// return input.toString(); -// } -// } -// -// /** -// * IntegerObjectifier -// * -// * Support the Native Integer.. use Integer parse functions -// * -// * @author Jonathan -// * -// */ -// public static class IntegerObjectifier extends NullLifeCycle implements Objectifier { -// /* (non-Javadoc) -// * @see com.att.env.Objectifier#objectify(com.att.env.Env, java.lang.String) -// */ -// public Integer objectify(Env env, String input) throws APIException { -// try { -// return new Integer(input); -// } catch (Exception e) { -// APIException ae = new APIException("Cannot create a \"Integer\" from [" + input + ']'); -// ae.initCause(e); -// throw ae; -// } -// } +// /** +// * IntegerStringifier +// * +// * Support the Native Integer.. use Integer parse functions +// * +// * @author Jonathan +// * +// */ +// public static class IntegerStringifier extends NullLifeCycle implements Stringifier { +// /* (non-Javadoc) +// * @see com.att.env.Stringifier#stringify(com.att.env.Env, java.lang.Object) +// */ +// public String stringify(Env env, Integer input) throws APIException { +// return input.toString(); +// } +// } +// +// /** +// * IntegerObjectifier +// * +// * Support the Native Integer.. use Integer parse functions +// * +// * @author Jonathan +// * +// */ +// public static class IntegerObjectifier extends NullLifeCycle implements Objectifier { +// /* (non-Javadoc) +// * @see com.att.env.Objectifier#objectify(com.att.env.Env, java.lang.String) +// */ +// public Integer objectify(Env env, String input) throws APIException { +// try { +// return new Integer(input); +// } catch (Exception e) { +// APIException ae = new APIException("Cannot create a \"Integer\" from [" + input + ']'); +// ae.initCause(e); +// throw ae; +// } +// } // -// /* (non-Javadoc) -// * @see com.att.env.Objectifier#newObject() -// */ -// public Integer newInstance() throws APIException { -// return 0; -// } -// } +// /* (non-Javadoc) +// * @see com.att.env.Objectifier#newObject() +// */ +// public Integer newInstance() throws APIException { +// return 0; +// } +// } // -// /** -// * ShortStringifier -// * -// * Support the Native Short.. use Short parse functions -// * -// * @author Jonathan -// * -// */ -// public static class ShortStringifier extends NullLifeCycle implements Stringifier { -// public String stringify(Env env, Short input) throws APIException { -// return input.toString(); -// } -// } -// -// /** -// * ShortObjectifier -// * -// * Support the Native Short.. use Short parse functions -// * -// * @author Jonathan -// * -// */ -// public static class ShortObjectifier extends NullLifeCycle implements Objectifier { -// public Short objectify(Env env, String input) throws APIException { -// try { -// return new Short(input); -// } catch (Exception e) { -// APIException ae = new APIException("Cannot create a \"Short\" from [" + input + ']'); -// ae.initCause(e); -// throw ae; -// } -// } +// /** +// * ShortStringifier +// * +// * Support the Native Short.. use Short parse functions +// * +// * @author Jonathan +// * +// */ +// public static class ShortStringifier extends NullLifeCycle implements Stringifier { +// public String stringify(Env env, Short input) throws APIException { +// return input.toString(); +// } +// } +// +// /** +// * ShortObjectifier +// * +// * Support the Native Short.. use Short parse functions +// * +// * @author Jonathan +// * +// */ +// public static class ShortObjectifier extends NullLifeCycle implements Objectifier { +// public Short objectify(Env env, String input) throws APIException { +// try { +// return new Short(input); +// } catch (Exception e) { +// APIException ae = new APIException("Cannot create a \"Short\" from [" + input + ']'); +// ae.initCause(e); +// throw ae; +// } +// } // -// public Short newInstance() throws APIException { -// return 0; -// } -// } -// -// /** -// * ByteStringifier -// * -// * Support the Native Byte.. use Byte parse functions -// * -// * @author Jonathan -// * -// */ -// public static class ByteStringifier extends NullLifeCycle implements Stringifier { -// /* (non-Javadoc) -// * @see com.att.env.Stringifier#stringify(com.att.env.Env, java.lang.Object) -// */ -// public String stringify(Env env, Byte input) throws APIException { -// return input.toString(); -// } -// } -// -// /** -// * ByteObjectifier -// * -// * Support the Native Byte.. use Byte parse functions -// * -// * @author Jonathan -// * -// */ -// public static class ByteObjectifier extends NullLifeCycle implements Objectifier { -// /* (non-Javadoc) -// * @see com.att.env.Objectifier#objectify(com.att.env.Env, java.lang.String) -// */ -// public Byte objectify(Env env, String input) throws APIException { -// try { -// return new Byte(input); -// } catch (Exception e) { -// APIException ae = new APIException("Cannot create a \"Byte\" from [" + input + ']'); -// ae.initCause(e); -// throw ae; -// } -// } +// public Short newInstance() throws APIException { +// return 0; +// } +// } +// +// /** +// * ByteStringifier +// * +// * Support the Native Byte.. use Byte parse functions +// * +// * @author Jonathan +// * +// */ +// public static class ByteStringifier extends NullLifeCycle implements Stringifier { +// /* (non-Javadoc) +// * @see com.att.env.Stringifier#stringify(com.att.env.Env, java.lang.Object) +// */ +// public String stringify(Env env, Byte input) throws APIException { +// return input.toString(); +// } +// } +// +// /** +// * ByteObjectifier +// * +// * Support the Native Byte.. use Byte parse functions +// * +// * @author Jonathan +// * +// */ +// public static class ByteObjectifier extends NullLifeCycle implements Objectifier { +// /* (non-Javadoc) +// * @see com.att.env.Objectifier#objectify(com.att.env.Env, java.lang.String) +// */ +// public Byte objectify(Env env, String input) throws APIException { +// try { +// return new Byte(input); +// } catch (Exception e) { +// APIException ae = new APIException("Cannot create a \"Byte\" from [" + input + ']'); +// ae.initCause(e); +// throw ae; +// } +// } // -// /* (non-Javadoc) -// * @see com.att.env.Objectifier#newObject() -// */ -// public Byte newInstance() throws APIException { -// return 0; -// } -// } +// /* (non-Javadoc) +// * @see com.att.env.Objectifier#newObject() +// */ +// public Byte newInstance() throws APIException { +// return 0; +// } +// } // -// /** -// * CharacterStringifier -// * -// * Support the Native Character.. use Character parse functions -// * -// * @author Jonathan -// * -// */ -// public static class CharacterStringifier extends NullLifeCycle implements Stringifier { -// /* (non-Javadoc) -// * @see com.att.env.Stringifier#stringify(com.att.env.Env, java.lang.Object) -// */ -// public String stringify(Env env, Character input) throws APIException { -// return input.toString(); -// } -// } -// -// /** -// * CharacterObjectifier -// * -// * Support the Native Character.. use Character parse functions -// * -// * @author Jonathan -// * -// */ -// public static class CharacterObjectifier extends NullLifeCycle implements Objectifier { -// /* (non-Javadoc) -// * @see com.att.env.Objectifier#objectify(com.att.env.Env, java.lang.String) -// */ -// public Character objectify(Env env, String input) throws APIException { -// int length = input.length(); -// if(length<1 || length>1) { -// throw new APIException("String [" + input + "] does not represent a single Character"); -// } -// return input.charAt(0); -// } +// /** +// * CharacterStringifier +// * +// * Support the Native Character.. use Character parse functions +// * +// * @author Jonathan +// * +// */ +// public static class CharacterStringifier extends NullLifeCycle implements Stringifier { +// /* (non-Javadoc) +// * @see com.att.env.Stringifier#stringify(com.att.env.Env, java.lang.Object) +// */ +// public String stringify(Env env, Character input) throws APIException { +// return input.toString(); +// } +// } +// +// /** +// * CharacterObjectifier +// * +// * Support the Native Character.. use Character parse functions +// * +// * @author Jonathan +// * +// */ +// public static class CharacterObjectifier extends NullLifeCycle implements Objectifier { +// /* (non-Javadoc) +// * @see com.att.env.Objectifier#objectify(com.att.env.Env, java.lang.String) +// */ +// public Character objectify(Env env, String input) throws APIException { +// int length = input.length(); +// if(length<1 || length>1) { +// throw new APIException("String [" + input + "] does not represent a single Character"); +// } +// return input.charAt(0); +// } // -// /* (non-Javadoc) -// * @see com.att.env.Objectifier#newObject() -// */ -// public Character newInstance() throws APIException { -// return 0; -// } -// } +// /* (non-Javadoc) +// * @see com.att.env.Objectifier#newObject() +// */ +// public Character newInstance() throws APIException { +// return 0; +// } +// } // -// /** -// * FloatStringifier -// * -// * Support the Native Float.. use Float parse functions -// * -// * @author Jonathan -// * -// */ -// public static class FloatStringifier extends NullLifeCycle implements Stringifier { -// /* (non-Javadoc) -// * @see com.att.env.Stringifier#stringify(com.att.env.Env, java.lang.Object) -// */ -// public String stringify(Env env, Float input) throws APIException { -// return input.toString(); -// } -// } -// -// /** -// * FloatObjectifier -// * -// * Support the Native Float.. use Float parse functions -// * -// * @author Jonathan -// * -// */ -// public static class FloatObjectifier extends NullLifeCycle implements Objectifier { -// /* (non-Javadoc) -// * @see com.att.env.Objectifier#objectify(com.att.env.Env, java.lang.String) -// */ -// public Float objectify(Env env, String input) throws APIException { -// try { -// return new Float(input); -// } catch (Exception e) { -// APIException ae = new APIException("Cannot create a \"Float\" from [" + input + ']'); -// ae.initCause(e); -// throw ae; -// } -// } +// /** +// * FloatStringifier +// * +// * Support the Native Float.. use Float parse functions +// * +// * @author Jonathan +// * +// */ +// public static class FloatStringifier extends NullLifeCycle implements Stringifier { +// /* (non-Javadoc) +// * @see com.att.env.Stringifier#stringify(com.att.env.Env, java.lang.Object) +// */ +// public String stringify(Env env, Float input) throws APIException { +// return input.toString(); +// } +// } +// +// /** +// * FloatObjectifier +// * +// * Support the Native Float.. use Float parse functions +// * +// * @author Jonathan +// * +// */ +// public static class FloatObjectifier extends NullLifeCycle implements Objectifier { +// /* (non-Javadoc) +// * @see com.att.env.Objectifier#objectify(com.att.env.Env, java.lang.String) +// */ +// public Float objectify(Env env, String input) throws APIException { +// try { +// return new Float(input); +// } catch (Exception e) { +// APIException ae = new APIException("Cannot create a \"Float\" from [" + input + ']'); +// ae.initCause(e); +// throw ae; +// } +// } // -// /* (non-Javadoc) -// * @see com.att.env.Objectifier#newObject() -// */ -// public Float newInstance() throws APIException { -// return 0.0f; -// } -// } +// /* (non-Javadoc) +// * @see com.att.env.Objectifier#newObject() +// */ +// public Float newInstance() throws APIException { +// return 0.0f; +// } +// } // -// /** -// * DoubleStringifier -// * -// * Support the Native Double.. use Double parse functions -// * -// * @author Jonathan -// * -// */ -// public static class DoubleStringifier extends NullLifeCycle implements Stringifier { -// /* (non-Javadoc) -// * @see com.att.env.Stringifier#stringify(com.att.env.Env, java.lang.Object) -// */ -// public String stringify(Env env, Double input) throws APIException { -// return input.toString(); -// } -// } -// -// /** -// * DoubleObjectifier -// * -// * Support the Native Double.. use Double parse functions -// * -// * @author Jonathan -// * -// */ -// public static class DoubleObjectifier extends NullLifeCycle implements Objectifier { -// /* (non-Javadoc) -// * @see com.att.env.Objectifier#objectify(com.att.env.Env, java.lang.String) -// */ -// public Double objectify(Env env, String input) throws APIException { -// try { -// return new Double(input); -// } catch (Exception e) { -// APIException ae = new APIException("Cannot create a \"Double\" from [" + input + ']'); -// ae.initCause(e); -// throw ae; -// } -// } +// /** +// * DoubleStringifier +// * +// * Support the Native Double.. use Double parse functions +// * +// * @author Jonathan +// * +// */ +// public static class DoubleStringifier extends NullLifeCycle implements Stringifier { +// /* (non-Javadoc) +// * @see com.att.env.Stringifier#stringify(com.att.env.Env, java.lang.Object) +// */ +// public String stringify(Env env, Double input) throws APIException { +// return input.toString(); +// } +// } +// +// /** +// * DoubleObjectifier +// * +// * Support the Native Double.. use Double parse functions +// * +// * @author Jonathan +// * +// */ +// public static class DoubleObjectifier extends NullLifeCycle implements Objectifier { +// /* (non-Javadoc) +// * @see com.att.env.Objectifier#objectify(com.att.env.Env, java.lang.String) +// */ +// public Double objectify(Env env, String input) throws APIException { +// try { +// return new Double(input); +// } catch (Exception e) { +// APIException ae = new APIException("Cannot create a \"Double\" from [" + input + ']'); +// ae.initCause(e); +// throw ae; +// } +// } // -// /* (non-Javadoc) -// * @see com.att.env.Objectifier#newObject() -// */ -// public Double newInstance() throws APIException { -// return 0.0; -// } -// } +// /* (non-Javadoc) +// * @see com.att.env.Objectifier#newObject() +// */ +// public Double newInstance() throws APIException { +// return 0.0; +// } +// } } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/Creatable.java b/misc/env/src/main/java/org/onap/aaf/misc/env/Creatable.java index 2423ed62..c64cfff2 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/Creatable.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/Creatable.java @@ -34,19 +34,19 @@ package org.onap.aaf.misc.env; * @param */ public interface Creatable { - /** - * Return the timestamp (Unix long) when this object was created.

- * This can be used to see if the object is out of date in certain - * circumstances, or perhaps has already been notified in others. - * - * @return long - */ - public abstract long created(); - - /** - * Allow LifeCycle aware process to signal this element as destroyed. - * - * @param env - */ - public abstract void destroy(Env env); + /** + * Return the timestamp (Unix long) when this object was created.

+ * This can be used to see if the object is out of date in certain + * circumstances, or perhaps has already been notified in others. + * + * @return long + */ + public abstract long created(); + + /** + * Allow LifeCycle aware process to signal this element as destroyed. + * + * @param env + */ + public abstract void destroy(Env env); } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/Data.java b/misc/env/src/main/java/org/onap/aaf/misc/env/Data.java index 155dfc71..4c64e5de 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/Data.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/Data.java @@ -42,7 +42,7 @@ import java.io.Writer; * the "options" available on several functions control the output of this particular call. When * blank, they will default to the DataFactory defaults. When present, they override this * particular call. - * The available options are "pretty" (for XML and JSON) and "fragment" (XML only concept), which drops + * The available options are "pretty" (for XML and JSON) and "fragment" (XML only concept), which drops * the "" header so you can create larger XML documents from the output. * * @author Jonathan @@ -50,64 +50,64 @@ import java.io.Writer; * @param */ public interface Data { - static enum TYPE {XML,JSON,JAXB,RAW,DEFAULT}; - // can & with 0xFFFF; -// public static final int XML = 0x1; -// public static final int JSON = 0x2; -// public static final int JAXB = 0x4; -// public static final int RAW = 0x1000; - - // can & with 0xF00000; - public static final int PRETTY = 0x100000; - public static final int FRAGMENT = 0x200000; + static enum TYPE {XML,JSON,JAXB,RAW,DEFAULT}; + // can & with 0xFFFF; +// public static final int XML = 0x1; +// public static final int JSON = 0x2; +// public static final int JAXB = 0x4; +// public static final int RAW = 0x1000; + + // can & with 0xF00000; + public static final int PRETTY = 0x100000; + public static final int FRAGMENT = 0x200000; - /** - * Respond with the String if it exists, or marshal the String and pass the result back. - * - * However, use the Env the Data Object was created with. - * - * @return String - * @throws APIException - */ - public String asString() throws APIException; + /** + * Respond with the String if it exists, or marshal the String and pass the result back. + * + * However, use the Env the Data Object was created with. + * + * @return String + * @throws APIException + */ + public String asString() throws APIException; - /** - * Respond with the Object of type {@literal } if it exists, or unmarshal from String - * and pass the result back.

- * - * However, use the Env the Data Object was created with. - * - * @return T - * @throws APIException - */ - public T asObject() throws APIException; + /** + * Respond with the Object of type {@literal } if it exists, or unmarshal from String + * and pass the result back.

+ * + * However, use the Env the Data Object was created with. + * + * @return T + * @throws APIException + */ + public T asObject() throws APIException; - /** - * Set a particular option on an existing Out - * - * if int is negative, it should remove the option - * @param option - */ - public Data option(int option); + /** + * Set a particular option on an existing Out + * + * if int is negative, it should remove the option + * @param option + */ + public Data option(int option); - public Data to(OutputStream os) throws APIException, IOException; - public Data to(Writer writer) throws APIException, IOException; - - public Data load(T t) throws APIException; - public Data load(String str) throws APIException; - public Data load(InputStream is) throws APIException; - public Data load(Reader rdr) throws APIException; - - public Data in(TYPE type); - public Data out(TYPE type); - /** - * Return the Class Type supported by this DataObject - * - * @return {@literal Class} - */ - public Class getTypeClass(); + public Data to(OutputStream os) throws APIException, IOException; + public Data to(Writer writer) throws APIException, IOException; + + public Data load(T t) throws APIException; + public Data load(String str) throws APIException; + public Data load(InputStream is) throws APIException; + public Data load(Reader rdr) throws APIException; + + public Data in(TYPE type); + public Data out(TYPE type); + /** + * Return the Class Type supported by this DataObject + * + * @return {@literal Class} + */ + public Class getTypeClass(); - public void direct(InputStream input, OutputStream output) throws APIException, IOException; + public void direct(InputStream input, OutputStream output) throws APIException, IOException; } \ No newline at end of file diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/DataFactory.java b/misc/env/src/main/java/org/onap/aaf/misc/env/DataFactory.java index a9595a55..6735e9a6 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/DataFactory.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/DataFactory.java @@ -23,8 +23,8 @@ package org.onap.aaf.misc.env; public interface DataFactory { - public abstract Data newData(); - public abstract Data newData(Env trans); // and Env or Trans object - public abstract Class getTypeClass(); + public abstract Data newData(); + public abstract Data newData(Env trans); // and Env or Trans object + public abstract Class getTypeClass(); } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/Decryptor.java b/misc/env/src/main/java/org/onap/aaf/misc/env/Decryptor.java index bc29c318..48d55e0a 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/Decryptor.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/Decryptor.java @@ -23,12 +23,12 @@ package org.onap.aaf.misc.env; public interface Decryptor { - public String decrypt(String tag); - - public static final Decryptor NULL = new Decryptor() { - @Override - public String decrypt(String tag) { - return tag; - } - }; + public String decrypt(String tag); + + public static final Decryptor NULL = new Decryptor() { + @Override + public String decrypt(String tag) { + return tag; + } + }; } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/Encryptor.java b/misc/env/src/main/java/org/onap/aaf/misc/env/Encryptor.java index ad7409d0..1925f65e 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/Encryptor.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/Encryptor.java @@ -23,12 +23,12 @@ package org.onap.aaf.misc.env; public interface Encryptor { - public String encrypt(String data); + public String encrypt(String data); - public static final Encryptor NULL = new Encryptor() { - @Override - public String encrypt(String data) { - return data; - } - }; + public static final Encryptor NULL = new Encryptor() { + @Override + public String encrypt(String data) { + return data; + } + }; } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/Env.java b/misc/env/src/main/java/org/onap/aaf/misc/env/Env.java index e4b6aaa2..f709a434 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/Env.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/Env.java @@ -46,91 +46,91 @@ package org.onap.aaf.misc.env; * */ public interface Env { - /** - * Very Severe Error may cause program to abort - */ - public LogTarget fatal(); - - /** - * Severe Error, but program might continue running - */ - public LogTarget error(); + /** + * Very Severe Error may cause program to abort + */ + public LogTarget fatal(); + + /** + * Severe Error, but program might continue running + */ + public LogTarget error(); - /** - * Required Audit statements - * @return - */ - public LogTarget audit(); + /** + * Required Audit statements + * @return + */ + public LogTarget audit(); - /** - * Initialization steps... Allows a Logger to separate startup info - * @return - */ - public LogTarget init(); + /** + * Initialization steps... Allows a Logger to separate startup info + * @return + */ + public LogTarget init(); - /** - * Potentially harmful situations - * @return - */ - public LogTarget warn(); - - /** - * Course Grained highlights of program progress - * @return - */ - public LogTarget info(); - - /** - * Fine-grained informational events useful for debugging - * @return - */ - public LogTarget debug(); - - /** - * Finest grained Informational events... more detailed than Debug - * @return - */ - public LogTarget trace(); + /** + * Potentially harmful situations + * @return + */ + public LogTarget warn(); + + /** + * Course Grained highlights of program progress + * @return + */ + public LogTarget info(); + + /** + * Fine-grained informational events useful for debugging + * @return + */ + public LogTarget debug(); + + /** + * Finest grained Informational events... more detailed than Debug + * @return + */ + public LogTarget trace(); - /** - * Basic and Common Audit info... - * - * Note Apps can define, but should use Integers after 0x1F. They can combine with "&" - */ - public static final int REMOTE = 0x01; - public static final int XML = 0x02; - public static final int JSON = 0x04; - public static final int SUB = 0x08; - public static final int CHECKPOINT = 0x10; - public static final int ALWAYS = 0x20; // Mark as a line to print, even in WARN+ mode + /** + * Basic and Common Audit info... + * + * Note Apps can define, but should use Integers after 0x1F. They can combine with "&" + */ + public static final int REMOTE = 0x01; + public static final int XML = 0x02; + public static final int JSON = 0x04; + public static final int SUB = 0x08; + public static final int CHECKPOINT = 0x10; + public static final int ALWAYS = 0x20; // Mark as a line to print, even in WARN+ mode - - /** - * Start a Time Trail with differentiation by flag. This can be Defined By above flags or combined with - * app flag definitions - * - * @param string - * @param flag - * @return - */ - public TimeTaken start(String name, int flag); - - public String setProperty(String tag, String value); - public String getProperty(String tag); - public String getProperty(String tag, String deflt); - - /** - * Passwords should be encrypted on the disk. Use this method to apply decryption before - * using. The Implementation should give ways to decrypt - * - * @param tag - * @return - */ - public Decryptor decryptor(); - - public Encryptor encryptor(); + + /** + * Start a Time Trail with differentiation by flag. This can be Defined By above flags or combined with + * app flag definitions + * + * @param string + * @param flag + * @return + */ + public TimeTaken start(String name, int flag); + + public String setProperty(String tag, String value); + public String getProperty(String tag); + public String getProperty(String tag, String deflt); + + /** + * Passwords should be encrypted on the disk. Use this method to apply decryption before + * using. The Implementation should give ways to decrypt + * + * @param tag + * @return + */ + public Decryptor decryptor(); + + public Encryptor encryptor(); } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/EnvJAXB.java b/misc/env/src/main/java/org/onap/aaf/misc/env/EnvJAXB.java index a530073e..09db36f4 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/EnvJAXB.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/EnvJAXB.java @@ -25,28 +25,28 @@ import javax.xml.namespace.QName; import javax.xml.validation.Schema; public interface EnvJAXB extends EnvStore { - /** - * Obtain a DataInterface from this Environment - * - * @param - * @param classes - * @return - * @throws APIException - */ - public DataFactory newDataFactory(Class... classes) throws APIException; + /** + * Obtain a DataInterface from this Environment + * + * @param + * @param classes + * @return + * @throws APIException + */ + public DataFactory newDataFactory(Class... classes) throws APIException; - /** - * Obtain a DataInterface from this Environment, with Validating Schema - * - * @param - * @param classes - * @return - * @throws APIException - */ - public DataFactory newDataFactory(Schema schema, Class... classes) throws APIException; + /** + * Obtain a DataInterface from this Environment, with Validating Schema + * + * @param + * @param classes + * @return + * @throws APIException + */ + public DataFactory newDataFactory(Schema schema, Class... classes) throws APIException; - public DataFactory newDataFactory(QName qName, Class ... classes) throws APIException; + public DataFactory newDataFactory(QName qName, Class ... classes) throws APIException; - public DataFactory newDataFactory(Schema schema, QName qName, Class ... classes) throws APIException; - + public DataFactory newDataFactory(Schema schema, QName qName, Class ... classes) throws APIException; + } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/EnvProps.java b/misc/env/src/main/java/org/onap/aaf/misc/env/EnvProps.java index 0e645da2..b2cebb55 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/EnvProps.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/EnvProps.java @@ -24,57 +24,57 @@ package org.onap.aaf.misc.env; import java.util.Map; public interface EnvProps extends Env { - public interface EnvProperty { - public String getProperty(String input); - }; + public interface EnvProperty { + public String getProperty(String input); + }; - /** - * Obtain a Property (String) based on a Key. Implementor decides how - * that works, i.e. from a complex set of Configurations, or just - * "System" (Java standard) - * - * @param key - * @return APIException - */ - public String getProperty(String key); + /** + * Obtain a Property (String) based on a Key. Implementor decides how + * that works, i.e. from a complex set of Configurations, or just + * "System" (Java standard) + * + * @param key + * @return APIException + */ + public String getProperty(String key); - /** - * Obtain a Property (String) based on a Key. Implementor decides how - * that works, i.e. from a complex set of Configurations, or just - * "System" (Java standard) - * - * If Property Value is null, then default will be used. - * @param key - * @return APIException - */ - public String getProperty(String tag, String defaultValue); + /** + * Obtain a Property (String) based on a Key. Implementor decides how + * that works, i.e. from a complex set of Configurations, or just + * "System" (Java standard) + * + * If Property Value is null, then default will be used. + * @param key + * @return APIException + */ + public String getProperty(String tag, String defaultValue); - /** - * Set a Property (String) based on a Key accessible to all in Env. Implementor decides how - * that works, i.e. from a complex set of Configurations, or just - * "System" (Java standard) - * - * @param key - * @return APIException - */ - public String setProperty(String key, String value); - - /** - * Get the SubProperties based on key. - * - * use "false" to remove prefix, "true" to leave prefix in. - * - * @param key - * @return APIException - * Given a known property set (or in this case, properties starting with key), - * return map of all properties with appropriate key names - */ - public Map getSubProperties(String key, boolean includePrefix); + /** + * Set a Property (String) based on a Key accessible to all in Env. Implementor decides how + * that works, i.e. from a complex set of Configurations, or just + * "System" (Java standard) + * + * @param key + * @return APIException + */ + public String setProperty(String key, String value); + + /** + * Get the SubProperties based on key. + * + * use "false" to remove prefix, "true" to leave prefix in. + * + * @param key + * @return APIException + * Given a known property set (or in this case, properties starting with key), + * return map of all properties with appropriate key names + */ + public Map getSubProperties(String key, boolean includePrefix); - /** - * Get all of the properties in the Environment - * @return - */ - public Map getProperties(); + /** + * Get all of the properties in the Environment + * @return + */ + public Map getProperties(); } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/IOObjectifier.java b/misc/env/src/main/java/org/onap/aaf/misc/env/IOObjectifier.java index e3e74305..70b4adde 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/IOObjectifier.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/IOObjectifier.java @@ -25,30 +25,30 @@ import java.io.InputStream; import java.io.Reader; public interface IOObjectifier extends Objectifier { - /** - * Marshal to Object T from a Reader, using contents from Env as necessary.

- * - * Implementations should use the {@link Env} to call "env.startXMLTime()" to mark - * XML time, since this is often a costly process. - * - * @param env - * @param input - * @return T - * @throws APIException - */ - public abstract T objectify(Env env, Reader rdr) throws APIException; - - /** - * Marshal to Object T from an InputStream, using contents from Env as necessary.

- * - * Implementations should use the {@link Env} to call "env.startXMLTime()" to mark - * XML time, since this is often a costly process. - * - * @param env - * @param input - * @return T - * @throws APIException - */ - public abstract T objectify(Env env, InputStream is) throws APIException; + /** + * Marshal to Object T from a Reader, using contents from Env as necessary.

+ * + * Implementations should use the {@link Env} to call "env.startXMLTime()" to mark + * XML time, since this is often a costly process. + * + * @param env + * @param input + * @return T + * @throws APIException + */ + public abstract T objectify(Env env, Reader rdr) throws APIException; + + /** + * Marshal to Object T from an InputStream, using contents from Env as necessary.

+ * + * Implementations should use the {@link Env} to call "env.startXMLTime()" to mark + * XML time, since this is often a costly process. + * + * @param env + * @param input + * @return T + * @throws APIException + */ + public abstract T objectify(Env env, InputStream is) throws APIException; } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/IOStringifier.java b/misc/env/src/main/java/org/onap/aaf/misc/env/IOStringifier.java index 57d85472..4329fcbc 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/IOStringifier.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/IOStringifier.java @@ -28,47 +28,47 @@ import java.io.Writer; * Allow Extended IO interface usage without muddying up the Stringifier Interface */ public interface IOStringifier extends Stringifier { - /** - * Marshal from an Object T onto a Writer, using contents from Env as necessary.

- * - * Implementations should use the {@link Env} to call "env.startTime(, Env.XML)" to mark - * XML time, since this is often a costly process. - * - * @param env - * @param input - * @return String - * @throws APIException - */ - public abstract void stringify(Env env, T input, Writer writer, boolean ... options) throws APIException; - - /** - * Marshal from a String to an Object T, using contents from Env as necessary.

- * - * Implementations should use the {@link Env} to call "env.startXMLTime()" to mark - * XML time, since this is often a costly process. - * - * @param env - * @param input - * @return String - * @throws APIException - */ - public abstract void stringify(Env env, T input, OutputStream os, boolean ... options) throws APIException; + /** + * Marshal from an Object T onto a Writer, using contents from Env as necessary.

+ * + * Implementations should use the {@link Env} to call "env.startTime(, Env.XML)" to mark + * XML time, since this is often a costly process. + * + * @param env + * @param input + * @return String + * @throws APIException + */ + public abstract void stringify(Env env, T input, Writer writer, boolean ... options) throws APIException; + + /** + * Marshal from a String to an Object T, using contents from Env as necessary.

+ * + * Implementations should use the {@link Env} to call "env.startXMLTime()" to mark + * XML time, since this is often a costly process. + * + * @param env + * @param input + * @return String + * @throws APIException + */ + public abstract void stringify(Env env, T input, OutputStream os, boolean ... options) throws APIException; - /** - * Set Pretty XML, where possible - * - * @param pretty - * @throws APIException - */ - public abstract IOStringifier pretty(boolean pretty); + /** + * Set Pretty XML, where possible + * + * @param pretty + * @throws APIException + */ + public abstract IOStringifier pretty(boolean pretty); - /** - * Set Generate Fragment - * - * @param fragment - * @throws APIException - */ - public abstract IOStringifier asFragment(boolean fragment); + /** + * Set Generate Fragment + * + * @param fragment + * @throws APIException + */ + public abstract IOStringifier asFragment(boolean fragment); } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/LifeCycle.java b/misc/env/src/main/java/org/onap/aaf/misc/env/LifeCycle.java index 5124f6b5..75f3b701 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/LifeCycle.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/LifeCycle.java @@ -43,81 +43,81 @@ import org.onap.aaf.misc.env.util.RefreshableThreadObject; * */ public interface LifeCycle { - /** - * The Service using LifeCycle Elements is required to call this method at - * the appropriate startup time. This is better for services than a simple - * static call, because the exact moment of starting can be determined - * programatically. - *

- * - * An excellent use is to establish security credentials with a backend - * after appropriate configurations have been read and available as part of - * the {@link Env} Object. - * - * @param env - * @throws APIException - */ - public abstract void servicePrestart(Env env) throws APIException; + /** + * The Service using LifeCycle Elements is required to call this method at + * the appropriate startup time. This is better for services than a simple + * static call, because the exact moment of starting can be determined + * programatically. + *

+ * + * An excellent use is to establish security credentials with a backend + * after appropriate configurations have been read and available as part of + * the {@link Env} Object. + * + * @param env + * @throws APIException + */ + public abstract void servicePrestart(Env env) throws APIException; - /** - * Many cases of implementations are not thread safe, and mechanisms must be - * derived to accomodate them by holding per Thread. - *

- * - * {@link ThreadLocal} is a valuable resource, but start up times within the - * thread, depending on what it is, can be substantial. - *

- * - * Use ThreadPrestart to do all that is possible before actually performing - * work, i.e. inside of a client transaction. - * - * @param env - * @throws APIException - */ - public abstract void threadPrestart(Env env) throws APIException; + /** + * Many cases of implementations are not thread safe, and mechanisms must be + * derived to accomodate them by holding per Thread. + *

+ * + * {@link ThreadLocal} is a valuable resource, but start up times within the + * thread, depending on what it is, can be substantial. + *

+ * + * Use ThreadPrestart to do all that is possible before actually performing + * work, i.e. inside of a client transaction. + * + * @param env + * @throws APIException + */ + public abstract void threadPrestart(Env env) throws APIException; - /** - * The Service will call this when (service-defined) configurations change. - *

- * - * This mechanism allows the Service to recognize events, such as file - * changes, and pass on the event to all LifeCycle implementors. - *

- * - * The code should take the opportunity to evaluate configuration and change - * as necessary. - *

- * - *

IMPORTANT:

- * The LifeCycle implementor cannot guarantee it will not be in the middle - * of a transaction, so it would behoove the implementor to construct - * content that does not affect anything until finished, then apply to an - * appropriate atomic action (i.e. setting an Object to a field), or even - * synchronizing. - * - * If you are using Java's "ThreadLocal", consider - * {@link RefreshableThreadObject}, because it implements LifeCycle, and - * responds to the refresh command. - * - * @param env - * @throws APIException - */ - public abstract void refresh(Env env) throws APIException; + /** + * The Service will call this when (service-defined) configurations change. + *

+ * + * This mechanism allows the Service to recognize events, such as file + * changes, and pass on the event to all LifeCycle implementors. + *

+ * + * The code should take the opportunity to evaluate configuration and change + * as necessary. + *

+ * + *

IMPORTANT:

+ * The LifeCycle implementor cannot guarantee it will not be in the middle + * of a transaction, so it would behoove the implementor to construct + * content that does not affect anything until finished, then apply to an + * appropriate atomic action (i.e. setting an Object to a field), or even + * synchronizing. + * + * If you are using Java's "ThreadLocal", consider + * {@link RefreshableThreadObject}, because it implements LifeCycle, and + * responds to the refresh command. + * + * @param env + * @throws APIException + */ + public abstract void refresh(Env env) throws APIException; - /** - * Parallel to threadPrestart, threadDestroy tells the implementor that the - * service is ending this particular thread, and to take this opportunity to - * close out any content specific to this thread that can be closed. - * - * @param env - * @throws APIException - */ - public abstract void threadDestroy(Env env) throws APIException; + /** + * Parallel to threadPrestart, threadDestroy tells the implementor that the + * service is ending this particular thread, and to take this opportunity to + * close out any content specific to this thread that can be closed. + * + * @param env + * @throws APIException + */ + public abstract void threadDestroy(Env env) throws APIException; - /** - * Parallel to servicePrestart, serviceDestroy tells the implementor that - * the service is ending, and to take this opportunity to close out any - * content under it's control that can or should be closed explicitly. - */ - public abstract void serviceDestroy(Env env) throws APIException; + /** + * Parallel to servicePrestart, serviceDestroy tells the implementor that + * the service is ending, and to take this opportunity to close out any + * content under it's control that can or should be closed explicitly. + */ + public abstract void serviceDestroy(Env env) throws APIException; } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/LogTarget.java b/misc/env/src/main/java/org/onap/aaf/misc/env/LogTarget.java index 8915becf..aa74edc9 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/LogTarget.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/LogTarget.java @@ -32,7 +32,7 @@ import org.onap.aaf.misc.env.util.Chrono; * Implement for any Logging Library of your choice, and for any logging string Format desired. * * Included are several Static Implementations for various uses: - * NULL: Does nothing with Logging Messages + * NULL: Does nothing with Logging Messages * SYSOUT: Writes messages in general form to System Out * SYSERR: Writes messages in general form to System Err * @@ -40,103 +40,103 @@ import org.onap.aaf.misc.env.util.Chrono; * */ public interface LogTarget { - public abstract void log(Object... msgs); - public abstract void log(Throwable e, Object ... msgs); - public abstract boolean isLoggable(); - public abstract void printf(String fmt, Object ... vars); - - // A Convenient LogTarget to insert when a NO-OP is desired. - public static final LogTarget NULL = new LogTarget() { - public void log(Object ... msgs) { - } - - public void log(Throwable t, Object ... msgs) { - } - - public boolean isLoggable() { - return false; - } - - @Override - public void printf(String fmt, Object ... vars) { - } - }; - - // A Convenient LogTarget to write to the Console - public static final LogTarget SYSOUT = new LogTarget() { - public void log(Object ... msgs) { - PrintStream out = System.out; - out.print(org.onap.aaf.misc.env.util.Chrono.dateFmt.format(new Date())); - out.print(": "); - for(Object str : msgs) { - if(str!=null) { - out.print(str.toString()); - out.print(' '); - } else { - out.print("null "); - } - } - out.println(); - } - - public void log(Throwable t, Object ... msgs) { - PrintStream out = System.out; - out.print(Chrono.dateFmt.format(new Date())); - out.print(": "); - for(Object str : msgs) { - out.print(str.toString()); - out.print(' '); - } - out.println(); - t.printStackTrace(out); - out.println(); - } - - public boolean isLoggable() { - return true; - } - - @Override - public void printf(String fmt, Object ... vars) { - log(String.format(fmt,vars)); - } - }; - - // A Convenient LogTarget to write to the Console - public static final LogTarget SYSERR = new LogTarget() { - public void log(Object ... msgs) { - PrintStream out = System.err; - out.print(Chrono.dateFmt.format(new Date())); - out.print(": "); - for(Object str : msgs) { - out.print(str.toString()); - out.print(' '); - } - out.println(); - out.flush(); - } - - public void log(Throwable t, Object ... msgs) { - PrintStream out = System.err; - out.print(Chrono.dateFmt.format(new Date())); - out.print(": "); - for(Object str : msgs) { - out.print(str.toString()); - out.print(' '); - } - out.println(); - t.printStackTrace(out); - } - - public boolean isLoggable() { - return true; - } - @Override - public void printf(String fmt, Object ... vars) { - log(String.format(fmt,vars)); - } - - }; + public abstract void log(Object... msgs); + public abstract void log(Throwable e, Object ... msgs); + public abstract boolean isLoggable(); + public abstract void printf(String fmt, Object ... vars); + + // A Convenient LogTarget to insert when a NO-OP is desired. + public static final LogTarget NULL = new LogTarget() { + public void log(Object ... msgs) { + } + + public void log(Throwable t, Object ... msgs) { + } + + public boolean isLoggable() { + return false; + } + + @Override + public void printf(String fmt, Object ... vars) { + } + }; + + // A Convenient LogTarget to write to the Console + public static final LogTarget SYSOUT = new LogTarget() { + public void log(Object ... msgs) { + PrintStream out = System.out; + out.print(org.onap.aaf.misc.env.util.Chrono.dateFmt.format(new Date())); + out.print(": "); + for(Object str : msgs) { + if(str!=null) { + out.print(str.toString()); + out.print(' '); + } else { + out.print("null "); + } + } + out.println(); + } + + public void log(Throwable t, Object ... msgs) { + PrintStream out = System.out; + out.print(Chrono.dateFmt.format(new Date())); + out.print(": "); + for(Object str : msgs) { + out.print(str.toString()); + out.print(' '); + } + out.println(); + t.printStackTrace(out); + out.println(); + } + + public boolean isLoggable() { + return true; + } + + @Override + public void printf(String fmt, Object ... vars) { + log(String.format(fmt,vars)); + } + }; + + // A Convenient LogTarget to write to the Console + public static final LogTarget SYSERR = new LogTarget() { + public void log(Object ... msgs) { + PrintStream out = System.err; + out.print(Chrono.dateFmt.format(new Date())); + out.print(": "); + for(Object str : msgs) { + out.print(str.toString()); + out.print(' '); + } + out.println(); + out.flush(); + } + + public void log(Throwable t, Object ... msgs) { + PrintStream out = System.err; + out.print(Chrono.dateFmt.format(new Date())); + out.print(": "); + for(Object str : msgs) { + out.print(str.toString()); + out.print(' '); + } + out.println(); + t.printStackTrace(out); + } + + public boolean isLoggable() { + return true; + } + @Override + public void printf(String fmt, Object ... vars) { + log(String.format(fmt,vars)); + } + + }; }; \ No newline at end of file diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/Objectifier.java b/misc/env/src/main/java/org/onap/aaf/misc/env/Objectifier.java index 039855e1..30c9c1da 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/Objectifier.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/Objectifier.java @@ -32,26 +32,26 @@ package org.onap.aaf.misc.env; * the creation of an uninitialized object. */ public interface Objectifier extends LifeCycle { - /** - * Marshal to Object T from a String, using contents from Env as necessary.

- * - * Implementations should use the {@link Env} to call "env.startXMLTime()" to mark - * XML time, since this is often a costly process. - * - * @param env - * @param input - * @return T - * @throws APIException - */ - public abstract T objectify(Env env, String input) throws APIException; + /** + * Marshal to Object T from a String, using contents from Env as necessary.

+ * + * Implementations should use the {@link Env} to call "env.startXMLTime()" to mark + * XML time, since this is often a costly process. + * + * @param env + * @param input + * @return T + * @throws APIException + */ + public abstract T objectify(Env env, String input) throws APIException; - /** - * Create a new object of type T. This is often more efficiently done with - * the underlying XML (or other) Library. - * @return T - * @throws APIException - */ - public abstract T newInstance() throws APIException; + /** + * Create a new object of type T. This is often more efficiently done with + * the underlying XML (or other) Library. + * @return T + * @throws APIException + */ + public abstract T newInstance() throws APIException; - + } \ No newline at end of file diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/Slot.java b/misc/env/src/main/java/org/onap/aaf/misc/env/Slot.java index f79d12d4..33a65752 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/Slot.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/Slot.java @@ -40,63 +40,63 @@ package org.onap.aaf.misc.env; * Slot's are used to store and retrieve data in the transaction's State object. */ public final class Slot { - - /* - * The name of the Slot. - */ - private final String key; - - /* - * The index of the State's local map associated with this Slot. - */ - final int slot; - - /** - * Constructs a new Slot. - * - * @param index - * The index of State's local map this Slot is associated with. - * @param name - * The name of the Slot's key. - */ - Slot(int index, String name) { - slot = index; - key = name; - } - - /** - * Debug method only to print key=slot pairs. - */ - public String toString() { - return key + '=' + slot; - } - - /** - * Returns the name of this Slot's key. - * - * @return - * The name of this Slot's key. - */ - public String getKey() { - return key; - } - - /** - * Put an Object into the slot on the State - * @param state - * @param obj - */ - public void put(Object[] state, Object obj) { - state[slot]=obj; - } + + /* + * The name of the Slot. + */ + private final String key; + + /* + * The index of the State's local map associated with this Slot. + */ + final int slot; + + /** + * Constructs a new Slot. + * + * @param index + * The index of State's local map this Slot is associated with. + * @param name + * The name of the Slot's key. + */ + Slot(int index, String name) { + slot = index; + key = name; + } + + /** + * Debug method only to print key=slot pairs. + */ + public String toString() { + return key + '=' + slot; + } + + /** + * Returns the name of this Slot's key. + * + * @return + * The name of this Slot's key. + */ + public String getKey() { + return key; + } + + /** + * Put an Object into the slot on the State + * @param state + * @param obj + */ + public void put(Object[] state, Object obj) { + state[slot]=obj; + } - /** - * Get an Object from the slot on the State - * @param state - * @param obj - */ - public Object get(Object[] state) { - return state[slot]; - } + /** + * Get an Object from the slot on the State + * @param state + * @param obj + */ + public Object get(Object[] state) { + return state[slot]; + } } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/StaticSlot.java b/misc/env/src/main/java/org/onap/aaf/misc/env/StaticSlot.java index 35bad1ba..0bff6a06 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/StaticSlot.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/StaticSlot.java @@ -41,45 +41,45 @@ package org.onap.aaf.misc.env; */ public final class StaticSlot { - /* - * The name of the StaticSlot. - */ - private final String key; - - /* - * The index of the Organizer's static map associated with this StaticSlot. - */ - final int slot; - - /** - * Constructs a new StaticSlot. - * - * @param index - * The index of Organizer's static map this StaticSlot is associated with. - * @param name - * The name of the StaticSlot's key. - */ - StaticSlot(int index, String name) { - slot = index; - key = name; - } - - /** - * Debug method only to print key=slot pairs. - */ - public String toString() { - return key + '=' + slot; - } - - /** - * Returns the name of this StaticSlot's key. - * - * @return - * The name of this StaticSlot's key. - */ - public String getKey() { - return key; - } + /* + * The name of the StaticSlot. + */ + private final String key; + + /* + * The index of the Organizer's static map associated with this StaticSlot. + */ + final int slot; + + /** + * Constructs a new StaticSlot. + * + * @param index + * The index of Organizer's static map this StaticSlot is associated with. + * @param name + * The name of the StaticSlot's key. + */ + StaticSlot(int index, String name) { + slot = index; + key = name; + } + + /** + * Debug method only to print key=slot pairs. + */ + public String toString() { + return key + '=' + slot; + } + + /** + * Returns the name of this StaticSlot's key. + * + * @return + * The name of this StaticSlot's key. + */ + public String getKey() { + return key; + } } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/Store.java b/misc/env/src/main/java/org/onap/aaf/misc/env/Store.java index 43f5f521..8c810783 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/Store.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/Store.java @@ -24,85 +24,85 @@ package org.onap.aaf.misc.env; import java.util.List; public interface Store { - /** - * Returns the Slot assigned to the supplied name. - * - * @param name - * The name of the Slot to acquire. - * @return - * The Slot associated with the supplied name. - */ - public abstract Slot slot(String name); + /** + * Returns the Slot assigned to the supplied name. + * + * @param name + * The name of the Slot to acquire. + * @return + * The Slot associated with the supplied name. + */ + public abstract Slot slot(String name); - /** - * Returns the existing Slot associated with the supplied name, or null if it doesn't exist. - * - * @param name - * The name of the Slot to get. - * @return - * The Slot assigned to the supplied name, or null if it doesn't exist. - * - */ - public abstract Slot existingSlot(String name); + /** + * Returns the existing Slot associated with the supplied name, or null if it doesn't exist. + * + * @param name + * The name of the Slot to get. + * @return + * The Slot assigned to the supplied name, or null if it doesn't exist. + * + */ + public abstract Slot existingSlot(String name); - /** - * Returns the names used while creating Slots in a List - * - * @return - */ - public abstract List existingSlotNames(); + /** + * Returns the names used while creating Slots in a List + * + * @return + */ + public abstract List existingSlotNames(); - /** - * Returns the StaticSlot assigned to the supplied name. - * - * @param name - * The name of the StaticSlot to acquire. - * @return - * The StaticSlot associated with the supplied name. - */ - public abstract StaticSlot staticSlot(String name); + /** + * Returns the StaticSlot assigned to the supplied name. + * + * @param name + * The name of the StaticSlot to acquire. + * @return + * The StaticSlot associated with the supplied name. + */ + public abstract StaticSlot staticSlot(String name); - /** - * Returns the names used while creating Static Slots in a List - * - * @return - */ - public abstract List existingStaticSlotNames(); - - /** - * Store the supplied value in the StaticSlot of the Organizer's static state. - * - * @param slot - * The StaticSlot used to store the object. - * @param value - * The object to store. - */ - public abstract void put(StaticSlot slot, Object value); + /** + * Returns the names used while creating Static Slots in a List + * + * @return + */ + public abstract List existingStaticSlotNames(); + + /** + * Store the supplied value in the StaticSlot of the Organizer's static state. + * + * @param slot + * The StaticSlot used to store the object. + * @param value + * The object to store. + */ + public abstract void put(StaticSlot slot, Object value); - /** - * Returns an Object from the Organizer's static state, or the Default if null - * - * @param slot - * The StaticSlot to retrieve the data from. - * @return - * The Object located in the supplied StaticSlot of the Organizer's static state. - */ - public abstract T get(StaticSlot slot, T dflt); + /** + * Returns an Object from the Organizer's static state, or the Default if null + * + * @param slot + * The StaticSlot to retrieve the data from. + * @return + * The Object located in the supplied StaticSlot of the Organizer's static state. + */ + public abstract T get(StaticSlot slot, T dflt); - /** - * Returns an Object from the Organizer's static state - * - * @param slot - * The StaticSlot to retrieve the data from. - * @return - * The Object located in the supplied StaticSlot of the Organizer's static state. - */ - public abstract T get(StaticSlot slot); + /** + * Returns an Object from the Organizer's static state + * + * @param slot + * The StaticSlot to retrieve the data from. + * @return + * The Object located in the supplied StaticSlot of the Organizer's static state. + */ + public abstract T get(StaticSlot slot); -// /** -// * Transfer (targeted) Args to Slots -// * -// * Transfer Strings with format "tag=value" into Static Slots -// */ -// public abstract void transfer(String args[], String ... tagss); +// /** +// * Transfer (targeted) Args to Slots +// * +// * Transfer Strings with format "tag=value" into Static Slots +// */ +// public abstract void transfer(String args[], String ... tagss); } \ No newline at end of file diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/StoreImpl.java b/misc/env/src/main/java/org/onap/aaf/misc/env/StoreImpl.java index 685bfb6e..b8a8e03a 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/StoreImpl.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/StoreImpl.java @@ -36,205 +36,205 @@ import java.util.Properties; public class StoreImpl implements Store { - /* - * The re-adjustment factor for growing the Static State array. - */ - private static final int growSize = 10; - - /* - * The index reference for Slot assignment. - */ - private int local; - - /* - * The index reference for StaticSlot assignment. - */ - private int stat; - - /* - * The name/slot map for local (transaction specific) State. - */ - private HashMap localMap; - - /* - * The name/slot map for Static State. - */ - private HashMap staticMap; - - private Object[] staticState; - - public StoreImpl() { - staticState = new Object[growSize]; - staticMap = new HashMap<>(); - localMap = new HashMap<>(); - } - - public StoreImpl(String tag) { - staticState = new Object[growSize]; - staticMap = new HashMap<>(); - localMap = new HashMap<>(); - } - - - public StoreImpl(String tag, String[] args) { - staticState = new Object[growSize]; - staticMap = new HashMap<>(); - localMap = new HashMap<>(); - - if(tag!=null) { - String tequals = tag + '='; - for(String arg : args) { - if(arg.startsWith(tequals) && !arg.equals(tequals)) { // needs to have something after = - Properties props = new Properties(); - for(String f : Split.split(File.pathSeparatorChar,arg.substring(tequals.length()))) { - moreProps(new File(f),props); - } - for(Entry es : props.entrySet()) { - put(staticSlot(es.getKey().toString()),es.getValue()); - } - } - } - } - - // Make sure properties on command line override those in Props - propsFromArgs(tag,args); - } - - public StoreImpl(String tag, Properties props) { - staticState = new Object[growSize]; - staticMap = new HashMap<>(); - localMap = new HashMap<>(); - - if(tag!=null) { - String fname = props.getProperty(tag); - if(fname!=null) { - for(String f : Split.split(File.pathSeparatorChar,fname)) { - if(!moreProps(new File(f),props)) { - System.err.println("Unable to load Properties from " + f); - } - } - } - } - - for(Entry es : props.entrySet()) { - put(staticSlot(es.getKey().toString()),es.getValue()); - } - } - - public void propsFromArgs(String tag, String[] args) { - if(tag!=null) { - for(String arg : args) { - String sarg[] = Split.split('=',arg); - if(sarg.length==2) { - if(tag.equals(sarg[0])) { - for(String fname : Split.split(File.pathSeparatorChar,sarg[1])) { - moreProps(new File(fname),null /* no target */); - } - } - put(staticSlot(sarg[0]),sarg[1]); - } - } - } - } - - private boolean moreProps(File f, Properties target) { - if(f.exists()) { - Properties props = new Properties(); - try { - FileInputStream fis = new FileInputStream(f); - try { - props.load(fis); - if(target!=null) { - target.load(fis); - } - } finally { - fis.close(); - } - } catch(IOException e) { - System.err.println(e); - } - for(Entry es : props.entrySet()) { - put(staticSlot(es.getKey().toString()),es.getValue()); - } - return true; - } else { - return false; - } - } - - public Object[] newTransState() { - return new Object[local]; - } - - /* (non-Javadoc) - * @see com.att.env.Store#slot(java.lang.String) - */ - public synchronized Slot slot(String name) { - name = name == null ? "" : name.trim(); - Slot slot = localMap.get(name); - if (slot == null) { - slot = new Slot(local++, name); - localMap.put(name, slot); - } - return slot; - } - - - /* (non-Javadoc) - * @see com.att.env.Store#existingSlot(java.lang.String) - */ - public Slot existingSlot(String name) { - return localMap.get(name); - } - - /* (non-Javadoc) - * @see com.att.env.Store#existingSlotNames() - */ - public List existingSlotNames() { - return new ArrayList<>(localMap.keySet()); - } - - /* (non-Javadoc) - * @see com.att.env.Store#staticSlot(java.lang.String) - */ - public synchronized StaticSlot staticSlot(String name) { - name = name == null ? "" : name.trim(); - StaticSlot slot = staticMap.get(name); - if (slot == null) { - if (stat%growSize == 0) { - Object[] temp = staticState; - staticState = new Object[temp.length+growSize]; - System.arraycopy(temp, 0, staticState, 0, temp.length); - } - slot = new StaticSlot(stat++, name); - staticMap.put(name, slot); - } - return slot; - } - - /* (non-Javadoc) - * @see com.att.env.Store#put(com.att.env.StaticSlot, java.lang.Object) - */ - public void put(StaticSlot slot, Object value) { - staticState[slot.slot] = value; - } - - /* (non-Javadoc) - * @see com.att.env.Store#get(com.att.env.StaticSlot T defaultObject) - */ - @SuppressWarnings("unchecked") - public T get(StaticSlot sslot,T dflt) { - T t = (T)staticState[sslot.slot]; - return t==null?dflt:t; - } - - @SuppressWarnings("unchecked") - public T get(StaticSlot sslot) { - return (T)staticState[sslot.slot]; - } - - public List existingStaticSlotNames() { - return new ArrayList<>(staticMap.keySet()); - } + /* + * The re-adjustment factor for growing the Static State array. + */ + private static final int growSize = 10; + + /* + * The index reference for Slot assignment. + */ + private int local; + + /* + * The index reference for StaticSlot assignment. + */ + private int stat; + + /* + * The name/slot map for local (transaction specific) State. + */ + private HashMap localMap; + + /* + * The name/slot map for Static State. + */ + private HashMap staticMap; + + private Object[] staticState; + + public StoreImpl() { + staticState = new Object[growSize]; + staticMap = new HashMap<>(); + localMap = new HashMap<>(); + } + + public StoreImpl(String tag) { + staticState = new Object[growSize]; + staticMap = new HashMap<>(); + localMap = new HashMap<>(); + } + + + public StoreImpl(String tag, String[] args) { + staticState = new Object[growSize]; + staticMap = new HashMap<>(); + localMap = new HashMap<>(); + + if(tag!=null) { + String tequals = tag + '='; + for(String arg : args) { + if(arg.startsWith(tequals) && !arg.equals(tequals)) { // needs to have something after = + Properties props = new Properties(); + for(String f : Split.split(File.pathSeparatorChar,arg.substring(tequals.length()))) { + moreProps(new File(f),props); + } + for(Entry es : props.entrySet()) { + put(staticSlot(es.getKey().toString()),es.getValue()); + } + } + } + } + + // Make sure properties on command line override those in Props + propsFromArgs(tag,args); + } + + public StoreImpl(String tag, Properties props) { + staticState = new Object[growSize]; + staticMap = new HashMap<>(); + localMap = new HashMap<>(); + + if(tag!=null) { + String fname = props.getProperty(tag); + if(fname!=null) { + for(String f : Split.split(File.pathSeparatorChar,fname)) { + if(!moreProps(new File(f),props)) { + System.err.println("Unable to load Properties from " + f); + } + } + } + } + + for(Entry es : props.entrySet()) { + put(staticSlot(es.getKey().toString()),es.getValue()); + } + } + + public void propsFromArgs(String tag, String[] args) { + if(tag!=null) { + for(String arg : args) { + String sarg[] = Split.split('=',arg); + if(sarg.length==2) { + if(tag.equals(sarg[0])) { + for(String fname : Split.split(File.pathSeparatorChar,sarg[1])) { + moreProps(new File(fname),null /* no target */); + } + } + put(staticSlot(sarg[0]),sarg[1]); + } + } + } + } + + private boolean moreProps(File f, Properties target) { + if(f.exists()) { + Properties props = new Properties(); + try { + FileInputStream fis = new FileInputStream(f); + try { + props.load(fis); + if(target!=null) { + target.load(fis); + } + } finally { + fis.close(); + } + } catch(IOException e) { + System.err.println(e); + } + for(Entry es : props.entrySet()) { + put(staticSlot(es.getKey().toString()),es.getValue()); + } + return true; + } else { + return false; + } + } + + public Object[] newTransState() { + return new Object[local]; + } + + /* (non-Javadoc) + * @see com.att.env.Store#slot(java.lang.String) + */ + public synchronized Slot slot(String name) { + name = name == null ? "" : name.trim(); + Slot slot = localMap.get(name); + if (slot == null) { + slot = new Slot(local++, name); + localMap.put(name, slot); + } + return slot; + } + + + /* (non-Javadoc) + * @see com.att.env.Store#existingSlot(java.lang.String) + */ + public Slot existingSlot(String name) { + return localMap.get(name); + } + + /* (non-Javadoc) + * @see com.att.env.Store#existingSlotNames() + */ + public List existingSlotNames() { + return new ArrayList<>(localMap.keySet()); + } + + /* (non-Javadoc) + * @see com.att.env.Store#staticSlot(java.lang.String) + */ + public synchronized StaticSlot staticSlot(String name) { + name = name == null ? "" : name.trim(); + StaticSlot slot = staticMap.get(name); + if (slot == null) { + if (stat%growSize == 0) { + Object[] temp = staticState; + staticState = new Object[temp.length+growSize]; + System.arraycopy(temp, 0, staticState, 0, temp.length); + } + slot = new StaticSlot(stat++, name); + staticMap.put(name, slot); + } + return slot; + } + + /* (non-Javadoc) + * @see com.att.env.Store#put(com.att.env.StaticSlot, java.lang.Object) + */ + public void put(StaticSlot slot, Object value) { + staticState[slot.slot] = value; + } + + /* (non-Javadoc) + * @see com.att.env.Store#get(com.att.env.StaticSlot T defaultObject) + */ + @SuppressWarnings("unchecked") + public T get(StaticSlot sslot,T dflt) { + T t = (T)staticState[sslot.slot]; + return t==null?dflt:t; + } + + @SuppressWarnings("unchecked") + public T get(StaticSlot sslot) { + return (T)staticState[sslot.slot]; + } + + public List existingStaticSlotNames() { + return new ArrayList<>(staticMap.keySet()); + } } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/Stringifier.java b/misc/env/src/main/java/org/onap/aaf/misc/env/Stringifier.java index c6e0dbd1..293d7c15 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/Stringifier.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/Stringifier.java @@ -28,18 +28,18 @@ package org.onap.aaf.misc.env; * Stringifier abstracts the marshaling of a String to an Object */ public interface Stringifier extends LifeCycle { - - /** - * Marshal from a String to an Object T, using contents from Env as necessary.

- * - * Implementations should use the {@link Env} to call "env.startXMLTime()" to mark - * XML time, since this is often a costly process. - * - * @param env - * @param input - * @return String - * @throws APIException - */ - public abstract String stringify(Env env, T input, boolean ... options) throws APIException; - + + /** + * Marshal from a String to an Object T, using contents from Env as necessary.

+ * + * Implementations should use the {@link Env} to call "env.startXMLTime()" to mark + * XML time, since this is often a costly process. + * + * @param env + * @param input + * @return String + * @throws APIException + */ + public abstract String stringify(Env env, T input, boolean ... options) throws APIException; + } \ No newline at end of file diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/TimeTaken.java b/misc/env/src/main/java/org/onap/aaf/misc/env/TimeTaken.java index 78f4a617..02018707 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/TimeTaken.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/TimeTaken.java @@ -35,82 +35,82 @@ package org.onap.aaf.misc.env; * */ public abstract class TimeTaken { - public final long start; - protected long end, size; - public final int flag; - public final String name; - - /** - * The name is as it will appear when written to output (abstract method) - * - * The flag is an integer which can be System type (XML, REMOTE, etc), or End User defined for reporting purposes - * - * @param name - * @param flag - */ - public TimeTaken(String name, int flag) { - start = System.nanoTime(); - this.flag = flag; - this.name = name; - size = -1; - } + public final long start; + protected long end, size; + public final int flag; + public final String name; + + /** + * The name is as it will appear when written to output (abstract method) + * + * The flag is an integer which can be System type (XML, REMOTE, etc), or End User defined for reporting purposes + * + * @param name + * @param flag + */ + public TimeTaken(String name, int flag) { + start = System.nanoTime(); + this.flag = flag; + this.name = name; + size = -1; + } - /** - * Call this when process is done to state ending time.

- * - * It is exceedingly prudent to wrap the process called with a try-finally:

- * - *

-	 *   TimeTaken tt = env.startSubTime();
-	 *   try {
-	 *       process.me(); // code to be timed.
-	 *   } finally {
-	 *   	 tt.done();
-	 *   }
-	 * 
- */ - public void done() { - end = System.nanoTime(); - } - - - /** - * For sizable contents, set the size. Implementations can simply write a no-op if they don't wish to - * store the size. - * - * @param size - */ - public void size(long theSize) { - size = theSize; - } - - /** - * Give readonly access to End, which isn't final - * @return - */ - public long end() { - return end; - } - - /** - * Time is taken in NanoSeconds. This method converts to decimals of Milliseconds - * @return - */ - public float millis() { - return (end-start)/1000000f; - } - /** - * Write self to a String Builder (for making Audits) - * @param sb - */ - public abstract void output(StringBuilder sb); - - /** - * For Debugging - */ - public String toString() { - return name + ' ' + millis() + "ms " + (size>0?Long.toString(size):""); - } - -} + /** + * Call this when process is done to state ending time.

+ * + * It is exceedingly prudent to wrap the process called with a try-finally:

+ * + *

+     *   TimeTaken tt = env.startSubTime();
+     *   try {
+     *       process.me(); // code to be timed.
+     *   } finally {
+     *        tt.done();
+     *   }
+     * 
+ */ + public void done() { + end = System.nanoTime(); + } + + + /** + * For sizable contents, set the size. Implementations can simply write a no-op if they don't wish to + * store the size. + * + * @param size + */ + public void size(long theSize) { + size = theSize; + } + + /** + * Give readonly access to End, which isn't final + * @return + */ + public long end() { + return end; + } + + /** + * Time is taken in NanoSeconds. This method converts to decimals of Milliseconds + * @return + */ + public float millis() { + return (end-start)/1000000f; + } + /** + * Write self to a String Builder (for making Audits) + * @param sb + */ + public abstract void output(StringBuilder sb); + + /** + * For Debugging + */ + public String toString() { + return name + ' ' + millis() + "ms " + (size>0?Long.toString(size):""); + } + +} diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/Trans.java b/misc/env/src/main/java/org/onap/aaf/misc/env/Trans.java index 24473751..bb66c0f6 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/Trans.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/Trans.java @@ -39,36 +39,36 @@ package org.onap.aaf.misc.env; * */ public interface Trans extends Env { - /** - * Add a completed entry in the Audit Trail for tracking purposes. - * - * @param text - */ - public void checkpoint(String text); + /** + * Add a completed entry in the Audit Trail for tracking purposes. + * + * @param text + */ + public void checkpoint(String text); - /** - * Add a completed entry in the Audit Trail for tracking purposes, and combine flag with "CHECKPOINT" - * - * @param text - */ - public void checkpoint(String text, int additionalFlag); + /** + * Add a completed entry in the Audit Trail for tracking purposes, and combine flag with "CHECKPOINT" + * + * @param text + */ + public void checkpoint(String text, int additionalFlag); - /** - * Output an Audit Trail onto the StringBuilder - * - * Load metrics into an array of floats from passed in Flags - * - * @param flag - * @param sb - * @return - */ - public Metric auditTrail(LogTarget lt, int indent, StringBuilder sb, int ... flag); + /** + * Output an Audit Trail onto the StringBuilder + * + * Load metrics into an array of floats from passed in Flags + * + * @param flag + * @param sb + * @return + */ + public Metric auditTrail(LogTarget lt, int indent, StringBuilder sb, int ... flag); - public Metric auditTrail(int indent, StringBuilder sb, int ... flag); + public Metric auditTrail(int indent, StringBuilder sb, int ... flag); - public class Metric { - public float[] buckets; - public float total; - public int entries; - } + public class Metric { + public float[] buckets; + public float total; + public int entries; + } } \ No newline at end of file diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/TransCreate.java b/misc/env/src/main/java/org/onap/aaf/misc/env/TransCreate.java index 1ed4dcd2..d311c3ed 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/TransCreate.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/TransCreate.java @@ -22,5 +22,5 @@ package org.onap.aaf.misc.env; public interface TransCreate { - public TRANS newTrans(); + public TRANS newTrans(); } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/TransStore.java b/misc/env/src/main/java/org/onap/aaf/misc/env/TransStore.java index e9c1b390..5a8f7620 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/TransStore.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/TransStore.java @@ -22,36 +22,36 @@ package org.onap.aaf.misc.env; public interface TransStore extends Trans { - /** - * Returns the Slot assigned to the supplied name. - * - * @param name - * The name of the Slot to acquire. - * @return - * The Slot associated with the supplied name. - */ - public abstract Slot slot(String name); - - /** - * Put data into the right slot - */ - public void put(Slot slot, Object value); + /** + * Returns the Slot assigned to the supplied name. + * + * @param name + * The name of the Slot to acquire. + * @return + * The Slot associated with the supplied name. + */ + public abstract Slot slot(String name); + + /** + * Put data into the right slot + */ + public void put(Slot slot, Object value); - /** - * Get data from the right slot - * - * This will do a cast to the expected type derived from Default - */ - public T get(Slot slot, T deflt); + /** + * Get data from the right slot + * + * This will do a cast to the expected type derived from Default + */ + public T get(Slot slot, T deflt); - /** - * Returns an Object from the Organizer's static state, or the Default if null - * - * @param slot - * The StaticSlot to retrieve the data from. - * @return - * The Object located in the supplied StaticSlot of the Organizer's static state. - */ - public abstract T get(StaticSlot slot, T dflt); - + /** + * Returns an Object from the Organizer's static state, or the Default if null + * + * @param slot + * The StaticSlot to retrieve the data from. + * @return + * The Object located in the supplied StaticSlot of the Organizer's static state. + */ + public abstract T get(StaticSlot slot, T dflt); + } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/impl/AbsTrans.java b/misc/env/src/main/java/org/onap/aaf/misc/env/impl/AbsTrans.java index e378e2c3..b86b4fbb 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/impl/AbsTrans.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/impl/AbsTrans.java @@ -33,182 +33,182 @@ import org.onap.aaf.misc.env.TimeTaken; import org.onap.aaf.misc.env.TransStore; public abstract class AbsTrans implements TransStore { - private static final float[] EMPTYF = new float[0]; - private static final Object[] EMPTYO = new Object[0]; - - protected ENV delegate; - protected List trail = new ArrayList<>(30); - private Object[] state; - - + private static final float[] EMPTYF = new float[0]; + private static final Object[] EMPTYO = new Object[0]; + + protected ENV delegate; + protected List trail = new ArrayList<>(30); + private Object[] state; + + public AbsTrans(ENV delegate) { - this.delegate = delegate; - state = delegate instanceof StoreImpl?((StoreImpl) delegate).newTransState():EMPTYO; - } - - // @Override - public LogTarget fatal() { - return delegate.fatal(); - } - -// @Override - public LogTarget error() { - return delegate.error(); - } - -// @Override - public LogTarget audit() { - return delegate.audit(); - } - -// @Override - public LogTarget init() { - return delegate.init(); - } - -// @Override - public LogTarget warn() { - return delegate.warn(); - } - -// @Override - public LogTarget info() { - return delegate.info(); - } - -// @Override - public LogTarget debug() { - return delegate.debug(); - } - -// @Override - public LogTarget trace() { - return delegate.trace(); - } - - /** - * Let the final Trans Implementation choose the exact kind of TimeTaken to use - * @param name - * @param flag - * @return - */ - protected abstract TimeTaken newTimeTaken(String name, int flag); - -// @Override - public final TimeTaken start(String name, int flag) { - TimeTaken tt = newTimeTaken(name,flag); - trail.add(tt); - return tt; - } - -// @Override - public final void checkpoint(String name) { - TimeTaken tt = newTimeTaken(name,CHECKPOINT); - tt.done(); - trail.add(tt); - } - - public final void checkpoint(String name, int additionalFlag) { - TimeTaken tt = newTimeTaken(name,CHECKPOINT|additionalFlag); - trail.add(tt); - tt.done(); - } - - @Override - public Metric auditTrail(int indent, StringBuilder sb, int ... flags) { - return auditTrail(info(),indent,sb,flags); - } - - @Override - public Metric auditTrail(LogTarget lt, int indent, StringBuilder sb, int ... flags) { - Metric metric = new Metric(); - int last = (metric.entries = trail.size()) -1; - metric.buckets = flags.length==0?EMPTYF:new float[flags.length]; - if(last>=0) { - TimeTaken first = trail.get(0); - // If first entry is sub, then it's actually the last "end" as well - // otherwise, check end - //long end = (first.flag&SUB)==SUB?first.end():trail.get(last).end(); - long end = trail.get(last).end(); - metric.total = (end - first.start) / 1000000f; - } - - if(sb==null) { - for(TimeTaken tt : trail) { - float ms = tt.millis(); - for(int i=0;i stack = new Stack(); - for(TimeTaken tt : trail) { - // Create Indentation based on SUB - while(!stack.isEmpty() && tt.end()>stack.peek()) { - --indent; - stack.pop(); - } - for(int i=0;i T get(Slot slot, T deflt) { - Object o; - try { - o = slot.get(state); - } catch(ArrayIndexOutOfBoundsException e) { - // Env State Size has changed because of dynamic Object creation... Rare event, but needs to be covered - Object[] temp = ((StoreImpl) delegate).newTransState(); - System.arraycopy(state, 0, temp, 0, state.length); - state = temp; - o=null; - } - return o==null?deflt:(T)o; - } + this.delegate = delegate; + state = delegate instanceof StoreImpl?((StoreImpl) delegate).newTransState():EMPTYO; + } + + // @Override + public LogTarget fatal() { + return delegate.fatal(); + } + +// @Override + public LogTarget error() { + return delegate.error(); + } + +// @Override + public LogTarget audit() { + return delegate.audit(); + } + +// @Override + public LogTarget init() { + return delegate.init(); + } + +// @Override + public LogTarget warn() { + return delegate.warn(); + } + +// @Override + public LogTarget info() { + return delegate.info(); + } + +// @Override + public LogTarget debug() { + return delegate.debug(); + } + +// @Override + public LogTarget trace() { + return delegate.trace(); + } + + /** + * Let the final Trans Implementation choose the exact kind of TimeTaken to use + * @param name + * @param flag + * @return + */ + protected abstract TimeTaken newTimeTaken(String name, int flag); + +// @Override + public final TimeTaken start(String name, int flag) { + TimeTaken tt = newTimeTaken(name,flag); + trail.add(tt); + return tt; + } + +// @Override + public final void checkpoint(String name) { + TimeTaken tt = newTimeTaken(name,CHECKPOINT); + tt.done(); + trail.add(tt); + } + + public final void checkpoint(String name, int additionalFlag) { + TimeTaken tt = newTimeTaken(name,CHECKPOINT|additionalFlag); + trail.add(tt); + tt.done(); + } + + @Override + public Metric auditTrail(int indent, StringBuilder sb, int ... flags) { + return auditTrail(info(),indent,sb,flags); + } + + @Override + public Metric auditTrail(LogTarget lt, int indent, StringBuilder sb, int ... flags) { + Metric metric = new Metric(); + int last = (metric.entries = trail.size()) -1; + metric.buckets = flags.length==0?EMPTYF:new float[flags.length]; + if(last>=0) { + TimeTaken first = trail.get(0); + // If first entry is sub, then it's actually the last "end" as well + // otherwise, check end + //long end = (first.flag&SUB)==SUB?first.end():trail.get(last).end(); + long end = trail.get(last).end(); + metric.total = (end - first.start) / 1000000f; + } + + if(sb==null) { + for(TimeTaken tt : trail) { + float ms = tt.millis(); + for(int i=0;i stack = new Stack(); + for(TimeTaken tt : trail) { + // Create Indentation based on SUB + while(!stack.isEmpty() && tt.end()>stack.peek()) { + --indent; + stack.pop(); + } + for(int i=0;i T get(Slot slot, T deflt) { + Object o; + try { + o = slot.get(state); + } catch(ArrayIndexOutOfBoundsException e) { + // Env State Size has changed because of dynamic Object creation... Rare event, but needs to be covered + Object[] temp = ((StoreImpl) delegate).newTransState(); + System.arraycopy(state, 0, temp, 0, state.length); + state = temp; + o=null; + } + return o==null?deflt:(T)o; + } } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/impl/AbsTransJAXB.java b/misc/env/src/main/java/org/onap/aaf/misc/env/impl/AbsTransJAXB.java index c20589a3..5576a1a0 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/impl/AbsTransJAXB.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/impl/AbsTransJAXB.java @@ -30,28 +30,28 @@ import org.onap.aaf.misc.env.EnvJAXB; import org.onap.aaf.misc.env.TransJAXB; public abstract class AbsTransJAXB extends AbsTrans implements TransJAXB { - public AbsTransJAXB(EnvJAXB env) { - super(env); - } - -// @Override - public DataFactory newDataFactory(Class... classes) throws APIException { - return delegate.newDataFactory(classes); - } - -// @Override - public DataFactory newDataFactory(Schema schema, Class... classes) throws APIException { - return delegate.newDataFactory(schema, classes); - } - -// @Override - public DataFactory newDataFactory(QName qName, Class... classes) throws APIException { - return delegate.newDataFactory(qName, classes); - } - -// @Override - public DataFactory newDataFactory(Schema schema, QName qName, Class... classes) throws APIException { - return delegate.newDataFactory(schema, qName, classes); - } + public AbsTransJAXB(EnvJAXB env) { + super(env); + } + +// @Override + public DataFactory newDataFactory(Class... classes) throws APIException { + return delegate.newDataFactory(classes); + } + +// @Override + public DataFactory newDataFactory(Schema schema, Class... classes) throws APIException { + return delegate.newDataFactory(schema, classes); + } + +// @Override + public DataFactory newDataFactory(QName qName, Class... classes) throws APIException { + return delegate.newDataFactory(qName, classes); + } + +// @Override + public DataFactory newDataFactory(Schema schema, QName qName, Class... classes) throws APIException { + return delegate.newDataFactory(schema, qName, classes); + } } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/impl/BasicEnv.java b/misc/env/src/main/java/org/onap/aaf/misc/env/impl/BasicEnv.java index cd62a7e5..94f7d47b 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/impl/BasicEnv.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/impl/BasicEnv.java @@ -57,296 +57,296 @@ import org.onap.aaf.misc.env.util.Split; * */ public class BasicEnv extends StoreImpl implements EnvJAXB, TransCreate{ - protected LogTarget fatal=LogTarget.SYSERR; - protected LogTarget error=LogTarget.SYSERR; - protected LogTarget audit=LogTarget.SYSOUT; - protected LogTarget init=LogTarget.SYSOUT; - protected LogTarget warn=LogTarget.SYSERR; - protected LogTarget info=LogTarget.SYSOUT; - protected LogTarget debug=LogTarget.NULL; - protected LogTarget trace=LogTarget.NULL; -// protected Map props; - -// private boolean sysprops; - - public BasicEnv(String ... args) { - super(null,args); - } - - public BasicEnv(String tag, String[] args) { - super(tag, args); - } - - - /** - * Suitable for use in Applets... obtain all the values - * listed for the variable String arg "tags" - */ - public BasicEnv(Applet applet, String ... tags) { - super(null, tags); -// props = new HashMap<>(); -// String value; -// for(int i=0;i=0) { - sb.append(" size: "); - sb.append(Long.toString(size)); - } - } - } - }; - } - - // @Override - public String getProperty(String key) { - return get(staticSlot(key),null); - } - - public Properties getProperties(String ... filter) { - Properties props = new Properties(); - boolean yes; - for(String key : existingStaticSlotNames()) { - if(filter.length>0) { - yes = false; - for(String f : filter) { - if(key.startsWith(f)) { - yes = true; - break; - } - } - } else { - yes = true; - } - if(yes) { - String value = getProperty(key); - if(value!=null) { - props.put(key, value); - } - } - } - return props; - } - - // @Override - public String getProperty(String key, String defaultValue) { - return get(staticSlot(key),defaultValue); - } - - // @Override - public String setProperty(String key, String value) { - put(staticSlot(key),value==null?null:value.trim()); - return value; - } - - protected Decryptor decryptor = Decryptor.NULL; - protected Encryptor encryptor = Encryptor.NULL; - - - public Decryptor decryptor() { - return decryptor; - } - - public void set(Decryptor newDecryptor) { - decryptor = newDecryptor; - } - - public Encryptor encryptor() { - return encryptor; - } - - public void set(Encryptor newEncryptor) { - encryptor = newEncryptor; - } - - -// @SuppressWarnings("unchecked") - // @Override - public DataFactory newDataFactory(Class... classes) throws APIException { -// if(String.class.isAssignableFrom(classes[0])) -// return (DataFactory) new StringDF(this); - return new JAXBDF(this,classes); - } - -// @SuppressWarnings("unchecked") - // @Override - public DataFactory newDataFactory(Schema schema, Class... classes) throws APIException { -// if(String.class.isAssignableFrom(classes[0])) -// return (DataFactory) new StringDF(this); - return new JAXBDF(this, schema, classes); - } - -// @SuppressWarnings("unchecked") - // @Override - public DataFactory newDataFactory(QName qName, Class ... classes) throws APIException { -// if(String.class.isAssignableFrom(classes[0])) -// return (DataFactory) new StringDF(this); - return new JAXBDF(this, qName, classes); - } - - // @Override - public DataFactory newDataFactory(Schema schema, QName qName, Class ... classes) throws APIException { - return new JAXBDF(this, schema, qName, classes); - } - - // @Override - public BasicTrans newTrans() { - return new BasicTrans(this); - } - - public void loadFromSystemPropsStartsWith(String ... str) { - for(String name : System.getProperties().stringPropertyNames()) { - for(String s : str) { - if(name.startsWith(s)) { - setProperty(name, System.getProperty(name)); - } - } - } - } - - /** - * - * - */ - public void loadToSystemPropsStartsWith(String ... str) { - String value; - for(String name : existingStaticSlotNames()) { - for(String s : str) { - if(name.startsWith(s)) { - if((value = getProperty(name))!=null) - System.setProperty(name,value); - } - } - } - } - - public void loadPropFiles(String tag, ClassLoader classloader) throws IOException { - String propfiles = getProperty(tag); - if(propfiles!=null) { - for(String pf : Split.splitTrim(File.pathSeparatorChar, propfiles)) { - InputStream is = classloader==null?null:classloader.getResourceAsStream(pf); - if(is==null) { - File f = new File(pf); - if(f.exists()) { - is = new FileInputStream(f); - } - } - if(is!=null) { - BufferedReader br = new BufferedReader(new InputStreamReader(is)); - try { - String line; - while((line=br.readLine())!=null) { - line = line.trim(); - if(!line.startsWith("#")) { - String[] tv = Split.splitTrim('=', line); - if(tv.length==2) { - setProperty(tv[0],tv[1]); - } - } - } - } finally { - try { - br.close(); - } catch (IOException e) { - error().log(e); - } - } - } - } - } - } - - /** - * Create a StaticSlot, and load it from existing Properties - * - * @param name - * @param propName - * @return - */ - public synchronized StaticSlot staticSlot(String name, final String propName) { - StaticSlot ss = staticSlot(name); - put(ss,getProperty(propName)); - return ss; - } + protected LogTarget fatal=LogTarget.SYSERR; + protected LogTarget error=LogTarget.SYSERR; + protected LogTarget audit=LogTarget.SYSOUT; + protected LogTarget init=LogTarget.SYSOUT; + protected LogTarget warn=LogTarget.SYSERR; + protected LogTarget info=LogTarget.SYSOUT; + protected LogTarget debug=LogTarget.NULL; + protected LogTarget trace=LogTarget.NULL; +// protected Map props; + +// private boolean sysprops; + + public BasicEnv(String ... args) { + super(null,args); + } + + public BasicEnv(String tag, String[] args) { + super(tag, args); + } + + + /** + * Suitable for use in Applets... obtain all the values + * listed for the variable String arg "tags" + */ + public BasicEnv(Applet applet, String ... tags) { + super(null, tags); +// props = new HashMap<>(); +// String value; +// for(int i=0;i=0) { + sb.append(" size: "); + sb.append(Long.toString(size)); + } + } + } + }; + } + + // @Override + public String getProperty(String key) { + return get(staticSlot(key),null); + } + + public Properties getProperties(String ... filter) { + Properties props = new Properties(); + boolean yes; + for(String key : existingStaticSlotNames()) { + if(filter.length>0) { + yes = false; + for(String f : filter) { + if(key.startsWith(f)) { + yes = true; + break; + } + } + } else { + yes = true; + } + if(yes) { + String value = getProperty(key); + if(value!=null) { + props.put(key, value); + } + } + } + return props; + } + + // @Override + public String getProperty(String key, String defaultValue) { + return get(staticSlot(key),defaultValue); + } + + // @Override + public String setProperty(String key, String value) { + put(staticSlot(key),value==null?null:value.trim()); + return value; + } + + protected Decryptor decryptor = Decryptor.NULL; + protected Encryptor encryptor = Encryptor.NULL; + + + public Decryptor decryptor() { + return decryptor; + } + + public void set(Decryptor newDecryptor) { + decryptor = newDecryptor; + } + + public Encryptor encryptor() { + return encryptor; + } + + public void set(Encryptor newEncryptor) { + encryptor = newEncryptor; + } + + +// @SuppressWarnings("unchecked") + // @Override + public DataFactory newDataFactory(Class... classes) throws APIException { +// if(String.class.isAssignableFrom(classes[0])) +// return (DataFactory) new StringDF(this); + return new JAXBDF(this,classes); + } + +// @SuppressWarnings("unchecked") + // @Override + public DataFactory newDataFactory(Schema schema, Class... classes) throws APIException { +// if(String.class.isAssignableFrom(classes[0])) +// return (DataFactory) new StringDF(this); + return new JAXBDF(this, schema, classes); + } + +// @SuppressWarnings("unchecked") + // @Override + public DataFactory newDataFactory(QName qName, Class ... classes) throws APIException { +// if(String.class.isAssignableFrom(classes[0])) +// return (DataFactory) new StringDF(this); + return new JAXBDF(this, qName, classes); + } + + // @Override + public DataFactory newDataFactory(Schema schema, QName qName, Class ... classes) throws APIException { + return new JAXBDF(this, schema, qName, classes); + } + + // @Override + public BasicTrans newTrans() { + return new BasicTrans(this); + } + + public void loadFromSystemPropsStartsWith(String ... str) { + for(String name : System.getProperties().stringPropertyNames()) { + for(String s : str) { + if(name.startsWith(s)) { + setProperty(name, System.getProperty(name)); + } + } + } + } + + /** + * + * + */ + public void loadToSystemPropsStartsWith(String ... str) { + String value; + for(String name : existingStaticSlotNames()) { + for(String s : str) { + if(name.startsWith(s)) { + if((value = getProperty(name))!=null) + System.setProperty(name,value); + } + } + } + } + + public void loadPropFiles(String tag, ClassLoader classloader) throws IOException { + String propfiles = getProperty(tag); + if(propfiles!=null) { + for(String pf : Split.splitTrim(File.pathSeparatorChar, propfiles)) { + InputStream is = classloader==null?null:classloader.getResourceAsStream(pf); + if(is==null) { + File f = new File(pf); + if(f.exists()) { + is = new FileInputStream(f); + } + } + if(is!=null) { + BufferedReader br = new BufferedReader(new InputStreamReader(is)); + try { + String line; + while((line=br.readLine())!=null) { + line = line.trim(); + if(!line.startsWith("#")) { + String[] tv = Split.splitTrim('=', line); + if(tv.length==2) { + setProperty(tv[0],tv[1]); + } + } + } + } finally { + try { + br.close(); + } catch (IOException e) { + error().log(e); + } + } + } + } + } + } + + /** + * Create a StaticSlot, and load it from existing Properties + * + * @param name + * @param propName + * @return + */ + public synchronized StaticSlot staticSlot(String name, final String propName) { + StaticSlot ss = staticSlot(name); + put(ss,getProperty(propName)); + return ss; + } } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/impl/BasicTrans.java b/misc/env/src/main/java/org/onap/aaf/misc/env/impl/BasicTrans.java index 05e62024..dbda57b5 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/impl/BasicTrans.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/impl/BasicTrans.java @@ -30,52 +30,52 @@ import org.onap.aaf.misc.env.TimeTaken; public class BasicTrans extends AbsTransJAXB { - - public BasicTrans(EnvJAXB env) { - super(env); - } + + public BasicTrans(EnvJAXB env) { + super(env); + } - @Override - protected TimeTaken newTimeTaken(String name, int flag) { - /** - * Note: could have created a different format for Time Taken, but using BasicEnv's instead - */ - return delegate.start(name, flag); - } - - public Slot slot(String name) { - return delegate.slot(name); - } + @Override + protected TimeTaken newTimeTaken(String name, int flag) { + /** + * Note: could have created a different format for Time Taken, but using BasicEnv's instead + */ + return delegate.start(name, flag); + } + + public Slot slot(String name) { + return delegate.slot(name); + } - public T get(StaticSlot slot) { - return delegate.get(slot); - } + public T get(StaticSlot slot) { + return delegate.get(slot); + } - public T get(StaticSlot slot, T dflt) { - return delegate.get(slot,dflt); - } + public T get(StaticSlot slot, T dflt) { + return delegate.get(slot,dflt); + } - public String setProperty(String tag, String value) { - delegate.setProperty(tag, value); - return value; - } + public String setProperty(String tag, String value) { + delegate.setProperty(tag, value); + return value; + } - public String getProperty(String tag) { - return delegate.getProperty(tag); - } + public String getProperty(String tag) { + return delegate.getProperty(tag); + } - public String getProperty(String tag, String deflt) { - return delegate.getProperty(tag, deflt); - } + public String getProperty(String tag, String deflt) { + return delegate.getProperty(tag, deflt); + } - @Override - public Decryptor decryptor() { - return delegate.decryptor(); - } + @Override + public Decryptor decryptor() { + return delegate.decryptor(); + } - @Override - public Encryptor encryptor() { - return delegate.encryptor(); - } + @Override + public Encryptor encryptor() { + return delegate.encryptor(); + } } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/impl/EnvFactory.java b/misc/env/src/main/java/org/onap/aaf/misc/env/impl/EnvFactory.java index 9bf4fdc5..aa0b947a 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/impl/EnvFactory.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/impl/EnvFactory.java @@ -33,36 +33,36 @@ import org.onap.aaf.misc.env.TransJAXB; */ public class EnvFactory { - public static final String SCHEMA_DIR = "env-schema_dir"; - public static final String DEFAULT_SCHEMA_DIR = "src/main/xsd"; - static BasicEnv singleton; + public static final String SCHEMA_DIR = "env-schema_dir"; + public static final String DEFAULT_SCHEMA_DIR = "src/main/xsd"; + static BasicEnv singleton; - static { - singleton = new BasicEnv(); - } - public static BasicEnv singleton() { - return singleton; - } - - public static void setSingleton(BasicEnv be) { - singleton = be; - } - - public static TransJAXB newTrans() { - return new BasicTrans(singleton); - } + static { + singleton = new BasicEnv(); + } + public static BasicEnv singleton() { + return singleton; + } + + public static void setSingleton(BasicEnv be) { + singleton = be; + } + + public static TransJAXB newTrans() { + return new BasicTrans(singleton); + } - public static TransJAXB newTrans(EnvJAXB env) { - return new BasicTrans(env); - } - - public static TransCreate transCreator() { - return new TransCreate() { - // @Override - public BasicTrans newTrans() { - return singleton.newTrans(); - } - }; - } + public static TransJAXB newTrans(EnvJAXB env) { + return new BasicTrans(env); + } + + public static TransCreate transCreator() { + return new TransCreate() { + // @Override + public BasicTrans newTrans() { + return singleton.newTrans(); + } + }; + } } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/impl/JavaUtilLogTarget.java b/misc/env/src/main/java/org/onap/aaf/misc/env/impl/JavaUtilLogTarget.java index ac3e8b45..c8adfc78 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/impl/JavaUtilLogTarget.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/impl/JavaUtilLogTarget.java @@ -36,55 +36,55 @@ import org.onap.aaf.misc.env.LogTarget; * */ public class JavaUtilLogTarget implements LogTarget { - private Level level; - private Logger log; + private Level level; + private Logger log; - public JavaUtilLogTarget(Logger logger, Level theLevel) { - log = logger; - level = theLevel; - } + public JavaUtilLogTarget(Logger logger, Level theLevel) { + log = logger; + level = theLevel; + } - public boolean isLoggable() { - return log.isLoggable(level); - } + public boolean isLoggable() { + return log.isLoggable(level); + } - public void log(Object ... msgs) { - if(log.isLoggable(level)) { - StringBuilder sb = new StringBuilder(); - String msg; - for(int i=0;i0) { - int sbl = sb.length(); - if(sbl>0) { - char last = sb.charAt(sbl-1); - if(" (.".indexOf(last)<0 && "().".indexOf(msg.charAt(0))<0)sb.append(' '); - } - sb.append(msg); - } - } - log.log(level, sb.toString()); - } - } + public void log(Object ... msgs) { + if(log.isLoggable(level)) { + StringBuilder sb = new StringBuilder(); + String msg; + for(int i=0;i0) { + int sbl = sb.length(); + if(sbl>0) { + char last = sb.charAt(sbl-1); + if(" (.".indexOf(last)<0 && "().".indexOf(msg.charAt(0))<0)sb.append(' '); + } + sb.append(msg); + } + } + log.log(level, sb.toString()); + } + } - public void log(Throwable e, Object ... msgs) { - String str = e.getLocalizedMessage(); - if(str==null) { - str = e.getMessage(); - } - if(str==null) { - str = e.getClass().getName(); - } - log.log(level,str,msgs); - } + public void log(Throwable e, Object ... msgs) { + String str = e.getLocalizedMessage(); + if(str==null) { + str = e.getMessage(); + } + if(str==null) { + str = e.getClass().getName(); + } + log.log(level,str,msgs); + } - /* (non-Javadoc) - * @see com.att.inno.env.LogTarget#printf(java.lang.String, java.lang.String[]) - */ - @Override - public void printf(String fmt, Object ... vars) { - if(log.isLoggable(level)) { - log.log(level,String.format(fmt,vars)); - } - } -} + /* (non-Javadoc) + * @see com.att.inno.env.LogTarget#printf(java.lang.String, java.lang.String[]) + */ + @Override + public void printf(String fmt, Object ... vars) { + if(log.isLoggable(level)) { + log.log(level,String.format(fmt,vars)); + } + } +} diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/impl/Log4JLogTarget.java b/misc/env/src/main/java/org/onap/aaf/misc/env/impl/Log4JLogTarget.java index a5f118c9..81d9c1b2 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/impl/Log4JLogTarget.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/impl/Log4JLogTarget.java @@ -37,73 +37,73 @@ import org.onap.aaf.misc.env.util.StringBuilderWriter; * */ public class Log4JLogTarget implements LogTarget { - private Level level; - private Logger log; + private Level level; + private Logger log; - public Log4JLogTarget(String loggerName, Level level) throws APIException { - this.level = level; - if (loggerName != null && loggerName.length() > 0) { - log = Logger.getLogger(loggerName); - } else { - log = Logger.getRootLogger(); - } - } + public Log4JLogTarget(String loggerName, Level level) throws APIException { + this.level = level; + if (loggerName != null && loggerName.length() > 0) { + log = Logger.getLogger(loggerName); + } else { + log = Logger.getRootLogger(); + } + } - // @Override - public boolean isLoggable() { - return log.isEnabledFor(level); - } + // @Override + public boolean isLoggable() { + return log.isEnabledFor(level); + } - // @Override - public void log(Object... msgs) { - log(null, msgs); - } + // @Override + public void log(Object... msgs) { + log(null, msgs); + } - // @Override - public void log(Throwable e, Object... msgs) { - if (log.isEnabledFor(level)) { - StringBuilder sb = new StringBuilder(); - - String msg; - if (e != null) { - e.printStackTrace(new PrintWriter(new StringBuilderWriter(sb))); - } - for (int i = 0; i < msgs.length; ++i) { - if(msgs[i]!=null) { - msg = msgs[i].toString(); - if (msg != null && msg.length() > 0) { - int sbl = sb.length(); - if (sbl > 0) { - char last = sb.charAt(sbl - 1); - if (" (.".indexOf(last) < 0 - && "().".indexOf(msg.charAt(0)) < 0) - sb.append(' '); - } - sb.append(msg); - } - } - } - log.log(level, sb.toString()); - } - } + // @Override + public void log(Throwable e, Object... msgs) { + if (log.isEnabledFor(level)) { + StringBuilder sb = new StringBuilder(); + + String msg; + if (e != null) { + e.printStackTrace(new PrintWriter(new StringBuilderWriter(sb))); + } + for (int i = 0; i < msgs.length; ++i) { + if(msgs[i]!=null) { + msg = msgs[i].toString(); + if (msg != null && msg.length() > 0) { + int sbl = sb.length(); + if (sbl > 0) { + char last = sb.charAt(sbl - 1); + if (" (.".indexOf(last) < 0 + && "().".indexOf(msg.charAt(0)) < 0) + sb.append(' '); + } + sb.append(msg); + } + } + } + log.log(level, sb.toString()); + } + } - /* (non-Javadoc) - * @see com.att.inno.env.LogTarget#printf(java.lang.String, java.lang.String[]) - */ - @Override - public void printf(String fmt, Object ... vars) { - if(log.isEnabledFor(level)) { - log.log(level,String.format(fmt,vars)); - } - } + /* (non-Javadoc) + * @see com.att.inno.env.LogTarget#printf(java.lang.String, java.lang.String[]) + */ + @Override + public void printf(String fmt, Object ... vars) { + if(log.isEnabledFor(level)) { + log.log(level,String.format(fmt,vars)); + } + } - public static void setLog4JEnv(String loggerName, BasicEnv env) throws APIException { - env.fatal = new Log4JLogTarget(loggerName,Level.FATAL); - env.error = new Log4JLogTarget(loggerName,Level.ERROR); - env.warn = env.audit = env.init = new Log4JLogTarget(loggerName,Level.WARN); - env.info = new Log4JLogTarget(loggerName,Level.INFO); - env.debug = new Log4JLogTarget(loggerName,Level.DEBUG); - env.trace = new Log4JLogTarget(loggerName,Level.TRACE); - } - + public static void setLog4JEnv(String loggerName, BasicEnv env) throws APIException { + env.fatal = new Log4JLogTarget(loggerName,Level.FATAL); + env.error = new Log4JLogTarget(loggerName,Level.ERROR); + env.warn = env.audit = env.init = new Log4JLogTarget(loggerName,Level.WARN); + env.info = new Log4JLogTarget(loggerName,Level.INFO); + env.debug = new Log4JLogTarget(loggerName,Level.DEBUG); + env.trace = new Log4JLogTarget(loggerName,Level.TRACE); + } + } \ No newline at end of file diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/impl/NullLifeCycle.java b/misc/env/src/main/java/org/onap/aaf/misc/env/impl/NullLifeCycle.java index 7e41f5df..3184f8c0 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/impl/NullLifeCycle.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/impl/NullLifeCycle.java @@ -51,9 +51,9 @@ import org.onap.aaf.misc.env.LifeCycle; * */ public class NullLifeCycle implements LifeCycle { - public void servicePrestart(Env env) throws APIException {} - public void threadPrestart(Env env) throws APIException {} - public void refresh(Env env) throws APIException {} - public void threadDestroy(Env env) throws APIException {} - public void serviceDestroy(Env env) throws APIException {} + public void servicePrestart(Env env) throws APIException {} + public void threadPrestart(Env env) throws APIException {} + public void refresh(Env env) throws APIException {} + public void threadDestroy(Env env) throws APIException {} + public void serviceDestroy(Env env) throws APIException {} } \ No newline at end of file diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBDF.java b/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBDF.java index e32532bc..dc7ee192 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBDF.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBDF.java @@ -42,268 +42,268 @@ import org.onap.aaf.misc.env.old.IOStringifier; import org.onap.aaf.misc.env.old.OldDataFactory; public class JAXBDF extends BaseDataFactory implements OldDataFactory,IOObjectifier, IOStringifier { - // Package on purpose - EnvJAXB primaryEnv; - JAXBumar jumar; - JAXBmar jmar; - - public JAXBDF(EnvJAXB env, Class ... classes) throws APIException { - try { - primaryEnv = env; - jumar = new JAXBumar(classes); - jmar = new JAXBmar(classes) ; - } catch (JAXBException e) { - throw new APIException(e); - } - } - - public JAXBDF(EnvJAXB env, Schema schema, Class ... classes) throws APIException { - try { - primaryEnv = env; - jumar = new JAXBumar(schema, classes); - jmar = new JAXBmar(classes); - } catch (JAXBException e) { - throw new APIException(e); - } - } - - public JAXBDF(EnvJAXB env, QName qname, Class ... classes) throws APIException { - try { - primaryEnv = env; - jumar = new JAXBumar(classes); - jmar = new JAXBmar(qname, classes); - } catch (JAXBException e) { - throw new APIException(e); - } - } - - public JAXBDF(EnvJAXB env, Schema schema, QName qname, Class ... classes) throws APIException { - try { - primaryEnv = env; - jumar = new JAXBumar(schema, classes); - jmar = new JAXBmar(qname, classes); - } catch (JAXBException e) { - throw new APIException(e); - } - } - - // @Override - public T newInstance() throws APIException { - try { - return jumar.newInstance(); - } catch (Exception e) { - throw new APIException(e); - } - } - - // @Override - public IOStringifier pretty(boolean pretty) { - jmar.pretty(pretty); - return this; - } - - // @Override - public IOStringifier asFragment(boolean fragment) { - jmar.asFragment(fragment); - return this; - } - - // @Override - public void servicePrestart(Env env) throws APIException { - } - - // @Override - public void threadPrestart(Env env) throws APIException { - } - - // @Override - public void refresh(Env env) throws APIException { - } - - // @Override - public void threadDestroy(Env env) throws APIException { - } - - // @Override - public void serviceDestroy(Env env) throws APIException { - } - - @SuppressWarnings("unchecked") - // @Override - public Data newData() { - return new JAXBData(primaryEnv, this, new JAXBStringifier(jmar), new JAXBObjectifier(jumar),"",(Class)jmar.getMarshalClass()); - } - - @SuppressWarnings("unchecked") - // @Override - public Data newData(Env env) { - return new JAXBData(env, this,new JAXBStringifier(jmar), new JAXBObjectifier(jumar),"",(Class)jmar.getMarshalClass()); - } - - // @Override - public Data newData(T type) { - return new JAXBData(primaryEnv, this, new JAXBStringifier(jmar), new JAXBObjectifier(jumar), type); - } - - // @Override - public Data newDataFromStream(Env env, InputStream input) throws APIException { - //TODO Write an unvalidated String using STAX checking for end of Doc? - // perhaps key evaluation as well. - try { - T t = jumar.unmarshal(env.debug(), input); - return new JAXBData(primaryEnv, this, new JAXBStringifier(jmar), new JAXBObjectifier(jumar),t); - } catch(JAXBException e) { - throw new APIException(e); - } - } - - @SuppressWarnings("unchecked") - // @Override - public Data newDataFromString(String string) { - return new JAXBData(primaryEnv, this,new JAXBStringifier(jmar), new JAXBObjectifier(jumar), string,(Class)jmar.getMarshalClass()); - } - - /////////// Old DataFactory Interface - // @Override - public String stringify(T type) throws APIException { - try { - StringWriter sw = new StringWriter(); - jmar.marshal(primaryEnv.debug(), type, sw); - return sw.toString(); - } catch (JAXBException e) { - throw new APIException(e); - } - } - - // @Override - public void stringify(T type, Writer writer) throws APIException { - try { - jmar.marshal(primaryEnv.debug(), type, writer); - } catch (JAXBException e) { - throw new APIException(e); - } - } - - // @Override - public void stringify(T type, OutputStream os) throws APIException { - try { - jmar.marshal(primaryEnv.debug(), type, os); - } catch (JAXBException e) { - throw new APIException(e); - } - } - - /////////// New DataFactory Interface - // @Override - public String stringify(Env env, T input, boolean ... options) throws APIException { - try { - StringWriter sw = new StringWriter(); - TimeTaken tt = env.start("JAXB Stringify", Env.XML); - try { - jmar.marshal(env.debug(), input, sw, options); - } finally { - tt.done(); - } - String str = sw.toString(); - tt.size(str.getBytes().length); - return str; - } catch (JAXBException e) { - throw new APIException(e); - } - } - - // @Override - public void stringify(Env env, T input, Writer writer, boolean ... options) throws APIException { - TimeTaken tt = env.start("JAXB Stringify", Env.XML); - try { - jmar.marshal(env.debug(), input, writer, options); - } catch (JAXBException e) { - throw new APIException(e); - } finally { - tt.done(); - } - } - - // @Override - public void stringify(Env env, T input, OutputStream os, boolean ... options) throws APIException { - TimeTaken tt = env.start("JAXB Stringify", Env.XML); - try { - jmar.marshal(env.debug(), input, os, options); - } catch (JAXBException e) { - throw new APIException(e); - } finally { - tt.done(); - } - } - - // @Override - public T objectify(Env env, Reader rdr) throws APIException { - TimeTaken tt = env.start("JAXB Objectify", Env.XML); - try { - return jumar.unmarshal(env.debug(), rdr); - } catch (JAXBException e) { - throw new APIException(e); - } finally { - tt.done(); - } - } - - // @Override - public T objectify(Reader rdr) throws APIException { - try { - return jumar.unmarshal(primaryEnv.debug(), rdr); - } catch (JAXBException e) { - throw new APIException(e); - } - } - - // @Override - public T objectify(Env env, InputStream is) throws APIException { - TimeTaken tt = env.start("JAXB Objectify", Env.XML); - try { - return jumar.unmarshal(env.debug(), is); - } catch (JAXBException e) { - throw new APIException(e); - } finally { - tt.done(); - } - } - - // @Override - public T objectify(InputStream is) throws APIException { - try { - return jumar.unmarshal(primaryEnv.debug(), is); - } catch (JAXBException e) { - throw new APIException(e); - } - } - - // @Override - public T objectify(Env env, String input) throws APIException { - TimeTaken tt = env.start("JAXB Objectify", Env.XML); - tt.size(input.getBytes().length); - try { - return jumar.unmarshal(env.debug(), input); - } catch (JAXBException e) { - throw new APIException(e); - } finally { - tt.done(); - } - } - - // @Override - public T objectify(String text) throws APIException { - try { - return jumar.unmarshal(primaryEnv.debug(), text); - } catch (JAXBException e) { - throw new APIException(e); - } - } - - @SuppressWarnings("unchecked") - // @Override - public Class getTypeClass() { - return (Class)jmar.getMarshalClass(); - } + // Package on purpose + EnvJAXB primaryEnv; + JAXBumar jumar; + JAXBmar jmar; + + public JAXBDF(EnvJAXB env, Class ... classes) throws APIException { + try { + primaryEnv = env; + jumar = new JAXBumar(classes); + jmar = new JAXBmar(classes) ; + } catch (JAXBException e) { + throw new APIException(e); + } + } + + public JAXBDF(EnvJAXB env, Schema schema, Class ... classes) throws APIException { + try { + primaryEnv = env; + jumar = new JAXBumar(schema, classes); + jmar = new JAXBmar(classes); + } catch (JAXBException e) { + throw new APIException(e); + } + } + + public JAXBDF(EnvJAXB env, QName qname, Class ... classes) throws APIException { + try { + primaryEnv = env; + jumar = new JAXBumar(classes); + jmar = new JAXBmar(qname, classes); + } catch (JAXBException e) { + throw new APIException(e); + } + } + + public JAXBDF(EnvJAXB env, Schema schema, QName qname, Class ... classes) throws APIException { + try { + primaryEnv = env; + jumar = new JAXBumar(schema, classes); + jmar = new JAXBmar(qname, classes); + } catch (JAXBException e) { + throw new APIException(e); + } + } + + // @Override + public T newInstance() throws APIException { + try { + return jumar.newInstance(); + } catch (Exception e) { + throw new APIException(e); + } + } + + // @Override + public IOStringifier pretty(boolean pretty) { + jmar.pretty(pretty); + return this; + } + + // @Override + public IOStringifier asFragment(boolean fragment) { + jmar.asFragment(fragment); + return this; + } + + // @Override + public void servicePrestart(Env env) throws APIException { + } + + // @Override + public void threadPrestart(Env env) throws APIException { + } + + // @Override + public void refresh(Env env) throws APIException { + } + + // @Override + public void threadDestroy(Env env) throws APIException { + } + + // @Override + public void serviceDestroy(Env env) throws APIException { + } + + @SuppressWarnings("unchecked") + // @Override + public Data newData() { + return new JAXBData(primaryEnv, this, new JAXBStringifier(jmar), new JAXBObjectifier(jumar),"",(Class)jmar.getMarshalClass()); + } + + @SuppressWarnings("unchecked") + // @Override + public Data newData(Env env) { + return new JAXBData(env, this,new JAXBStringifier(jmar), new JAXBObjectifier(jumar),"",(Class)jmar.getMarshalClass()); + } + + // @Override + public Data newData(T type) { + return new JAXBData(primaryEnv, this, new JAXBStringifier(jmar), new JAXBObjectifier(jumar), type); + } + + // @Override + public Data newDataFromStream(Env env, InputStream input) throws APIException { + //TODO Write an unvalidated String using STAX checking for end of Doc? + // perhaps key evaluation as well. + try { + T t = jumar.unmarshal(env.debug(), input); + return new JAXBData(primaryEnv, this, new JAXBStringifier(jmar), new JAXBObjectifier(jumar),t); + } catch(JAXBException e) { + throw new APIException(e); + } + } + + @SuppressWarnings("unchecked") + // @Override + public Data newDataFromString(String string) { + return new JAXBData(primaryEnv, this,new JAXBStringifier(jmar), new JAXBObjectifier(jumar), string,(Class)jmar.getMarshalClass()); + } + + /////////// Old DataFactory Interface + // @Override + public String stringify(T type) throws APIException { + try { + StringWriter sw = new StringWriter(); + jmar.marshal(primaryEnv.debug(), type, sw); + return sw.toString(); + } catch (JAXBException e) { + throw new APIException(e); + } + } + + // @Override + public void stringify(T type, Writer writer) throws APIException { + try { + jmar.marshal(primaryEnv.debug(), type, writer); + } catch (JAXBException e) { + throw new APIException(e); + } + } + + // @Override + public void stringify(T type, OutputStream os) throws APIException { + try { + jmar.marshal(primaryEnv.debug(), type, os); + } catch (JAXBException e) { + throw new APIException(e); + } + } + + /////////// New DataFactory Interface + // @Override + public String stringify(Env env, T input, boolean ... options) throws APIException { + try { + StringWriter sw = new StringWriter(); + TimeTaken tt = env.start("JAXB Stringify", Env.XML); + try { + jmar.marshal(env.debug(), input, sw, options); + } finally { + tt.done(); + } + String str = sw.toString(); + tt.size(str.getBytes().length); + return str; + } catch (JAXBException e) { + throw new APIException(e); + } + } + + // @Override + public void stringify(Env env, T input, Writer writer, boolean ... options) throws APIException { + TimeTaken tt = env.start("JAXB Stringify", Env.XML); + try { + jmar.marshal(env.debug(), input, writer, options); + } catch (JAXBException e) { + throw new APIException(e); + } finally { + tt.done(); + } + } + + // @Override + public void stringify(Env env, T input, OutputStream os, boolean ... options) throws APIException { + TimeTaken tt = env.start("JAXB Stringify", Env.XML); + try { + jmar.marshal(env.debug(), input, os, options); + } catch (JAXBException e) { + throw new APIException(e); + } finally { + tt.done(); + } + } + + // @Override + public T objectify(Env env, Reader rdr) throws APIException { + TimeTaken tt = env.start("JAXB Objectify", Env.XML); + try { + return jumar.unmarshal(env.debug(), rdr); + } catch (JAXBException e) { + throw new APIException(e); + } finally { + tt.done(); + } + } + + // @Override + public T objectify(Reader rdr) throws APIException { + try { + return jumar.unmarshal(primaryEnv.debug(), rdr); + } catch (JAXBException e) { + throw new APIException(e); + } + } + + // @Override + public T objectify(Env env, InputStream is) throws APIException { + TimeTaken tt = env.start("JAXB Objectify", Env.XML); + try { + return jumar.unmarshal(env.debug(), is); + } catch (JAXBException e) { + throw new APIException(e); + } finally { + tt.done(); + } + } + + // @Override + public T objectify(InputStream is) throws APIException { + try { + return jumar.unmarshal(primaryEnv.debug(), is); + } catch (JAXBException e) { + throw new APIException(e); + } + } + + // @Override + public T objectify(Env env, String input) throws APIException { + TimeTaken tt = env.start("JAXB Objectify", Env.XML); + tt.size(input.getBytes().length); + try { + return jumar.unmarshal(env.debug(), input); + } catch (JAXBException e) { + throw new APIException(e); + } finally { + tt.done(); + } + } + + // @Override + public T objectify(String text) throws APIException { + try { + return jumar.unmarshal(primaryEnv.debug(), text); + } catch (JAXBException e) { + throw new APIException(e); + } + } + + @SuppressWarnings("unchecked") + // @Override + public Class getTypeClass() { + return (Class)jmar.getMarshalClass(); + } } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBData.java b/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBData.java index 84502ade..38977a35 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBData.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBData.java @@ -55,267 +55,267 @@ import org.onap.aaf.misc.env.old.Stringifier; * @param */ public final class JAXBData implements Data{ - private Stringifier stringifier; - private Objectifier objectifier; - private String dataAsString; - private T dataAsObject; - private Class tclass; - private JAXBDF df; - private Env creatingEnv; - private boolean options[] = new boolean[] {false, false}; - - /** - * Construct a Data Object with an appropriate Stringifier, Objectifier and Class to support - * - * @param env - * @param strfr - * @param objfr - * @param text - * @param typeClass - */ - JAXBData(Env env, JAXBDF df, Stringifier strfr, Objectifier objfr, String text, Class typeClass) { - dataAsString = text; - dataAsObject = null; - stringifier = strfr; - objectifier = objfr; - tclass = typeClass; - creatingEnv = env; - this.df = df; - } - - - /** - * Construct a Data Object with an appropriate Stringifier, Objectifier and Object (which will - * yield it's class) - * - * @param env - * @param strfr - * @param objfr - * @param object - */ - @SuppressWarnings("unchecked") - JAXBData(Env env, JAXBDF df, Stringifier strfr, Objectifier objfr, T object) { - dataAsString = null; - dataAsObject = object; - stringifier = strfr; - objectifier = objfr; - tclass = (Class) object.getClass(); - creatingEnv = env; - this.df = df; - } + private Stringifier stringifier; + private Objectifier objectifier; + private String dataAsString; + private T dataAsObject; + private Class tclass; + private JAXBDF df; + private Env creatingEnv; + private boolean options[] = new boolean[] {false, false}; + + /** + * Construct a Data Object with an appropriate Stringifier, Objectifier and Class to support + * + * @param env + * @param strfr + * @param objfr + * @param text + * @param typeClass + */ + JAXBData(Env env, JAXBDF df, Stringifier strfr, Objectifier objfr, String text, Class typeClass) { + dataAsString = text; + dataAsObject = null; + stringifier = strfr; + objectifier = objfr; + tclass = typeClass; + creatingEnv = env; + this.df = df; + } + + + /** + * Construct a Data Object with an appropriate Stringifier, Objectifier and Object (which will + * yield it's class) + * + * @param env + * @param strfr + * @param objfr + * @param object + */ + @SuppressWarnings("unchecked") + JAXBData(Env env, JAXBDF df, Stringifier strfr, Objectifier objfr, T object) { + dataAsString = null; + dataAsObject = object; + stringifier = strfr; + objectifier = objfr; + tclass = (Class) object.getClass(); + creatingEnv = env; + this.df = df; + } - /** - * Respond with the String if it exists, or marshal the String and pass the result back.

- * - * Explicitly use a specific Env for logging purposes - * - * @param env - * @return String - * @throws APIException - */ - public String asString(EnvJAXB env) throws APIException { - if(dataAsString!=null) { - return dataAsString; - } else { - return dataAsString = stringifier.stringify(env, dataAsObject); - } - } + /** + * Respond with the String if it exists, or marshal the String and pass the result back.

+ * + * Explicitly use a specific Env for logging purposes + * + * @param env + * @return String + * @throws APIException + */ + public String asString(EnvJAXB env) throws APIException { + if(dataAsString!=null) { + return dataAsString; + } else { + return dataAsString = stringifier.stringify(env, dataAsObject); + } + } - /** - * Respond with the String if it exists, or marshal the String and pass the result back. - * - * However, use the Env the Data Object was created with. - * - * @return String - * @throws APIException - */ - // @Override - public String asString() throws APIException { - if(dataAsString!=null) { - return dataAsString; - } else { - return dataAsString = stringifier.stringify(creatingEnv, dataAsObject,options); - } - } - - public Data to(OutputStream os) throws APIException, IOException { - if(dataAsString!=null) { - os.write(dataAsString.getBytes()); - } else if (stringifier instanceof IOStringifier){ - ((IOStringifier)stringifier).stringify(creatingEnv, dataAsObject, os, options); - } else { - dataAsString = stringifier.stringify(creatingEnv, dataAsObject, options); - os.write(dataAsString.getBytes()); - } - return this; - } + /** + * Respond with the String if it exists, or marshal the String and pass the result back. + * + * However, use the Env the Data Object was created with. + * + * @return String + * @throws APIException + */ + // @Override + public String asString() throws APIException { + if(dataAsString!=null) { + return dataAsString; + } else { + return dataAsString = stringifier.stringify(creatingEnv, dataAsObject,options); + } + } + + public Data to(OutputStream os) throws APIException, IOException { + if(dataAsString!=null) { + os.write(dataAsString.getBytes()); + } else if (stringifier instanceof IOStringifier){ + ((IOStringifier)stringifier).stringify(creatingEnv, dataAsObject, os, options); + } else { + dataAsString = stringifier.stringify(creatingEnv, dataAsObject, options); + os.write(dataAsString.getBytes()); + } + return this; + } - // @Override - public JAXBData to(Writer writer) throws APIException, IOException { - if(dataAsString!=null) { - writer.write(dataAsString); - } else if (stringifier instanceof IOStringifier){ - ((IOStringifier)stringifier).stringify(creatingEnv, dataAsObject, writer, options); - } else { - dataAsString = stringifier.stringify(creatingEnv, dataAsObject, options); - writer.write(dataAsString); - } - return this; - } + // @Override + public JAXBData to(Writer writer) throws APIException, IOException { + if(dataAsString!=null) { + writer.write(dataAsString); + } else if (stringifier instanceof IOStringifier){ + ((IOStringifier)stringifier).stringify(creatingEnv, dataAsObject, writer, options); + } else { + dataAsString = stringifier.stringify(creatingEnv, dataAsObject, options); + writer.write(dataAsString); + } + return this; + } - public InputStream getInputStream() throws APIException { - if(dataAsString==null) { - dataAsString = stringifier.stringify(creatingEnv,dataAsObject,options); - } - return new ByteArrayInputStream(dataAsString.getBytes()); - } - - /** - * Respond with the Object of type {@literal } if it exists, or unmarshal from String - * and pass the result back.

- * - * Explicitly use a specific Env for logging purposes - * - * @param env - * @return T - * @throws APIException - */ + public InputStream getInputStream() throws APIException { + if(dataAsString==null) { + dataAsString = stringifier.stringify(creatingEnv,dataAsObject,options); + } + return new ByteArrayInputStream(dataAsString.getBytes()); + } + + /** + * Respond with the Object of type {@literal } if it exists, or unmarshal from String + * and pass the result back.

+ * + * Explicitly use a specific Env for logging purposes + * + * @param env + * @return T + * @throws APIException + */ - public T asObject(EnvJAXB env) throws APIException { - if(dataAsObject !=null) { - return dataAsObject; - } else { - // Some Java compilers need two statements here - dataAsObject = objectifier.objectify(env, dataAsString); - return dataAsObject; - } - } + public T asObject(EnvJAXB env) throws APIException { + if(dataAsObject !=null) { + return dataAsObject; + } else { + // Some Java compilers need two statements here + dataAsObject = objectifier.objectify(env, dataAsString); + return dataAsObject; + } + } - /** - * Respond with the Object of type {@literal } if it exists, or unmarshal from String - * and pass the result back.

- * - * However, use the Env the Data Object was created with. - * - * @return T - * @throws APIException - */ - // @Override - public T asObject() throws APIException { - if(dataAsObject !=null) { - return dataAsObject; - } else { - // Some Java compilers need two statements here - dataAsObject = objectifier.objectify(creatingEnv, dataAsString); - return dataAsObject; - } - } - + /** + * Respond with the Object of type {@literal } if it exists, or unmarshal from String + * and pass the result back.

+ * + * However, use the Env the Data Object was created with. + * + * @return T + * @throws APIException + */ + // @Override + public T asObject() throws APIException { + if(dataAsObject !=null) { + return dataAsObject; + } else { + // Some Java compilers need two statements here + dataAsObject = objectifier.objectify(creatingEnv, dataAsString); + return dataAsObject; + } + } + - /** - * Return the Class Type supported by this DataObject - * - * @return {@literal Class} - */ - // @Override - public Class getTypeClass() { - return tclass; - } - - - /** - * For Debugging Convenience, we marshal to String if possible. - * - * Behavior is essentially the same as asString(), except asString() throws - * an APIException.

- * Since toString() must not throw exceptions, the function just catches and prints an - * error, which is probably not the behavior desired.

- * - * Therefore, use "asString()" where possible in actual Transactional code. - * - * @see java.lang.Object#toString() - */ - // @Override - public String toString() { - if(dataAsString!=null) { - return dataAsString; - } else { - try { - return dataAsString = stringifier.stringify(creatingEnv, dataAsObject); - } catch (APIException e) { - return "ERROR - Can't Stringify from Object " + e.getLocalizedMessage(); - } - } - } + /** + * Return the Class Type supported by this DataObject + * + * @return {@literal Class} + */ + // @Override + public Class getTypeClass() { + return tclass; + } + + + /** + * For Debugging Convenience, we marshal to String if possible. + * + * Behavior is essentially the same as asString(), except asString() throws + * an APIException.

+ * Since toString() must not throw exceptions, the function just catches and prints an + * error, which is probably not the behavior desired.

+ * + * Therefore, use "asString()" where possible in actual Transactional code. + * + * @see java.lang.Object#toString() + */ + // @Override + public String toString() { + if(dataAsString!=null) { + return dataAsString; + } else { + try { + return dataAsString = stringifier.stringify(creatingEnv, dataAsObject); + } catch (APIException e) { + return "ERROR - Can't Stringify from Object " + e.getLocalizedMessage(); + } + } + } - public Data load(T t) throws APIException { - dataAsObject = t; - dataAsString = null; - return this; - } + public Data load(T t) throws APIException { + dataAsObject = t; + dataAsString = null; + return this; + } - public Data load(String str) throws APIException { - dataAsObject = null; - dataAsString = str; - return this; - } + public Data load(String str) throws APIException { + dataAsObject = null; + dataAsString = str; + return this; + } - public Data load(InputStream is) throws APIException { - try { - dataAsObject = df.jumar.unmarshal(creatingEnv.debug(),is); - dataAsString = null; - } catch (JAXBException e) { - throw new APIException(e); - } - return this; - } + public Data load(InputStream is) throws APIException { + try { + dataAsObject = df.jumar.unmarshal(creatingEnv.debug(),is); + dataAsString = null; + } catch (JAXBException e) { + throw new APIException(e); + } + return this; + } - public Data load(Reader rdr) throws APIException { - try { - dataAsObject = df.jumar.unmarshal(creatingEnv.debug(),rdr); - dataAsString = null; - } catch (JAXBException e) { - throw new APIException(e); - } - return this; - } + public Data load(Reader rdr) throws APIException { + try { + dataAsObject = df.jumar.unmarshal(creatingEnv.debug(),rdr); + dataAsString = null; + } catch (JAXBException e) { + throw new APIException(e); + } + return this; + } - // @Override - public void direct(InputStream input, OutputStream output) throws APIException, IOException { - byte b[] = new byte[128]; - int count; - do { - count = input.read(b); - if(count>0)output.write(b, 0, count); - } while(count>=0); - } + // @Override + public void direct(InputStream input, OutputStream output) throws APIException, IOException { + byte b[] = new byte[128]; + int count; + do { + count = input.read(b); + if(count>0)output.write(b, 0, count); + } while(count>=0); + } - // @Override - public Data out(TYPE type) { - // it's going to be XML regardless... - return this; - } + // @Override + public Data out(TYPE type) { + // it's going to be XML regardless... + return this; + } - // @Override - public Data in(TYPE type) { - // Not Supported... will still be XML - return this; - } + // @Override + public Data in(TYPE type) { + // Not Supported... will still be XML + return this; + } - // @Override - public Data option(int option) { - options[0] = (option&Data.PRETTY)==Data.PRETTY; - options[1] = (option&Data.FRAGMENT)==Data.FRAGMENT; - return this; - } - + // @Override + public Data option(int option) { + options[0] = (option&Data.PRETTY)==Data.PRETTY; + options[1] = (option&Data.FRAGMENT)==Data.FRAGMENT; + return this; + } + } \ No newline at end of file diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBObjectifier.java b/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBObjectifier.java index 432a449a..7075c7ef 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBObjectifier.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBObjectifier.java @@ -36,100 +36,100 @@ import org.onap.aaf.misc.env.old.IOObjectifier; * Allow Extended IO interface usage without muddying up the Stringifier Interface */ public class JAXBObjectifier implements IOObjectifier { - private JAXBumar jumar; - - public JAXBObjectifier(Schema schema, Class... classes) throws APIException { - try { - jumar = new JAXBumar(schema, classes); - } catch (JAXBException e) { - throw new APIException(e); - } - } - - public JAXBObjectifier(Class... classes) throws APIException { - try { - jumar = new JAXBumar(classes); - } catch (JAXBException e) { - throw new APIException(e); - } - } - + private JAXBumar jumar; + + public JAXBObjectifier(Schema schema, Class... classes) throws APIException { + try { + jumar = new JAXBumar(schema, classes); + } catch (JAXBException e) { + throw new APIException(e); + } + } + + public JAXBObjectifier(Class... classes) throws APIException { + try { + jumar = new JAXBumar(classes); + } catch (JAXBException e) { + throw new APIException(e); + } + } + // package on purpose - JAXBObjectifier(JAXBumar jumar) { - this.jumar = jumar; - } - - @SuppressWarnings("unchecked") - // @Override - public T objectify(Env env, String input) throws APIException { - TimeTaken tt = env.start("JAXB Unmarshal", Env.XML); - try { - tt.size(input.length()); - return (T)jumar.unmarshal(env.debug(), input); - } catch (JAXBException e) { - throw new APIException(e); - } finally { - tt.done(); - } - } - - @SuppressWarnings("unchecked") - // @Override - public T objectify(Env env, Reader rdr) throws APIException { - //TODO create a Reader that Counts? - TimeTaken tt = env.start("JAXB Unmarshal", Env.XML); - try { - return (T)jumar.unmarshal(env.debug(), rdr); - } catch (JAXBException e) { - throw new APIException(e); - } finally { - tt.done(); - } - } - - - @SuppressWarnings("unchecked") - // @Override - public T objectify(Env env, InputStream is) throws APIException { - //TODO create a Reader that Counts? - TimeTaken tt = env.start("JAXB Unmarshal", Env.XML); - try { - return (T)jumar.unmarshal(env.debug(), is); - } catch (JAXBException e) { - throw new APIException(e); - } finally { - tt.done(); - } - } - - - public void servicePrestart(Env env) throws APIException { - } - - public void threadPrestart(Env env) throws APIException { - } - - // // @Override - public void refresh(Env env) throws APIException { - } - - // // @Override - public void threadDestroy(Env env) throws APIException { - } - - // // @Override - public void serviceDestroy(Env env) throws APIException { - } - - - @SuppressWarnings("unchecked") - public T newInstance() throws APIException { - try { - return (T)jumar.newInstance(); - } catch (Exception e) { - throw new APIException(e); - } - } + JAXBObjectifier(JAXBumar jumar) { + this.jumar = jumar; + } + + @SuppressWarnings("unchecked") + // @Override + public T objectify(Env env, String input) throws APIException { + TimeTaken tt = env.start("JAXB Unmarshal", Env.XML); + try { + tt.size(input.length()); + return (T)jumar.unmarshal(env.debug(), input); + } catch (JAXBException e) { + throw new APIException(e); + } finally { + tt.done(); + } + } + + @SuppressWarnings("unchecked") + // @Override + public T objectify(Env env, Reader rdr) throws APIException { + //TODO create a Reader that Counts? + TimeTaken tt = env.start("JAXB Unmarshal", Env.XML); + try { + return (T)jumar.unmarshal(env.debug(), rdr); + } catch (JAXBException e) { + throw new APIException(e); + } finally { + tt.done(); + } + } + + + @SuppressWarnings("unchecked") + // @Override + public T objectify(Env env, InputStream is) throws APIException { + //TODO create a Reader that Counts? + TimeTaken tt = env.start("JAXB Unmarshal", Env.XML); + try { + return (T)jumar.unmarshal(env.debug(), is); + } catch (JAXBException e) { + throw new APIException(e); + } finally { + tt.done(); + } + } + + + public void servicePrestart(Env env) throws APIException { + } + + public void threadPrestart(Env env) throws APIException { + } + + // // @Override + public void refresh(Env env) throws APIException { + } + + // // @Override + public void threadDestroy(Env env) throws APIException { + } + + // // @Override + public void serviceDestroy(Env env) throws APIException { + } + + + @SuppressWarnings("unchecked") + public T newInstance() throws APIException { + try { + return (T)jumar.newInstance(); + } catch (Exception e) { + throw new APIException(e); + } + } } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBStringifier.java b/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBStringifier.java index d1b0cdad..8600efa2 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBStringifier.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBStringifier.java @@ -34,104 +34,104 @@ import org.onap.aaf.misc.env.TimeTaken; import org.onap.aaf.misc.env.old.IOStringifier; public class JAXBStringifier implements IOStringifier { - private JAXBmar jmar; - - public JAXBStringifier(Class... classes) throws APIException { - try { - jmar = new JAXBmar(classes); - } catch (JAXBException e) { - throw new APIException(e); - } - } - - public JAXBStringifier(QName qname, Class... classes) - throws APIException { - try { - jmar = new JAXBmar(qname, classes); - } catch (JAXBException e) { - throw new APIException(e); - } - } - - // package on purpose - JAXBStringifier(JAXBmar jmar) { - this.jmar = jmar; - } - - // // @Override - public void stringify(Env env, T input, Writer writer, boolean ... options) - throws APIException { - TimeTaken tt = env.start("JAXB Marshal", Env.XML); - try { - jmar.marshal(env.debug(), input, writer, options); - } catch (JAXBException e) { - throw new APIException(e); - } finally { - tt.done(); - } - } - - // @Override - public void stringify(Env env, T input, OutputStream os, boolean ... options) - throws APIException { - // TODO create an OutputStream that Counts? - TimeTaken tt = env.start("JAXB Marshal", Env.XML); - try { - jmar.marshal(env.debug(), input, os, options); - } catch (JAXBException e) { - throw new APIException(e); - } finally { - tt.done(); - } - } - - // @Override - public String stringify(Env env, T input, boolean ... options) throws APIException { - TimeTaken tt = env.start("JAXB Marshal", Env.XML); - StringWriter sw = new StringWriter(); - try { - jmar.marshal(env.debug(), input, sw, options); - String rv = sw.toString(); - tt.size(rv.length()); - return rv; - } catch (JAXBException e) { - tt.size(0); - throw new APIException(e); - } finally { - tt.done(); - } - } - - // // @Override - public void servicePrestart(Env env) throws APIException { - } - - // // @Override - public void threadPrestart(Env env) throws APIException { - } - - // // @Override - public void refresh(Env env) throws APIException { - } - - // // @Override - public void threadDestroy(Env env) throws APIException { - } - - // // @Override - public void serviceDestroy(Env env) throws APIException { - } - - // @Override - public JAXBStringifier pretty(boolean pretty) { - jmar.pretty(pretty); - return this; - } - - // @Override - public JAXBStringifier asFragment(boolean fragment) { - jmar.asFragment(fragment); - return this; - } + private JAXBmar jmar; + + public JAXBStringifier(Class... classes) throws APIException { + try { + jmar = new JAXBmar(classes); + } catch (JAXBException e) { + throw new APIException(e); + } + } + + public JAXBStringifier(QName qname, Class... classes) + throws APIException { + try { + jmar = new JAXBmar(qname, classes); + } catch (JAXBException e) { + throw new APIException(e); + } + } + + // package on purpose + JAXBStringifier(JAXBmar jmar) { + this.jmar = jmar; + } + + // // @Override + public void stringify(Env env, T input, Writer writer, boolean ... options) + throws APIException { + TimeTaken tt = env.start("JAXB Marshal", Env.XML); + try { + jmar.marshal(env.debug(), input, writer, options); + } catch (JAXBException e) { + throw new APIException(e); + } finally { + tt.done(); + } + } + + // @Override + public void stringify(Env env, T input, OutputStream os, boolean ... options) + throws APIException { + // TODO create an OutputStream that Counts? + TimeTaken tt = env.start("JAXB Marshal", Env.XML); + try { + jmar.marshal(env.debug(), input, os, options); + } catch (JAXBException e) { + throw new APIException(e); + } finally { + tt.done(); + } + } + + // @Override + public String stringify(Env env, T input, boolean ... options) throws APIException { + TimeTaken tt = env.start("JAXB Marshal", Env.XML); + StringWriter sw = new StringWriter(); + try { + jmar.marshal(env.debug(), input, sw, options); + String rv = sw.toString(); + tt.size(rv.length()); + return rv; + } catch (JAXBException e) { + tt.size(0); + throw new APIException(e); + } finally { + tt.done(); + } + } + + // // @Override + public void servicePrestart(Env env) throws APIException { + } + + // // @Override + public void threadPrestart(Env env) throws APIException { + } + + // // @Override + public void refresh(Env env) throws APIException { + } + + // // @Override + public void threadDestroy(Env env) throws APIException { + } + + // // @Override + public void serviceDestroy(Env env) throws APIException { + } + + // @Override + public JAXBStringifier pretty(boolean pretty) { + jmar.pretty(pretty); + return this; + } + + // @Override + public JAXBStringifier asFragment(boolean fragment) { + jmar.asFragment(fragment); + return this; + } } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBmar.java b/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBmar.java index 4a01d8b1..46c40ebb 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBmar.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBmar.java @@ -63,191 +63,191 @@ import org.onap.aaf.misc.env.util.Pool.Pooled; * */ public class JAXBmar { - // Need to store off possible JAXBContexts based on Class, which will be stored in Creator - private static Map[],Pool> pools = new HashMap<>(); - - // Handle Marshaller class setting of properties only when needed - private class PMarshaller { - private Marshaller m; - private boolean p; - private boolean f; - - public PMarshaller(Marshaller marshaller) throws JAXBException { - m = marshaller; - m.setProperty(Marshaller.JAXB_ENCODING, "UTF-8"); - m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, p = false); - m.setProperty(Marshaller.JAXB_FRAGMENT, f = false); - } - - public Marshaller get(boolean pretty, boolean fragment) throws JAXBException { - if(pretty != p) { - m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, p = pretty); - } - if(fragment != f) { - m.setProperty(Marshaller.JAXB_FRAGMENT, f = fragment); - } - return m; - } - } - - private class Creator implements Pool.Creator { - private JAXBContext jc; - private String name; - public Creator(Class[] classes) throws JAXBException { - jc = JAXBContext.newInstance(classes); - name = "JAXBmar: " + classes[0].getName(); - } - - // @Override - public PMarshaller create() throws APIException { - try { - return new PMarshaller(jc.createMarshaller()); - } catch (JAXBException e) { - throw new APIException(e); - } - } - - public String toString() { - return name; - } - - // @Override - public void reuse(PMarshaller pm) { - // Nothing to do - } - - // @Override - public void destroy(PMarshaller pm) { - // Nothing to do - } - - // @Override - public boolean isValid(PMarshaller t) { - return true; - } - } - - //TODO isn't UTF-8 a standard string somewhere for encoding? - private boolean fragment= false; - private boolean pretty=false; - private QName qname; - - private Pool mpool; // specific Pool associated with constructed Classes - private Class cls; - - private Pool getPool(Class ... classes) throws JAXBException { - Pool mp; - synchronized(pools) { - mp = pools.get(classes); - if(mp==null) { - pools.put(classes,mp = new Pool(new Creator(classes))); - } - } - return mp; - } - - public JAXBmar(Class... classes) throws JAXBException { - cls = classes[0]; - mpool = getPool(classes); - qname = null; - } - - public JAXBmar(QName theQname, Class... classes) throws JAXBException { - cls = classes[0]; - mpool = getPool(classes); - qname = theQname; - } - - @SuppressWarnings("unchecked") - public O marshal(LogTarget lt,O o, Writer writer, boolean ... options) throws JAXBException, APIException { - boolean pretty, fragment; - pretty = options.length>0?options[0]:this.pretty; - fragment = options.length>1?options[1]:this.fragment; - Pooled m = mpool.get(lt); - try { - if(qname==null) { - m.content.get(pretty,fragment).marshal(o, writer); - } else { - m.content.get(pretty,fragment).marshal( - new JAXBElement(qname, (Class)cls, o ), - writer); - } - return o; - } finally { - m.done(); - } - } - - @SuppressWarnings("unchecked") - public O marshal(LogTarget lt, O o, OutputStream os, boolean ... options) throws JAXBException, APIException { - boolean pretty, fragment; - pretty = options.length>0?options[0]:this.pretty; - fragment = options.length>1?options[1]:this.fragment; - Pooled m = mpool.get(lt); - try { - if(qname==null) { - m.content.get(pretty,fragment).marshal(o, os); - } else { - m.content.get(pretty,fragment).marshal( - new JAXBElement(qname, (Class)cls, o ),os); - } - return o; - } finally { - m.done(); - } - } - - public O marshal(LogTarget lt, O o, Writer writer, Class clss) throws JAXBException, APIException { - Pooled m = mpool.get(lt); - try { - if(qname==null) { - m.content.get(pretty,fragment).marshal(o, writer); - } else { - m.content.get(pretty,fragment).marshal( - new JAXBElement(qname, clss, o),writer); - } - return o; - } finally { - m.done(); - } - - } - - public O marshal(LogTarget lt, O o, OutputStream os, Class clss) throws JAXBException, APIException { - Pooled m = mpool.get(lt); - try { - if(qname==null) { - m.content.get(pretty,fragment).marshal(o, os); - } else { - m.content.get(pretty,fragment).marshal( - new JAXBElement(qname, clss, o ),os); - } - return o; - } finally { - m.done(); - } - } - - /** - * @return - */ - public Class getMarshalClass() { - return cls; - } - - public String stringify(LogTarget lt, O o) throws JAXBException, APIException { - StringWriter sw = new StringWriter(); - marshal(lt,o,sw); - return sw.toString(); - } - - public JAXBmar pretty(boolean pretty) { - this.pretty = pretty; - return this; - } - - public JAXBmar asFragment(boolean fragment) { - this.fragment = fragment; - return this; - } + // Need to store off possible JAXBContexts based on Class, which will be stored in Creator + private static Map[],Pool> pools = new HashMap<>(); + + // Handle Marshaller class setting of properties only when needed + private class PMarshaller { + private Marshaller m; + private boolean p; + private boolean f; + + public PMarshaller(Marshaller marshaller) throws JAXBException { + m = marshaller; + m.setProperty(Marshaller.JAXB_ENCODING, "UTF-8"); + m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, p = false); + m.setProperty(Marshaller.JAXB_FRAGMENT, f = false); + } + + public Marshaller get(boolean pretty, boolean fragment) throws JAXBException { + if(pretty != p) { + m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, p = pretty); + } + if(fragment != f) { + m.setProperty(Marshaller.JAXB_FRAGMENT, f = fragment); + } + return m; + } + } + + private class Creator implements Pool.Creator { + private JAXBContext jc; + private String name; + public Creator(Class[] classes) throws JAXBException { + jc = JAXBContext.newInstance(classes); + name = "JAXBmar: " + classes[0].getName(); + } + + // @Override + public PMarshaller create() throws APIException { + try { + return new PMarshaller(jc.createMarshaller()); + } catch (JAXBException e) { + throw new APIException(e); + } + } + + public String toString() { + return name; + } + + // @Override + public void reuse(PMarshaller pm) { + // Nothing to do + } + + // @Override + public void destroy(PMarshaller pm) { + // Nothing to do + } + + // @Override + public boolean isValid(PMarshaller t) { + return true; + } + } + + //TODO isn't UTF-8 a standard string somewhere for encoding? + private boolean fragment= false; + private boolean pretty=false; + private QName qname; + + private Pool mpool; // specific Pool associated with constructed Classes + private Class cls; + + private Pool getPool(Class ... classes) throws JAXBException { + Pool mp; + synchronized(pools) { + mp = pools.get(classes); + if(mp==null) { + pools.put(classes,mp = new Pool(new Creator(classes))); + } + } + return mp; + } + + public JAXBmar(Class... classes) throws JAXBException { + cls = classes[0]; + mpool = getPool(classes); + qname = null; + } + + public JAXBmar(QName theQname, Class... classes) throws JAXBException { + cls = classes[0]; + mpool = getPool(classes); + qname = theQname; + } + + @SuppressWarnings("unchecked") + public O marshal(LogTarget lt,O o, Writer writer, boolean ... options) throws JAXBException, APIException { + boolean pretty, fragment; + pretty = options.length>0?options[0]:this.pretty; + fragment = options.length>1?options[1]:this.fragment; + Pooled m = mpool.get(lt); + try { + if(qname==null) { + m.content.get(pretty,fragment).marshal(o, writer); + } else { + m.content.get(pretty,fragment).marshal( + new JAXBElement(qname, (Class)cls, o ), + writer); + } + return o; + } finally { + m.done(); + } + } + + @SuppressWarnings("unchecked") + public O marshal(LogTarget lt, O o, OutputStream os, boolean ... options) throws JAXBException, APIException { + boolean pretty, fragment; + pretty = options.length>0?options[0]:this.pretty; + fragment = options.length>1?options[1]:this.fragment; + Pooled m = mpool.get(lt); + try { + if(qname==null) { + m.content.get(pretty,fragment).marshal(o, os); + } else { + m.content.get(pretty,fragment).marshal( + new JAXBElement(qname, (Class)cls, o ),os); + } + return o; + } finally { + m.done(); + } + } + + public O marshal(LogTarget lt, O o, Writer writer, Class clss) throws JAXBException, APIException { + Pooled m = mpool.get(lt); + try { + if(qname==null) { + m.content.get(pretty,fragment).marshal(o, writer); + } else { + m.content.get(pretty,fragment).marshal( + new JAXBElement(qname, clss, o),writer); + } + return o; + } finally { + m.done(); + } + + } + + public O marshal(LogTarget lt, O o, OutputStream os, Class clss) throws JAXBException, APIException { + Pooled m = mpool.get(lt); + try { + if(qname==null) { + m.content.get(pretty,fragment).marshal(o, os); + } else { + m.content.get(pretty,fragment).marshal( + new JAXBElement(qname, clss, o ),os); + } + return o; + } finally { + m.done(); + } + } + + /** + * @return + */ + public Class getMarshalClass() { + return cls; + } + + public String stringify(LogTarget lt, O o) throws JAXBException, APIException { + StringWriter sw = new StringWriter(); + marshal(lt,o,sw); + return sw.toString(); + } + + public JAXBmar pretty(boolean pretty) { + this.pretty = pretty; + return this; + } + + public JAXBmar asFragment(boolean fragment) { + this.fragment = fragment; + return this; + } } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBumar.java b/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBumar.java index 0c078a98..fe3f0145 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBumar.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/jaxb/JAXBumar.java @@ -67,177 +67,177 @@ import org.w3c.dom.Node; * */ public class JAXBumar { - // Need to store off possible JAXBContexts based on Class, which will be stored in Creator - private static Map[],Pool> pools = new HashMap<>(); - - private Class cls; - private Schema schema; - private Pool mpool;; - - // Handle Marshaller class setting of properties only when needed - private class SUnmarshaller { - private Unmarshaller u; - private Schema s; - - public SUnmarshaller(Unmarshaller unmarshaller) throws JAXBException { - u = unmarshaller; - s = null; - } - - public Unmarshaller get(Schema schema) throws JAXBException { - if(s != schema) { - u.setSchema(s = schema); - } - return u; - } - } - - private class Creator implements Pool.Creator { - private JAXBContext jc; - private String name; - - public Creator(Class[] classes) throws JAXBException { - jc = JAXBContext.newInstance(classes); - name = "JAXBumar: " + classes[0].getName(); - } - - // @Override - public SUnmarshaller create() throws APIException { - try { - return new SUnmarshaller(jc.createUnmarshaller()); - } catch (JAXBException e) { - throw new APIException(e); - } - } - - public String toString() { - return name; - } - - // @Override - public void destroy(SUnmarshaller sui) { - // Nothing to do - } - - // @Override - public boolean isValid(SUnmarshaller t) { - return true; - } - - // @Override - public void reuse(SUnmarshaller t) { - // Nothing to do here - } - - } - - private Pool getPool(Class ... classes) throws JAXBException { - Pool mp; - synchronized(pools) { - mp = pools.get(classes); - if(mp==null) { - pools.put(classes,mp = new Pool(new Creator(classes))); - } - } - return mp; - } - - public JAXBumar(Class ... classes) throws JAXBException { - cls = classes[0]; - mpool = getPool(classes); - schema = null; - } - - /** - * Constructs a new JAXBumar with schema validation enabled. - * - * @param schema - * @param theClass - * @throws JAXBException - */ - public JAXBumar(Schema schema, Class ... classes) throws JAXBException { - cls = classes[0]; - mpool = getPool(classes); - this.schema = schema; - } - - @SuppressWarnings("unchecked") - public O unmarshal(LogTarget env, Node node) throws JAXBException, APIException { - Pooled s = mpool.get(env); - try { - return s.content.get(schema).unmarshal(node,(Class)cls).getValue(); - } finally { - s.done(); - } - - } - - @SuppressWarnings("unchecked") - public O unmarshal(LogTarget env, String xml) throws JAXBException, APIException { - if(xml==null) throw new JAXBException("Null Input for String unmarshal"); - Pooled s = mpool.get(env); - try { - return (O)s.content.get(schema).unmarshal( - new StreamSource(new StringReader(xml)) - ,(Class)cls).getValue(); - } finally { - s.done(); - } - } - - @SuppressWarnings("unchecked") - public O unmarshal(LogTarget env, File xmlFile) throws JAXBException, APIException { - Pooled s = mpool.get(env); - try { - return (O)s.content.get(schema).unmarshal(xmlFile); - } finally { - s.done(); - } - - } - - @SuppressWarnings("unchecked") - public O unmarshal(LogTarget env,InputStream is) throws JAXBException, APIException { - Pooled s = mpool.get(env); - try { - return (O)s.content.get(schema).unmarshal(is); - } finally { - s.done(); - } - } - - @SuppressWarnings("unchecked") - public O unmarshal(LogTarget env, Reader rdr) throws JAXBException, APIException { - Pooled s = mpool.get(env); - try { - return (O)s.content.get(schema).unmarshal(rdr); - } finally { - s.done(); - } - } - - @SuppressWarnings("unchecked") - public O unmarshal(LogTarget env, XMLStreamReader xsr) throws JAXBException, APIException { - Pooled s = mpool.get(env); - try { - return (O)s.content.get(schema).unmarshal(xsr,(Class)cls).getValue(); - } finally { - s.done(); - } - } - - @SuppressWarnings("unchecked") - public O unmarshal(LogTarget env, XMLEventReader xer) throws JAXBException, APIException { - Pooled s = mpool.get(env); - try { - return (O)s.content.get(schema).unmarshal(xer,(Class)cls).getValue(); - } finally { - s.done(); - } - } - - @SuppressWarnings("unchecked") - public O newInstance() throws InstantiationException, IllegalAccessException{ - return ((Class)cls).newInstance(); - } + // Need to store off possible JAXBContexts based on Class, which will be stored in Creator + private static Map[],Pool> pools = new HashMap<>(); + + private Class cls; + private Schema schema; + private Pool mpool;; + + // Handle Marshaller class setting of properties only when needed + private class SUnmarshaller { + private Unmarshaller u; + private Schema s; + + public SUnmarshaller(Unmarshaller unmarshaller) throws JAXBException { + u = unmarshaller; + s = null; + } + + public Unmarshaller get(Schema schema) throws JAXBException { + if(s != schema) { + u.setSchema(s = schema); + } + return u; + } + } + + private class Creator implements Pool.Creator { + private JAXBContext jc; + private String name; + + public Creator(Class[] classes) throws JAXBException { + jc = JAXBContext.newInstance(classes); + name = "JAXBumar: " + classes[0].getName(); + } + + // @Override + public SUnmarshaller create() throws APIException { + try { + return new SUnmarshaller(jc.createUnmarshaller()); + } catch (JAXBException e) { + throw new APIException(e); + } + } + + public String toString() { + return name; + } + + // @Override + public void destroy(SUnmarshaller sui) { + // Nothing to do + } + + // @Override + public boolean isValid(SUnmarshaller t) { + return true; + } + + // @Override + public void reuse(SUnmarshaller t) { + // Nothing to do here + } + + } + + private Pool getPool(Class ... classes) throws JAXBException { + Pool mp; + synchronized(pools) { + mp = pools.get(classes); + if(mp==null) { + pools.put(classes,mp = new Pool(new Creator(classes))); + } + } + return mp; + } + + public JAXBumar(Class ... classes) throws JAXBException { + cls = classes[0]; + mpool = getPool(classes); + schema = null; + } + + /** + * Constructs a new JAXBumar with schema validation enabled. + * + * @param schema + * @param theClass + * @throws JAXBException + */ + public JAXBumar(Schema schema, Class ... classes) throws JAXBException { + cls = classes[0]; + mpool = getPool(classes); + this.schema = schema; + } + + @SuppressWarnings("unchecked") + public O unmarshal(LogTarget env, Node node) throws JAXBException, APIException { + Pooled s = mpool.get(env); + try { + return s.content.get(schema).unmarshal(node,(Class)cls).getValue(); + } finally { + s.done(); + } + + } + + @SuppressWarnings("unchecked") + public O unmarshal(LogTarget env, String xml) throws JAXBException, APIException { + if(xml==null) throw new JAXBException("Null Input for String unmarshal"); + Pooled s = mpool.get(env); + try { + return (O)s.content.get(schema).unmarshal( + new StreamSource(new StringReader(xml)) + ,(Class)cls).getValue(); + } finally { + s.done(); + } + } + + @SuppressWarnings("unchecked") + public O unmarshal(LogTarget env, File xmlFile) throws JAXBException, APIException { + Pooled s = mpool.get(env); + try { + return (O)s.content.get(schema).unmarshal(xmlFile); + } finally { + s.done(); + } + + } + + @SuppressWarnings("unchecked") + public O unmarshal(LogTarget env,InputStream is) throws JAXBException, APIException { + Pooled s = mpool.get(env); + try { + return (O)s.content.get(schema).unmarshal(is); + } finally { + s.done(); + } + } + + @SuppressWarnings("unchecked") + public O unmarshal(LogTarget env, Reader rdr) throws JAXBException, APIException { + Pooled s = mpool.get(env); + try { + return (O)s.content.get(schema).unmarshal(rdr); + } finally { + s.done(); + } + } + + @SuppressWarnings("unchecked") + public O unmarshal(LogTarget env, XMLStreamReader xsr) throws JAXBException, APIException { + Pooled s = mpool.get(env); + try { + return (O)s.content.get(schema).unmarshal(xsr,(Class)cls).getValue(); + } finally { + s.done(); + } + } + + @SuppressWarnings("unchecked") + public O unmarshal(LogTarget env, XMLEventReader xer) throws JAXBException, APIException { + Pooled s = mpool.get(env); + try { + return (O)s.content.get(schema).unmarshal(xer,(Class)cls).getValue(); + } finally { + s.done(); + } + } + + @SuppressWarnings("unchecked") + public O newInstance() throws InstantiationException, IllegalAccessException{ + return ((Class)cls).newInstance(); + } } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/old/IOObjectifier.java b/misc/env/src/main/java/org/onap/aaf/misc/env/old/IOObjectifier.java index ba1b981a..03e47911 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/old/IOObjectifier.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/old/IOObjectifier.java @@ -28,30 +28,30 @@ import org.onap.aaf.misc.env.APIException; import org.onap.aaf.misc.env.Env; public interface IOObjectifier extends Objectifier { - /** - * Marshal to Object T from a Reader, using contents from Env as necessary.

- * - * Implementations should use the {@link Env} to call "env.startXMLTime()" to mark - * XML time, since this is often a costly process. - * - * @param env - * @param input - * @return T - * @throws APIException - */ - public abstract T objectify(Env env, Reader rdr) throws APIException; - - /** - * Marshal to Object T from an InputStream, using contents from Env as necessary.

- * - * Implementations should use the {@link Env} to call "env.startXMLTime()" to mark - * XML time, since this is often a costly process. - * - * @param env - * @param input - * @return T - * @throws APIException - */ - public abstract T objectify(Env env, InputStream is) throws APIException; + /** + * Marshal to Object T from a Reader, using contents from Env as necessary.

+ * + * Implementations should use the {@link Env} to call "env.startXMLTime()" to mark + * XML time, since this is often a costly process. + * + * @param env + * @param input + * @return T + * @throws APIException + */ + public abstract T objectify(Env env, Reader rdr) throws APIException; + + /** + * Marshal to Object T from an InputStream, using contents from Env as necessary.

+ * + * Implementations should use the {@link Env} to call "env.startXMLTime()" to mark + * XML time, since this is often a costly process. + * + * @param env + * @param input + * @return T + * @throws APIException + */ + public abstract T objectify(Env env, InputStream is) throws APIException; } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/old/IOStringifier.java b/misc/env/src/main/java/org/onap/aaf/misc/env/old/IOStringifier.java index 137e401f..ca03a1b8 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/old/IOStringifier.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/old/IOStringifier.java @@ -31,47 +31,47 @@ import org.onap.aaf.misc.env.Env; * Allow Extended IO interface usage without muddying up the Stringifier Interface */ public interface IOStringifier extends Stringifier { - /** - * Marshal from an Object T onto a Writer, using contents from Env as necessary.

- * - * Implementations should use the {@link Env} to call "env.startTime(, Env.XML)" to mark - * XML time, since this is often a costly process. - * - * @param env - * @param input - * @return String - * @throws APIException - */ - public abstract void stringify(Env env, T input, Writer writer, boolean ... options) throws APIException; - - /** - * Marshal from a String to an Object T, using contents from Env as necessary.

- * - * Implementations should use the {@link Env} to call "env.startXMLTime()" to mark - * XML time, since this is often a costly process. - * - * @param env - * @param input - * @return String - * @throws APIException - */ - public abstract void stringify(Env env, T input, OutputStream os, boolean ... options) throws APIException; + /** + * Marshal from an Object T onto a Writer, using contents from Env as necessary.

+ * + * Implementations should use the {@link Env} to call "env.startTime(, Env.XML)" to mark + * XML time, since this is often a costly process. + * + * @param env + * @param input + * @return String + * @throws APIException + */ + public abstract void stringify(Env env, T input, Writer writer, boolean ... options) throws APIException; + + /** + * Marshal from a String to an Object T, using contents from Env as necessary.

+ * + * Implementations should use the {@link Env} to call "env.startXMLTime()" to mark + * XML time, since this is often a costly process. + * + * @param env + * @param input + * @return String + * @throws APIException + */ + public abstract void stringify(Env env, T input, OutputStream os, boolean ... options) throws APIException; - /** - * Set Pretty XML, where possible - * - * @param pretty - * @throws APIException - */ - public abstract IOStringifier pretty(boolean pretty); + /** + * Set Pretty XML, where possible + * + * @param pretty + * @throws APIException + */ + public abstract IOStringifier pretty(boolean pretty); - /** - * Set Generate Fragment - * - * @param fragment - * @throws APIException - */ - public abstract IOStringifier asFragment(boolean fragment); + /** + * Set Generate Fragment + * + * @param fragment + * @throws APIException + */ + public abstract IOStringifier asFragment(boolean fragment); } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/old/Objectifier.java b/misc/env/src/main/java/org/onap/aaf/misc/env/old/Objectifier.java index 1fd3cdaf..1f58077e 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/old/Objectifier.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/old/Objectifier.java @@ -35,26 +35,26 @@ import org.onap.aaf.misc.env.LifeCycle; * the creation of an uninitialized object. */ public interface Objectifier extends LifeCycle { - /** - * Marshal to Object T from a String, using contents from Env as necessary.

- * - * Implementations should use the {@link Env} to call "env.startXMLTime()" to mark - * XML time, since this is often a costly process. - * - * @param env - * @param input - * @return T - * @throws APIException - */ - public abstract T objectify(Env env, String input) throws APIException; + /** + * Marshal to Object T from a String, using contents from Env as necessary.

+ * + * Implementations should use the {@link Env} to call "env.startXMLTime()" to mark + * XML time, since this is often a costly process. + * + * @param env + * @param input + * @return T + * @throws APIException + */ + public abstract T objectify(Env env, String input) throws APIException; - /** - * Create a new object of type T. This is often more efficiently done with - * the underlying XML (or other) Library. - * @return T - * @throws APIException - */ - public abstract T newInstance() throws APIException; + /** + * Create a new object of type T. This is often more efficiently done with + * the underlying XML (or other) Library. + * @return T + * @throws APIException + */ + public abstract T newInstance() throws APIException; - + } \ No newline at end of file diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/old/OldDataFactory.java b/misc/env/src/main/java/org/onap/aaf/misc/env/old/OldDataFactory.java index 724e9f48..463bc15a 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/old/OldDataFactory.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/old/OldDataFactory.java @@ -32,16 +32,16 @@ import org.onap.aaf.misc.env.DataFactory; import org.onap.aaf.misc.env.Env; public interface OldDataFactory extends DataFactory { - public abstract String stringify(T type) throws APIException; - public abstract void stringify(T type, OutputStream os) throws APIException; - public abstract void stringify(T type, Writer writer) throws APIException; - public abstract T objectify(InputStream is) throws APIException; - public abstract T objectify(Reader rdr) throws APIException; - public abstract T objectify(String text) throws APIException; - public abstract T newInstance() throws APIException; - public abstract Data newData(T type); - public abstract Data newDataFromStream(Env env, InputStream input) throws APIException; - public abstract Data newDataFromString(String string); - + public abstract String stringify(T type) throws APIException; + public abstract void stringify(T type, OutputStream os) throws APIException; + public abstract void stringify(T type, Writer writer) throws APIException; + public abstract T objectify(InputStream is) throws APIException; + public abstract T objectify(Reader rdr) throws APIException; + public abstract T objectify(String text) throws APIException; + public abstract T newInstance() throws APIException; + public abstract Data newData(T type); + public abstract Data newDataFromStream(Env env, InputStream input) throws APIException; + public abstract Data newDataFromString(String string); + } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/old/Stringifier.java b/misc/env/src/main/java/org/onap/aaf/misc/env/old/Stringifier.java index eaea7f6a..01689f38 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/old/Stringifier.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/old/Stringifier.java @@ -31,18 +31,18 @@ import org.onap.aaf.misc.env.LifeCycle; * Stringifier abstracts the marshaling of a String to an Object */ public interface Stringifier extends LifeCycle { - - /** - * Marshal from a String to an Object T, using contents from Env as necessary.

- * - * Implementations should use the {@link Env} to call "env.startXMLTime()" to mark - * XML time, since this is often a costly process. - * - * @param env - * @param input - * @return String - * @throws APIException - */ - public abstract String stringify(Env env, T input, boolean ... options) throws APIException; - + + /** + * Marshal from a String to an Object T, using contents from Env as necessary.

+ * + * Implementations should use the {@link Env} to call "env.startXMLTime()" to mark + * XML time, since this is often a costly process. + * + * @param env + * @param input + * @return String + * @throws APIException + */ + public abstract String stringify(Env env, T input, boolean ... options) throws APIException; + } \ No newline at end of file diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/util/Chrono.java b/misc/env/src/main/java/org/onap/aaf/misc/env/util/Chrono.java index ebae19b4..ae78918c 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/util/Chrono.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/util/Chrono.java @@ -38,273 +38,273 @@ import javax.xml.datatype.XMLGregorianCalendar; public class Chrono { private static final long NUM_100NS_INTERVALS_SINCE_UUID_EPOCH = 0x01b21dd213814000L; - public final static DateFormat dateFmt, dateOnlyFmt, niceDateFmt, utcFmt,iso8601Fmt; - // Give general access to XML DataType Factory, since it's pretty common - public static final DatatypeFactory xmlDatatypeFactory; - - static { - try { - xmlDatatypeFactory = DatatypeFactory.newInstance(); - } catch (DatatypeConfigurationException e) { - throw new RuntimeException(e); - } - dateOnlyFmt = new SimpleDateFormat("yyyy-MM-dd"); - niceDateFmt = new SimpleDateFormat("yyyy/MM/dd HH:mm zzz"); - dateFmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); - utcFmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); - iso8601Fmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX"); - utcFmt.setTimeZone(TimeZone.getTimeZone("UTC")); - } - - - public static class Formatter8601 extends Formatter { - - @Override - public String format(LogRecord r) { - StringBuilder sb = new StringBuilder(); - sb.append(dateFmt.format(new Date(r.getMillis()))); - sb.append(' '); - sb.append(r.getThreadID()); - sb.append(' '); - sb.append(r.getLevel()); - sb.append(": "); - sb.append(r.getMessage()); - sb.append('\n'); - return sb.toString(); - } - - } - - /** - * timeStamp - * - * Convenience method to setup an XML dateTime (XMLGregorianCalendar) with "now" - * @return - */ - public static XMLGregorianCalendar timeStamp() { - return xmlDatatypeFactory.newXMLGregorianCalendar(new GregorianCalendar()); - } - - /** - * timestamp - * - * Convenience method to setup an XML dateTime (XMLGregorianCalendar) with passed in Date - * @param date - * @return - */ - public static XMLGregorianCalendar timeStamp(Date date) { - GregorianCalendar gc = new GregorianCalendar(); - gc.setTime(date); - return xmlDatatypeFactory.newXMLGregorianCalendar(gc); - } - - public static XMLGregorianCalendar timeStamp(GregorianCalendar gc) { - return xmlDatatypeFactory.newXMLGregorianCalendar(gc); - } - - public static String utcStamp() { - return utcFmt.format(new Date()); - } - - public static String utcStamp(Date date) { - if(date==null)return ""; - return utcFmt.format(date); - } - - public static String utcStamp(GregorianCalendar gc) { - if(gc==null)return ""; - return utcFmt.format(gc.getTime()); - } - - public static String utcStamp(XMLGregorianCalendar xgc) { - if(xgc==null)return ""; - return utcFmt.format(xgc.toGregorianCalendar().getTime()); - } - - public static String dateStamp() { - return dateFmt.format(new Date()); - } - - public static String dateStamp(GregorianCalendar gc) { - if(gc == null)return ""; - return dateFmt.format(gc.getTime()); - } - - public static String dateStamp(Date date) { - if(date == null)return ""; - return dateFmt.format(date); - } - - public static String dateStamp(XMLGregorianCalendar xgc) { - if(xgc==null)return ""; - return dateFmt.format(xgc.toGregorianCalendar().getTime()); - } - - /** - * JAXB compatible dataTime Stamp - * - * Java 6 does not format Timezone with -05:00 format, and JAXB XML breaks without it. - * - * @return - */ - public static String dateTime() { - return dateTime(new GregorianCalendar()); - } - - /** - * JAXB compatible dataTime Stamp - * - * Java 6 does not format Timezone with -05:00 format, and JAXB XML breaks without it. - * - * @return - */ - public static String dateTime(Date date) { - GregorianCalendar gc = new GregorianCalendar(); - gc.setTime(date); - return dateTime(gc); - } - - /** - * JAXB compatible dataTime Stamp - * - * Java 6 does not format Timezone with -05:00 format, and JAXB XML breaks without it. - * - * @return - */ - public static String dateTime(GregorianCalendar gc) { - if(gc == null)return ""; - TimeZone tz = gc.getTimeZone(); - int tz1 = (tz.getRawOffset()+tz.getDSTSavings())/0x8CA0; - int tz1abs = Math.abs(tz1); - return String.format("%04d-%02d-%02dT%02d:%02d:%02d.%03d%c%02d:%02d", - gc.get(GregorianCalendar.YEAR), - gc.get(GregorianCalendar.MONTH)+1, - gc.get(GregorianCalendar.DAY_OF_MONTH), - gc.get(GregorianCalendar.HOUR), - gc.get(GregorianCalendar.MINUTE), - gc.get(GregorianCalendar.SECOND), - gc.get(GregorianCalendar.MILLISECOND), - tz1==tz1abs?'+':'-', - tz1abs/100, - ((tz1abs-(tz1abs/100)*100)*6)/10 // Get the "10s", then convert to mins (without losing int place) - ); - } - - /** - * JAXB compatible dataTime Stamp - * - * Java 6 does not format Timezone with -05:00 format, and JAXB XML breaks without it. - * - * @return - */ - public static String dateTime(XMLGregorianCalendar xgc) { - return xgc==null?"":dateTime(xgc.toGregorianCalendar()); - } - - public static String dateOnlyStamp() { - return dateOnlyFmt.format(new Date()); - } - - public static String dateOnlyStamp(GregorianCalendar gc) { - return gc == null?"":dateOnlyFmt.format(gc.getTime()); - } - - public static String dateOnlyStamp(Date date) { - return date == null?"":dateOnlyFmt.format(date); - } - - public static String dateOnlyStamp(XMLGregorianCalendar xgc) { - return xgc==null?"":dateOnlyFmt.format(xgc.toGregorianCalendar().getTime()); - } - - public static String niceDateStamp() { - return niceDateFmt.format(new Date()); - } - - public static String niceDateStamp(Date date) { - return date==null?"":niceDateFmt.format(date); - } - - public static String niceDateStamp(GregorianCalendar gc) { - return gc==null?"":niceDateFmt.format(gc.getTime()); - } - - public static String niceDateStamp(XMLGregorianCalendar xgc) { - return xgc==null?"":niceDateFmt.format(xgc.toGregorianCalendar().getTime()); - } - - - ////////////////////// HELPFUL Strings - public static final String BAD_DIR_CHARS_REGEX = "[/:\\;.]"; - public static final String SPLIT_DIR_REGEX = "/"; - - public static long firstMomentOfDay(long utc) { - GregorianCalendar begin = new GregorianCalendar(); - begin.setTimeInMillis(utc); - return firstMomentOfDay(begin).getTimeInMillis(); - } - - public static long lastMomentOfDay(long utc) { - GregorianCalendar end = new GregorianCalendar(); - end.setTimeInMillis(utc); - return lastMomentOfDay(end).getTimeInMillis(); - } - - public static GregorianCalendar firstMomentOfDay(GregorianCalendar begin) { - if(begin==null)begin = new GregorianCalendar(); - begin.set(GregorianCalendar.HOUR, 0); - begin.set(GregorianCalendar.AM_PM, GregorianCalendar.AM); - begin.set(GregorianCalendar.MINUTE, 0); - begin.set(GregorianCalendar.SECOND, 0); - begin.set(GregorianCalendar.MILLISECOND, 0); - return begin; - } - - public static GregorianCalendar lastMomentOfDay(GregorianCalendar end) { - if(end==null)end = new GregorianCalendar(); - end.set(GregorianCalendar.HOUR, 11); - end.set(GregorianCalendar.MINUTE, 59); - end.set(GregorianCalendar.SECOND, 59); - end.set(GregorianCalendar.MILLISECOND, 999); - end.set(GregorianCalendar.AM_PM, GregorianCalendar.PM); - return end; - } - - // UUID needs to be converted from UUID Epoch - public static final Date uuidToDate(UUID id) { - return new Date((id.timestamp() - NUM_100NS_INTERVALS_SINCE_UUID_EPOCH)/10000); - } - - public static final long uuidToUnix(UUID id) { - return (id.timestamp() - NUM_100NS_INTERVALS_SINCE_UUID_EPOCH)/10000; - } - - public static float millisFromNanos(long start, long end) { - return (end - start) / 1000000f; - } - - - private static long sequence = new SecureRandom().nextInt(); - private static synchronized long sequence() { - return ++sequence; - } - - public static final UUID dateToUUID(Date origTime) { - return dateToUUID(origTime.getTime()); - } - - public static final UUID dateToUUID(long origTime) { - /* - * From Cassandra : http://wiki.apache.org/cassandra/FAQ - Magic number obtained from #cassandra's thobbs, who - claims to have stolen it from a Python library. - */ + public final static DateFormat dateFmt, dateOnlyFmt, niceDateFmt, utcFmt,iso8601Fmt; + // Give general access to XML DataType Factory, since it's pretty common + public static final DatatypeFactory xmlDatatypeFactory; + + static { + try { + xmlDatatypeFactory = DatatypeFactory.newInstance(); + } catch (DatatypeConfigurationException e) { + throw new RuntimeException(e); + } + dateOnlyFmt = new SimpleDateFormat("yyyy-MM-dd"); + niceDateFmt = new SimpleDateFormat("yyyy/MM/dd HH:mm zzz"); + dateFmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); + utcFmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); + iso8601Fmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX"); + utcFmt.setTimeZone(TimeZone.getTimeZone("UTC")); + } + + + public static class Formatter8601 extends Formatter { + + @Override + public String format(LogRecord r) { + StringBuilder sb = new StringBuilder(); + sb.append(dateFmt.format(new Date(r.getMillis()))); + sb.append(' '); + sb.append(r.getThreadID()); + sb.append(' '); + sb.append(r.getLevel()); + sb.append(": "); + sb.append(r.getMessage()); + sb.append('\n'); + return sb.toString(); + } + + } + + /** + * timeStamp + * + * Convenience method to setup an XML dateTime (XMLGregorianCalendar) with "now" + * @return + */ + public static XMLGregorianCalendar timeStamp() { + return xmlDatatypeFactory.newXMLGregorianCalendar(new GregorianCalendar()); + } + + /** + * timestamp + * + * Convenience method to setup an XML dateTime (XMLGregorianCalendar) with passed in Date + * @param date + * @return + */ + public static XMLGregorianCalendar timeStamp(Date date) { + GregorianCalendar gc = new GregorianCalendar(); + gc.setTime(date); + return xmlDatatypeFactory.newXMLGregorianCalendar(gc); + } + + public static XMLGregorianCalendar timeStamp(GregorianCalendar gc) { + return xmlDatatypeFactory.newXMLGregorianCalendar(gc); + } + + public static String utcStamp() { + return utcFmt.format(new Date()); + } + + public static String utcStamp(Date date) { + if(date==null)return ""; + return utcFmt.format(date); + } + + public static String utcStamp(GregorianCalendar gc) { + if(gc==null)return ""; + return utcFmt.format(gc.getTime()); + } + + public static String utcStamp(XMLGregorianCalendar xgc) { + if(xgc==null)return ""; + return utcFmt.format(xgc.toGregorianCalendar().getTime()); + } + + public static String dateStamp() { + return dateFmt.format(new Date()); + } + + public static String dateStamp(GregorianCalendar gc) { + if(gc == null)return ""; + return dateFmt.format(gc.getTime()); + } + + public static String dateStamp(Date date) { + if(date == null)return ""; + return dateFmt.format(date); + } + + public static String dateStamp(XMLGregorianCalendar xgc) { + if(xgc==null)return ""; + return dateFmt.format(xgc.toGregorianCalendar().getTime()); + } + + /** + * JAXB compatible dataTime Stamp + * + * Java 6 does not format Timezone with -05:00 format, and JAXB XML breaks without it. + * + * @return + */ + public static String dateTime() { + return dateTime(new GregorianCalendar()); + } + + /** + * JAXB compatible dataTime Stamp + * + * Java 6 does not format Timezone with -05:00 format, and JAXB XML breaks without it. + * + * @return + */ + public static String dateTime(Date date) { + GregorianCalendar gc = new GregorianCalendar(); + gc.setTime(date); + return dateTime(gc); + } + + /** + * JAXB compatible dataTime Stamp + * + * Java 6 does not format Timezone with -05:00 format, and JAXB XML breaks without it. + * + * @return + */ + public static String dateTime(GregorianCalendar gc) { + if(gc == null)return ""; + TimeZone tz = gc.getTimeZone(); + int tz1 = (tz.getRawOffset()+tz.getDSTSavings())/0x8CA0; + int tz1abs = Math.abs(tz1); + return String.format("%04d-%02d-%02dT%02d:%02d:%02d.%03d%c%02d:%02d", + gc.get(GregorianCalendar.YEAR), + gc.get(GregorianCalendar.MONTH)+1, + gc.get(GregorianCalendar.DAY_OF_MONTH), + gc.get(GregorianCalendar.HOUR), + gc.get(GregorianCalendar.MINUTE), + gc.get(GregorianCalendar.SECOND), + gc.get(GregorianCalendar.MILLISECOND), + tz1==tz1abs?'+':'-', + tz1abs/100, + ((tz1abs-(tz1abs/100)*100)*6)/10 // Get the "10s", then convert to mins (without losing int place) + ); + } + + /** + * JAXB compatible dataTime Stamp + * + * Java 6 does not format Timezone with -05:00 format, and JAXB XML breaks without it. + * + * @return + */ + public static String dateTime(XMLGregorianCalendar xgc) { + return xgc==null?"":dateTime(xgc.toGregorianCalendar()); + } + + public static String dateOnlyStamp() { + return dateOnlyFmt.format(new Date()); + } + + public static String dateOnlyStamp(GregorianCalendar gc) { + return gc == null?"":dateOnlyFmt.format(gc.getTime()); + } + + public static String dateOnlyStamp(Date date) { + return date == null?"":dateOnlyFmt.format(date); + } + + public static String dateOnlyStamp(XMLGregorianCalendar xgc) { + return xgc==null?"":dateOnlyFmt.format(xgc.toGregorianCalendar().getTime()); + } + + public static String niceDateStamp() { + return niceDateFmt.format(new Date()); + } + + public static String niceDateStamp(Date date) { + return date==null?"":niceDateFmt.format(date); + } + + public static String niceDateStamp(GregorianCalendar gc) { + return gc==null?"":niceDateFmt.format(gc.getTime()); + } + + public static String niceDateStamp(XMLGregorianCalendar xgc) { + return xgc==null?"":niceDateFmt.format(xgc.toGregorianCalendar().getTime()); + } + + + ////////////////////// HELPFUL Strings + public static final String BAD_DIR_CHARS_REGEX = "[/:\\;.]"; + public static final String SPLIT_DIR_REGEX = "/"; + + public static long firstMomentOfDay(long utc) { + GregorianCalendar begin = new GregorianCalendar(); + begin.setTimeInMillis(utc); + return firstMomentOfDay(begin).getTimeInMillis(); + } + + public static long lastMomentOfDay(long utc) { + GregorianCalendar end = new GregorianCalendar(); + end.setTimeInMillis(utc); + return lastMomentOfDay(end).getTimeInMillis(); + } + + public static GregorianCalendar firstMomentOfDay(GregorianCalendar begin) { + if(begin==null)begin = new GregorianCalendar(); + begin.set(GregorianCalendar.HOUR, 0); + begin.set(GregorianCalendar.AM_PM, GregorianCalendar.AM); + begin.set(GregorianCalendar.MINUTE, 0); + begin.set(GregorianCalendar.SECOND, 0); + begin.set(GregorianCalendar.MILLISECOND, 0); + return begin; + } + + public static GregorianCalendar lastMomentOfDay(GregorianCalendar end) { + if(end==null)end = new GregorianCalendar(); + end.set(GregorianCalendar.HOUR, 11); + end.set(GregorianCalendar.MINUTE, 59); + end.set(GregorianCalendar.SECOND, 59); + end.set(GregorianCalendar.MILLISECOND, 999); + end.set(GregorianCalendar.AM_PM, GregorianCalendar.PM); + return end; + } + + // UUID needs to be converted from UUID Epoch + public static final Date uuidToDate(UUID id) { + return new Date((id.timestamp() - NUM_100NS_INTERVALS_SINCE_UUID_EPOCH)/10000); + } + + public static final long uuidToUnix(UUID id) { + return (id.timestamp() - NUM_100NS_INTERVALS_SINCE_UUID_EPOCH)/10000; + } + + public static float millisFromNanos(long start, long end) { + return (end - start) / 1000000f; + } + + + private static long sequence = new SecureRandom().nextInt(); + private static synchronized long sequence() { + return ++sequence; + } + + public static final UUID dateToUUID(Date origTime) { + return dateToUUID(origTime.getTime()); + } + + public static final UUID dateToUUID(long origTime) { + /* + * From Cassandra : http://wiki.apache.org/cassandra/FAQ + Magic number obtained from #cassandra's thobbs, who + claims to have stolen it from a Python library. + */ long time = origTime * 10000 + NUM_100NS_INTERVALS_SINCE_UUID_EPOCH; long timeLow = time & 0xffffffffL; long timeMid = time & 0xffff00000000L; long timeHi = time & 0xfff000000000000L; long upperLong = (timeLow << 32) | (timeMid >> 16) | (1 << 12) | (timeHi >> 48) ; return new java.util.UUID(upperLong, (0xC000000000000000L | sequence())); - } + } } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/util/DoubleOutputStream.java b/misc/env/src/main/java/org/onap/aaf/misc/env/util/DoubleOutputStream.java index 9c4c4316..97d9de99 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/util/DoubleOutputStream.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/util/DoubleOutputStream.java @@ -26,15 +26,15 @@ import java.io.OutputStream; public class DoubleOutputStream extends OutputStream { private OutputStream[] oss; - private boolean[] close; + private boolean[] close; - /** + /** * Create a Double Stream Writer * Some Streams should not be closed by this object (i.e. System.out), therefore, mark them with booleans */ public DoubleOutputStream(OutputStream a, boolean closeA, OutputStream b, boolean closeB) { - oss = new OutputStream[] {a,b}; - close = new boolean[] {closeA,closeB}; + oss = new OutputStream[] {a,b}; + close = new boolean[] {closeA,closeB}; } /** @@ -43,9 +43,9 @@ public class DoubleOutputStream extends OutputStream { */ @Override public void write(int c) throws IOException { - for(OutputStream os : oss) { - os.write(c); - } + for(OutputStream os : oss) { + os.write(c); + } } /** @@ -58,39 +58,39 @@ public class DoubleOutputStream extends OutputStream { */ @Override public void write(byte bbuf[], int off, int len) throws IOException { - for(OutputStream os : oss) { - os.write(bbuf,off,len); - } + for(OutputStream os : oss) { + os.write(bbuf,off,len); + } } @Override - public void write(byte[] b) throws IOException { - for(OutputStream os : oss) { - os.write(b); - } - } + public void write(byte[] b) throws IOException { + for(OutputStream os : oss) { + os.write(b); + } + } - /* (non-Javadoc) - * @see java.io.OutputStream#close() - */ - @Override - public void close() throws IOException { - for(int i=0;i */ public class Pool { - /** - * This is a constant which specified the default maximum number of unused - * objects to be held at any given time. - */ - private static final int MAX_RANGE = 6; // safety + /** + * This is a constant which specified the default maximum number of unused + * objects to be held at any given time. + */ + private static final int MAX_RANGE = 6; // safety - /** - * only Simple List needed. - * - * NOTE TO MAINTAINERS: THIS OBJECT DOES IT'S OWN SYNCHRONIZATION. All - * changes that touch list must account for correctly synchronizing list. - */ - private LinkedList> list; + /** + * only Simple List needed. + * + * NOTE TO MAINTAINERS: THIS OBJECT DOES IT'S OWN SYNCHRONIZATION. All + * changes that touch list must account for correctly synchronizing list. + */ + private LinkedList> list; - /** - * keep track of how many elements exist, to avoid asking list. - */ - private int count; + /** + * keep track of how many elements exist, to avoid asking list. + */ + private int count; - /** - * Spares are those Object that are primed and ready to go. - */ - private int spares; + /** + * Spares are those Object that are primed and ready to go. + */ + private int spares; - /** - * Actual MAX number of spares allowed to hang around. Can be set to - * something besides the default MAX_RANGE. - */ - private int max_range = MAX_RANGE; + /** + * Actual MAX number of spares allowed to hang around. Can be set to + * something besides the default MAX_RANGE. + */ + private int max_range = MAX_RANGE; - /** - * The Creator for this particular pool. It must work for type T. - */ - private Creator creator; + /** + * The Creator for this particular pool. It must work for type T. + */ + private Creator creator; - /** - * Create a new Pool, given the implementation of Creator, which must be - * able to create/destroy T objects at will. - * - * @param creator - */ - public Pool(Creator creator) { - count = spares = 0; - this.creator = creator; - list = new LinkedList<>(); - } + /** + * Create a new Pool, given the implementation of Creator, which must be + * able to create/destroy T objects at will. + * + * @param creator + */ + public Pool(Creator creator) { + count = spares = 0; + this.creator = creator; + list = new LinkedList<>(); + } - /** - * Preallocate a certain number of T Objects. Useful for services so that - * the first transactions don't get hit with all the Object creation costs - * - * @param lt - * @param prime - * @throws APIException - */ - public void prime(LogTarget lt, int prime) throws APIException { - for (int i = 0; i < prime; ++i) { - Pooled pt = new Pooled(creator.create(), this, lt); - synchronized (list) { - list.addFirst(pt); - ++count; - } - } + /** + * Preallocate a certain number of T Objects. Useful for services so that + * the first transactions don't get hit with all the Object creation costs + * + * @param lt + * @param prime + * @throws APIException + */ + public void prime(LogTarget lt, int prime) throws APIException { + for (int i = 0; i < prime; ++i) { + Pooled pt = new Pooled(creator.create(), this, lt); + synchronized (list) { + list.addFirst(pt); + ++count; + } + } - } + } - /** - * Destroy and remove all remaining objects. This is valuable for closing - * down all Allocated objects cleanly for exiting. It is also a good method - * for removing objects when, for instance, all Objects are invalid because - * of broken connections, etc. - */ - public void drain() { - synchronized (list) { - for (int i = 0; i < list.size(); ++i) { - Pooled pt = list.remove(); - creator.destroy(pt.content); - pt.logTarget.log("Pool drained ", creator.toString()); - } - count = spares = 0; - } + /** + * Destroy and remove all remaining objects. This is valuable for closing + * down all Allocated objects cleanly for exiting. It is also a good method + * for removing objects when, for instance, all Objects are invalid because + * of broken connections, etc. + */ + public void drain() { + synchronized (list) { + for (int i = 0; i < list.size(); ++i) { + Pooled pt = list.remove(); + creator.destroy(pt.content); + pt.logTarget.log("Pool drained ", creator.toString()); + } + count = spares = 0; + } - } + } - /** - * This is the essential function for Pool. Get an Object "T" inside a - * "Pooled" object. If there is a spare Object, then use it. If not, then - * create and pass back. - * - * This one uses a Null LogTarget - * - * IMPORTANT: When the use of this object is done (and the object is still - * in a valid state), then "done()" should be called immediately to allow - * the object to be reused. That is the point of the Pool... - * - * If the Object is in an invalid state, then "toss()" should be used so the - * Pool doesn't pass on invalid objects to others. - * - * @param lt - * @return - * @throws APIException - */ - public Pooled get() throws APIException { - Pooled pt; - synchronized (list) { - if (list.isEmpty()) { - pt = null; - } else { - pt = list.removeLast(); - --count; - creator.reuse(pt.content); - } - } - if (pt == null) { - if (spares < max_range) - ++spares; - pt = new Pooled(creator.create(), this, LogTarget.NULL); - } else { - if (spares > 1) - --spares; - } - return pt; - } + /** + * This is the essential function for Pool. Get an Object "T" inside a + * "Pooled" object. If there is a spare Object, then use it. If not, then + * create and pass back. + * + * This one uses a Null LogTarget + * + * IMPORTANT: When the use of this object is done (and the object is still + * in a valid state), then "done()" should be called immediately to allow + * the object to be reused. That is the point of the Pool... + * + * If the Object is in an invalid state, then "toss()" should be used so the + * Pool doesn't pass on invalid objects to others. + * + * @param lt + * @return + * @throws APIException + */ + public Pooled get() throws APIException { + Pooled pt; + synchronized (list) { + if (list.isEmpty()) { + pt = null; + } else { + pt = list.removeLast(); + --count; + creator.reuse(pt.content); + } + } + if (pt == null) { + if (spares < max_range) + ++spares; + pt = new Pooled(creator.create(), this, LogTarget.NULL); + } else { + if (spares > 1) + --spares; + } + return pt; + } - /** - * This is the essential function for Pool. Get an Object "T" inside a - * "Pooled" object. If there is a spare Object, then use it. If not, then - * create and pass back. - * - * If you don't have access to a LogTarget from Env, use LogTarget.NULL - * - * IMPORTANT: When the use of this object is done (and the object is still - * in a valid state), then "done()" should be called immediately to allow - * the object to be reused. That is the point of the Pool... - * - * If the Object is in an invalid state, then "toss()" should be used so the - * Pool doesn't pass on invalid objects to others. - * - * @param lt - * @return - * @throws APIException - */ - public Pooled get(LogTarget lt) throws APIException { - Pooled pt; - synchronized (list) { - if (list.isEmpty()) { - pt = null; - } else { - pt = list.remove(); - --count; - creator.reuse(pt.content); - } - } - if (pt == null) { - if (spares < max_range) - ++spares; - pt = new Pooled(creator.create(), this, lt); - lt.log("Pool created ", creator.toString()); - } else { - if (spares > 1) - --spares; - } - return pt; - } + /** + * This is the essential function for Pool. Get an Object "T" inside a + * "Pooled" object. If there is a spare Object, then use it. If not, then + * create and pass back. + * + * If you don't have access to a LogTarget from Env, use LogTarget.NULL + * + * IMPORTANT: When the use of this object is done (and the object is still + * in a valid state), then "done()" should be called immediately to allow + * the object to be reused. That is the point of the Pool... + * + * If the Object is in an invalid state, then "toss()" should be used so the + * Pool doesn't pass on invalid objects to others. + * + * @param lt + * @return + * @throws APIException + */ + public Pooled get(LogTarget lt) throws APIException { + Pooled pt; + synchronized (list) { + if (list.isEmpty()) { + pt = null; + } else { + pt = list.remove(); + --count; + creator.reuse(pt.content); + } + } + if (pt == null) { + if (spares < max_range) + ++spares; + pt = new Pooled(creator.create(), this, lt); + lt.log("Pool created ", creator.toString()); + } else { + if (spares > 1) + --spares; + } + return pt; + } - /** - * This function will validate whether the Objects are still in a usable - * state. If not, they are tossed from the Pool. This is valuable to have - * when Remote Connections go down, and there is a question on whether the - * Pooled Objects are still functional. - * - * @return - */ - public boolean validate() { - boolean rv = true; - synchronized (list) { - for (Pooled t : list) { - if (!creator.isValid(t.content)) { - rv = false; - t.toss(); - list.remove(t); - } - } - } - return rv; - } + /** + * This function will validate whether the Objects are still in a usable + * state. If not, they are tossed from the Pool. This is valuable to have + * when Remote Connections go down, and there is a question on whether the + * Pooled Objects are still functional. + * + * @return + */ + public boolean validate() { + boolean rv = true; + synchronized (list) { + for (Pooled t : list) { + if (!creator.isValid(t.content)) { + rv = false; + t.toss(); + list.remove(t); + } + } + } + return rv; + } - /** - * This is an internal method, used only by the Internal Pooled class. - * - * The Pooled class "offers" it's Object back after use. It is an - * "offer", because Pool will simply destroy and remove the object if it has - * more than enough spares. - * - * @param lt - * @param used - * @return - */ - // Used only by Pooled - private boolean offer(LogTarget lt, Pooled used) { - if (count < spares) { - synchronized (list) { - list.addFirst(used); - ++count; - } - lt.log("Pool recovered ", creator.toString()); - } else { - lt.log("Pool destroyed ", creator.toString()); - creator.destroy(used.content); - } - return false; - } + /** + * This is an internal method, used only by the Internal Pooled class. + * + * The Pooled class "offers" it's Object back after use. It is an + * "offer", because Pool will simply destroy and remove the object if it has + * more than enough spares. + * + * @param lt + * @param used + * @return + */ + // Used only by Pooled + private boolean offer(LogTarget lt, Pooled used) { + if (count < spares) { + synchronized (list) { + list.addFirst(used); + ++count; + } + lt.log("Pool recovered ", creator.toString()); + } else { + lt.log("Pool destroyed ", creator.toString()); + creator.destroy(used.content); + } + return false; + } - /** - * The Creator Interface give the Pool the ability to Create, Destroy and - * Validate the Objects it is maintaining. Thus, it is a specially written - * Implementation for each type. - * - * @author Jonathan - * - * @param - */ - public interface Creator { - public T create() throws APIException; + /** + * The Creator Interface give the Pool the ability to Create, Destroy and + * Validate the Objects it is maintaining. Thus, it is a specially written + * Implementation for each type. + * + * @author Jonathan + * + * @param + */ + public interface Creator { + public T create() throws APIException; - public void destroy(T t); + public void destroy(T t); - public boolean isValid(T t); + public boolean isValid(T t); - public void reuse(T t); - } + public void reuse(T t); + } - /** - * The "Pooled" class is the transient class that wraps the actual Object - * T for API use/ It gives the ability to return ("done()", or "toss()") the - * Object to the Pool when processing is finished. - * - * For Safety, i.e. to avoid memory leaks and invalid Object States, there - * is a "finalize" method. It is strictly for when coder forgets to return - * the object, or perhaps hasn't covered the case during Exceptions or - * Runtime Exceptions with finally (preferred). This should not be - * considered normal procedure, as finalize() is called at an undetermined - * time during garbage collection, and is thus rather useless for a Pool. - * However, we don't want Coding Mistakes to put the whole program in an - * invalid state, so if something happened such that "done()" or "toss()" - * were not called, the resource is still cleaned up as well as possible. - * - * @author Jonathan - * - * @param - */ - public static class Pooled { - public final T content; - private Pool pool; - protected LogTarget logTarget; + /** + * The "Pooled" class is the transient class that wraps the actual Object + * T for API use/ It gives the ability to return ("done()", or "toss()") the + * Object to the Pool when processing is finished. + * + * For Safety, i.e. to avoid memory leaks and invalid Object States, there + * is a "finalize" method. It is strictly for when coder forgets to return + * the object, or perhaps hasn't covered the case during Exceptions or + * Runtime Exceptions with finally (preferred). This should not be + * considered normal procedure, as finalize() is called at an undetermined + * time during garbage collection, and is thus rather useless for a Pool. + * However, we don't want Coding Mistakes to put the whole program in an + * invalid state, so if something happened such that "done()" or "toss()" + * were not called, the resource is still cleaned up as well as possible. + * + * @author Jonathan + * + * @param + */ + public static class Pooled { + public final T content; + private Pool pool; + protected LogTarget logTarget; - /** - * Create the Wrapping Object Pooled. - * - * @param t - * @param pool - * @param logTarget - */ - public Pooled(T t, Pool pool, LogTarget logTarget) { - content = t; - this.pool = pool; - this.logTarget = logTarget; - } + /** + * Create the Wrapping Object Pooled. + * + * @param t + * @param pool + * @param logTarget + */ + public Pooled(T t, Pool pool, LogTarget logTarget) { + content = t; + this.pool = pool; + this.logTarget = logTarget; + } - /** - * This is the key API for the Pool, as calling "done()" offers this - * object back to the Pool for reuse. - * - * Do not use the Pooled object again after calling "done()". - */ - public void done() { - if (pool != null) { - pool.offer(logTarget, this); - } - } + /** + * This is the key API for the Pool, as calling "done()" offers this + * object back to the Pool for reuse. + * + * Do not use the Pooled object again after calling "done()". + */ + public void done() { + if (pool != null) { + pool.offer(logTarget, this); + } + } - /** - * The user of the Object may discover that the Object t is no longer in - * a valid state. Don't put Garbage back in the Refrigerator... Toss it, - * if it's no longer valid. - * - * toss() is also used for draining the Pool, etc. - * - * toss() will attempt to destroy the Object by using the Creator - * Interface. - * - */ - public void toss() { - if (pool != null) { - pool.creator.destroy(content); - } - // Don't allow finalize to put it back in. - pool = null; - } + /** + * The user of the Object may discover that the Object t is no longer in + * a valid state. Don't put Garbage back in the Refrigerator... Toss it, + * if it's no longer valid. + * + * toss() is also used for draining the Pool, etc. + * + * toss() will attempt to destroy the Object by using the Creator + * Interface. + * + */ + public void toss() { + if (pool != null) { + pool.creator.destroy(content); + } + // Don't allow finalize to put it back in. + pool = null; + } - /** - * Just in case someone neglected to offer back object... Do not rely on - * this, as there is no specific time when finalize is called, which - * rather defeats the purpose of a Pool. - */ - @Override - protected void finalize() throws Throwable { - if (pool != null) { - done(); - pool = null; - } - } - } + /** + * Just in case someone neglected to offer back object... Do not rely on + * this, as there is no specific time when finalize is called, which + * rather defeats the purpose of a Pool. + */ + @Override + protected void finalize() throws Throwable { + if (pool != null) { + done(); + pool = null; + } + } + } - /** - * Get the maximum number of spare objects allowed at any moment - * - * @return - */ - public int getMaxRange() { - return max_range; - } + /** + * Get the maximum number of spare objects allowed at any moment + * + * @return + */ + public int getMaxRange() { + return max_range; + } - /** - * Set a Max Range for numbers of spare objects waiting to be used. - * - * No negative numbers are allowed - * - * @return - */ - public void setMaxRange(int max_range) { - // Do not allow negative numbers - this.max_range = Math.max(0, max_range); - } + /** + * Set a Max Range for numbers of spare objects waiting to be used. + * + * No negative numbers are allowed + * + * @return + */ + public void setMaxRange(int max_range) { + // Do not allow negative numbers + this.max_range = Math.max(0, max_range); + } } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/util/RefreshableThreadObject.java b/misc/env/src/main/java/org/onap/aaf/misc/env/util/RefreshableThreadObject.java index 6892a4b5..759a8c8b 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/util/RefreshableThreadObject.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/util/RefreshableThreadObject.java @@ -54,71 +54,71 @@ import org.onap.aaf.misc.env.LifeCycle; * @param */ public class RefreshableThreadObject> { - private Map objs; - private long refreshed; - private Constructor cnst; - - /** - * The passed in class must implement the constructor - *

-	 *   public MyClass(Env env) {
-	 *     ...
-	 *   }
-	 * 
- * @param clss - * @throws APIException - */ - public RefreshableThreadObject(Class clss) throws APIException { - objs = new ConcurrentHashMap<>(); - try { - cnst = clss.getConstructor(new Class[]{Env.class} ); - } catch (Exception e) { - throw new APIException(e); - } - } - - /** - * Get the "T" class from the current thread - * - * @param env - * @return T - * @throws APIException - */ - public T get(Env env) throws APIException { - Thread t = Thread.currentThread(); - T obj = objs.get(t); - if(obj==null || refreshed>obj.created()) { - try { - obj = cnst.newInstance(new Object[]{env}); - } catch (InvocationTargetException e) { - throw new APIException(e.getTargetException()); - } catch (Exception e) { - throw new APIException(e); - } - T destroyMe = objs.put(t,obj); - if(destroyMe!=null) { - destroyMe.destroy(env); - } - } - return obj; - } - - /** - * Mark the timestamp of refreshed. - * - * @param env - */ - public void refresh(Env env) { - refreshed = System.currentTimeMillis(); - } - - /** - * Remove the object from the Thread instances - * @param env - */ - public void remove(Env env) { - T obj = objs.remove(Thread.currentThread()); - if(obj!=null) - obj.destroy(env); - } + private Map objs; + private long refreshed; + private Constructor cnst; + + /** + * The passed in class must implement the constructor + *
+     *   public MyClass(Env env) {
+     *     ...
+     *   }
+     * 
+ * @param clss + * @throws APIException + */ + public RefreshableThreadObject(Class clss) throws APIException { + objs = new ConcurrentHashMap<>(); + try { + cnst = clss.getConstructor(new Class[]{Env.class} ); + } catch (Exception e) { + throw new APIException(e); + } + } + + /** + * Get the "T" class from the current thread + * + * @param env + * @return T + * @throws APIException + */ + public T get(Env env) throws APIException { + Thread t = Thread.currentThread(); + T obj = objs.get(t); + if(obj==null || refreshed>obj.created()) { + try { + obj = cnst.newInstance(new Object[]{env}); + } catch (InvocationTargetException e) { + throw new APIException(e.getTargetException()); + } catch (Exception e) { + throw new APIException(e); + } + T destroyMe = objs.put(t,obj); + if(destroyMe!=null) { + destroyMe.destroy(env); + } + } + return obj; + } + + /** + * Mark the timestamp of refreshed. + * + * @param env + */ + public void refresh(Env env) { + refreshed = System.currentTimeMillis(); + } + + /** + * Remove the object from the Thread instances + * @param env + */ + public void remove(Env env) { + T obj = objs.remove(Thread.currentThread()); + if(obj!=null) + obj.destroy(env); + } } diff --git a/misc/env/src/main/java/org/onap/aaf/misc/env/util/Split.java b/misc/env/src/main/java/org/onap/aaf/misc/env/util/Split.java index efb68120..4069c329 100644 --- a/misc/env/src/main/java/org/onap/aaf/misc/env/util/Split.java +++ b/misc/env/src/main/java/org/onap/aaf/misc/env/util/Split.java @@ -30,73 +30,73 @@ package org.onap.aaf.misc.env.util; */ public class Split { - private static final String[] BLANK = new String[0]; - - public static String[] split(char c, String value) { - if(value==null) { - return BLANK; - } + private static final String[] BLANK = new String[0]; + + public static String[] split(char c, String value) { + if(value==null) { + return BLANK; + } - // Count items to preallocate Array (memory alloc is more expensive than counting twice) - int count,idx; - for(count=1,idx=value.indexOf(c);idx>=0;idx=value.indexOf(c,++idx),++count); - String[] rv = new String[count]; - if(count==1) { - rv[0]=value; - } else { - int last=0; - count=-1; - for(idx=value.indexOf(c);idx>=0;idx=value.indexOf(c,idx)) { - rv[++count]=value.substring(last,idx); - last = ++idx; - } - rv[++count]=value.substring(last); - } - return rv; - } + // Count items to preallocate Array (memory alloc is more expensive than counting twice) + int count,idx; + for(count=1,idx=value.indexOf(c);idx>=0;idx=value.indexOf(c,++idx),++count); + String[] rv = new String[count]; + if(count==1) { + rv[0]=value; + } else { + int last=0; + count=-1; + for(idx=value.indexOf(c);idx>=0;idx=value.indexOf(c,idx)) { + rv[++count]=value.substring(last,idx); + last = ++idx; + } + rv[++count]=value.substring(last); + } + return rv; + } - public static String[] splitTrim(char c, String value) { - if(value==null) { - return BLANK; - } - // Count items to preallocate Array (memory alloc is more expensive than counting twice) - int count,idx; - for(count=1,idx=value.indexOf(c);idx>=0;idx=value.indexOf(c,++idx),++count); - String[] rv = new String[count]; - if(count==1) { - rv[0]=value.trim(); - } else { - int last=0; - count=-1; - for(idx=value.indexOf(c);idx>=0;idx=value.indexOf(c,idx)) { - rv[++count]=value.substring(last,idx).trim(); - last = ++idx; - } - rv[++count]=value.substring(last).trim(); - } - return rv; - } + public static String[] splitTrim(char c, String value) { + if(value==null) { + return BLANK; + } + // Count items to preallocate Array (memory alloc is more expensive than counting twice) + int count,idx; + for(count=1,idx=value.indexOf(c);idx>=0;idx=value.indexOf(c,++idx),++count); + String[] rv = new String[count]; + if(count==1) { + rv[0]=value.trim(); + } else { + int last=0; + count=-1; + for(idx=value.indexOf(c);idx>=0;idx=value.indexOf(c,idx)) { + rv[++count]=value.substring(last,idx).trim(); + last = ++idx; + } + rv[++count]=value.substring(last).trim(); + } + return rv; + } - public static String[] splitTrim(char c, String value, int size) { - if(value==null) { - return BLANK; - } + public static String[] splitTrim(char c, String value, int size) { + if(value==null) { + return BLANK; + } - int idx; - String[] rv = new String[size]; - if(size==1) { - rv[0]=value.trim(); - } else { - int last=0; - int count=-1; - size-=2; - for(idx=value.indexOf(c);idx>=0 && count=0 && countinitialSize is negative */ public StringBuilderOutputStream(int initialSize) { - if (initialSize < 0) { - throw new IllegalArgumentException("Negative buffer size"); - } - buf = new StringBuilder(initialSize); + if (initialSize < 0) { + throw new IllegalArgumentException("Negative buffer size"); + } + buf = new StringBuilder(initialSize); } /** * Write a single character. */ public void write(int c) { - buf.append((byte) c); + buf.append((byte) c); } /** @@ -88,15 +88,15 @@ public class StringBuilderOutputStream extends OutputStream { } @Override - public void write(byte[] b) throws IOException { - buf.append(new String(b)); - } + public void write(byte[] b) throws IOException { + buf.append(new String(b)); + } - /** + /** * Write a string. */ public void write(String str) { - buf.append(str); + buf.append(str); } /** @@ -107,23 +107,23 @@ public class StringBuilderOutputStream extends OutputStream { * @param len Number of characters to write */ public void write(String str, int off, int len) { - buf.append(str,off,len); + buf.append(str,off,len); } public StringBuilderOutputStream append(CharSequence csq) { - if (csq == null) { - write("null"); - } else { - for(int i = 0;iinitialSize is negative */ public StringBuilderWriter(int initialSize) { - if (initialSize < 0) { - throw new IllegalArgumentException("Negative buffer size"); - } - buf = new StringBuilder(initialSize); + if (initialSize < 0) { + throw new IllegalArgumentException("Negative buffer size"); + } + buf = new StringBuilder(initialSize); } /** * Write a single character. */ public void write(int c) { - buf.append((char) c); + buf.append((char) c); } /** @@ -90,7 +90,7 @@ public class StringBuilderWriter extends Writer { * Write a string. */ public void write(String str) { - buf.append(str); + buf.append(str); } /** @@ -101,23 +101,23 @@ public class StringBuilderWriter extends Writer { * @param len Number of characters to write */ public void write(String str, int off, int len) { - char[] chars = new char[len]; - str.getChars(off, off+len, chars, 0); - buf.append(chars); + char[] chars = new char[len]; + str.getChars(off, off+len, chars, 0); + buf.append(chars); } public StringBuilderWriter append(CharSequence csq) { - if (csq == null) { - write("null"); - } else { - buf.append(csq); - } - return this; + if (csq == null) { + write("null"); + } else { + buf.append(csq); + } + return this; } public StringBuilderWriter append(CharSequence csq, int start, int end) { - CharSequence cs = (csq == null ? "null" : csq); - return append(cs.subSequence(start, end)); + CharSequence cs = (csq == null ? "null" : csq); + return append(cs.subSequence(start, end)); } /** @@ -137,15 +137,15 @@ public class StringBuilderWriter extends Writer { * @since 1.5 */ public StringBuilderWriter append(char c) { - buf.append(c); - return this; + buf.append(c); + return this; } /** * Return the buffer's current value as a string. */ public String toString() { - return buf.toString(); + return buf.toString(); } /** @@ -154,19 +154,19 @@ public class StringBuilderWriter extends Writer { * @return StringBuffer holding the current buffer value. */ public StringBuilder getBuffer() { - return buf; + return buf; } public void reset() { - buf.setLength(0); + buf.setLength(0); } - @Override - public void flush() throws IOException { - } + @Override + public void flush() throws IOException { + } - @Override - public void close() throws IOException { - } + @Override + public void close() throws IOException { + } } diff --git a/misc/env/src/test/java/org/onap/aaf/misc/env/JU_APIExceptionTest.java b/misc/env/src/test/java/org/onap/aaf/misc/env/JU_APIExceptionTest.java index b0c60878..c1d7f6b1 100644 --- a/misc/env/src/test/java/org/onap/aaf/misc/env/JU_APIExceptionTest.java +++ b/misc/env/src/test/java/org/onap/aaf/misc/env/JU_APIExceptionTest.java @@ -27,45 +27,45 @@ import org.junit.Test; public class JU_APIExceptionTest { - private static final String EXCEPTION_MESSAGE = "New API Exception for test"; + private static final String EXCEPTION_MESSAGE = "New API Exception for test"; - @Before - public void setUp() throws Exception { - } + @Before + public void setUp() throws Exception { + } - @Test - public void testNewAPIExceptionWithMessage() { - APIException exception = new APIException(EXCEPTION_MESSAGE); + @Test + public void testNewAPIExceptionWithMessage() { + APIException exception = new APIException(EXCEPTION_MESSAGE); - assertEquals(exception.getMessage(), EXCEPTION_MESSAGE); - } + assertEquals(exception.getMessage(), EXCEPTION_MESSAGE); + } - @Test - public void testNewAPIExceptionCreatedWithMessageAndThrowable() { - Throwable throwable = new Throwable(); - APIException exception = new APIException(EXCEPTION_MESSAGE, throwable); + @Test + public void testNewAPIExceptionCreatedWithMessageAndThrowable() { + Throwable throwable = new Throwable(); + APIException exception = new APIException(EXCEPTION_MESSAGE, throwable); - assertEquals(exception.getMessage(), EXCEPTION_MESSAGE); - assertEquals(exception.getCause(), throwable); - } + assertEquals(exception.getMessage(), EXCEPTION_MESSAGE); + assertEquals(exception.getCause(), throwable); + } - @Test - public void testNewAPIExceptionCreatedWithThrowable() { - Throwable throwable = new Throwable(); - APIException exception = new APIException(throwable); + @Test + public void testNewAPIExceptionCreatedWithThrowable() { + Throwable throwable = new Throwable(); + APIException exception = new APIException(throwable); - assertEquals(exception.getCause(), throwable); - } + assertEquals(exception.getCause(), throwable); + } - @Test - public void testPayloadSetter() { - Throwable throwable = new Throwable(); - Object payload = new Object(); + @Test + public void testPayloadSetter() { + Throwable throwable = new Throwable(); + Object payload = new Object(); - APIException exception = new APIException(throwable); + APIException exception = new APIException(throwable); - exception.setPayload(payload); + exception.setPayload(payload); - assertEquals(exception.getPayload(), payload); - } + assertEquals(exception.getPayload(), payload); + } } diff --git a/misc/env/src/test/java/org/onap/aaf/misc/env/JU_BasicTransTest.java b/misc/env/src/test/java/org/onap/aaf/misc/env/JU_BasicTransTest.java index 6a090167..0525bd66 100644 --- a/misc/env/src/test/java/org/onap/aaf/misc/env/JU_BasicTransTest.java +++ b/misc/env/src/test/java/org/onap/aaf/misc/env/JU_BasicTransTest.java @@ -33,77 +33,77 @@ import org.onap.aaf.misc.env.impl.BasicTrans; @RunWith(MockitoJUnitRunner.class) public class JU_BasicTransTest { - BasicTrans trans = null; - - @Mock - private EnvJAXB env; - - @Mock - private TimeTaken timeTaken; - - @Before - public void setUp() throws Exception { - trans = new BasicTrans(env); - } - - @Test - public void testSlot() { - Slot slot = new Slot(1, "XML"); - when(env.slot("XML")).thenReturn(slot); - - Slot outputSlot = trans.slot("XML"); - Object[] state = new Object[2]; - - slot.put(state, "JSON"); - - assertEquals(slot.get(state), "JSON"); - assertEquals(slot.getKey(), outputSlot.getKey()); - assertEquals(slot.toString(), outputSlot.toString()); - } - - @Test - public void testGetStaticSlot() { - StaticSlot staticSlot = new StaticSlot(1, "XML"); - when(env.get(staticSlot)).thenReturn(staticSlot.toString()); - - assertEquals(staticSlot.toString(), trans.get(staticSlot)); - } - - @Test - public void testGetStaticSlotWithT() { - StaticSlot staticSlot = new StaticSlot(1, "XML"); - when(env.get(staticSlot, "XML")).thenReturn(staticSlot.getKey()); - - assertEquals(staticSlot.getKey(), trans.get(staticSlot, "XML")); - } - - @Test - public void testSetProperty() { - String tag = "tag"; - String value = "value"; - String defltValue = "diffValue"; - when(env.setProperty(tag, value)).thenReturn(value); - when(env.getProperty(tag)).thenReturn(value); - when(env.getProperty(tag, defltValue)).thenReturn(defltValue); - - assertEquals(value, trans.setProperty(tag, value)); - assertEquals(value, trans.getProperty(tag)); - assertEquals(defltValue, trans.getProperty(tag, defltValue)); - } - - @Test - public void testDecryptor() { - when(env.decryptor()).thenReturn(Decryptor.NULL); - - assertEquals(Decryptor.NULL, trans.decryptor()); - assertEquals("tag", trans.decryptor().decrypt("tag")); - } - - @Test - public void testEncryptor() { - when(env.encryptor()).thenReturn(Encryptor.NULL); - - assertEquals(Encryptor.NULL, trans.encryptor()); - assertEquals("tag", trans.encryptor().encrypt("tag")); - } + BasicTrans trans = null; + + @Mock + private EnvJAXB env; + + @Mock + private TimeTaken timeTaken; + + @Before + public void setUp() throws Exception { + trans = new BasicTrans(env); + } + + @Test + public void testSlot() { + Slot slot = new Slot(1, "XML"); + when(env.slot("XML")).thenReturn(slot); + + Slot outputSlot = trans.slot("XML"); + Object[] state = new Object[2]; + + slot.put(state, "JSON"); + + assertEquals(slot.get(state), "JSON"); + assertEquals(slot.getKey(), outputSlot.getKey()); + assertEquals(slot.toString(), outputSlot.toString()); + } + + @Test + public void testGetStaticSlot() { + StaticSlot staticSlot = new StaticSlot(1, "XML"); + when(env.get(staticSlot)).thenReturn(staticSlot.toString()); + + assertEquals(staticSlot.toString(), trans.get(staticSlot)); + } + + @Test + public void testGetStaticSlotWithT() { + StaticSlot staticSlot = new StaticSlot(1, "XML"); + when(env.get(staticSlot, "XML")).thenReturn(staticSlot.getKey()); + + assertEquals(staticSlot.getKey(), trans.get(staticSlot, "XML")); + } + + @Test + public void testSetProperty() { + String tag = "tag"; + String value = "value"; + String defltValue = "diffValue"; + when(env.setProperty(tag, value)).thenReturn(value); + when(env.getProperty(tag)).thenReturn(value); + when(env.getProperty(tag, defltValue)).thenReturn(defltValue); + + assertEquals(value, trans.setProperty(tag, value)); + assertEquals(value, trans.getProperty(tag)); + assertEquals(defltValue, trans.getProperty(tag, defltValue)); + } + + @Test + public void testDecryptor() { + when(env.decryptor()).thenReturn(Decryptor.NULL); + + assertEquals(Decryptor.NULL, trans.decryptor()); + assertEquals("tag", trans.decryptor().decrypt("tag")); + } + + @Test + public void testEncryptor() { + when(env.encryptor()).thenReturn(Encryptor.NULL); + + assertEquals(Encryptor.NULL, trans.encryptor()); + assertEquals("tag", trans.encryptor().encrypt("tag")); + } } diff --git a/misc/env/src/test/java/org/onap/aaf/misc/env/JU_LogTargetTest.java b/misc/env/src/test/java/org/onap/aaf/misc/env/JU_LogTargetTest.java index 474f646c..caaca1d1 100644 --- a/misc/env/src/test/java/org/onap/aaf/misc/env/JU_LogTargetTest.java +++ b/misc/env/src/test/java/org/onap/aaf/misc/env/JU_LogTargetTest.java @@ -34,54 +34,54 @@ import org.mockito.Mock; public class JU_LogTargetTest { - @Mock - Throwable t; + @Mock + Throwable t; - @Before - public void setup() { - t = mock(Throwable.class); - } + @Before + public void setup() { + t = mock(Throwable.class); + } - @Test - public void testLogTargetNull() { - LogTarget nullTarget = LogTarget.NULL; + @Test + public void testLogTargetNull() { + LogTarget nullTarget = LogTarget.NULL; - // Expect methods doing nothing as no implemenation provided. - nullTarget.log(new Throwable(), null, null); - nullTarget.log("String", null); - nullTarget.printf(null, null, null); + // Expect methods doing nothing as no implemenation provided. + nullTarget.log(new Throwable(), null, null); + nullTarget.log("String", null); + nullTarget.printf(null, null, null); - assertFalse(nullTarget.isLoggable()); - } + assertFalse(nullTarget.isLoggable()); + } - @Test - public void testLogTargetSysOut() { - LogTarget outTarget = LogTarget.SYSOUT; + @Test + public void testLogTargetSysOut() { + LogTarget outTarget = LogTarget.SYSOUT; - outTarget.printf("format", new Date()); - outTarget.log("null", null, null); + outTarget.printf("format", new Date()); + outTarget.log("null", null, null); - outTarget.log(t); - outTarget.log(t, "First String Object"); + outTarget.log(t); + outTarget.log(t, "First String Object"); - assertTrue(outTarget.isLoggable()); + assertTrue(outTarget.isLoggable()); - verify(t, times(2)).printStackTrace(System.out); - } + verify(t, times(2)).printStackTrace(System.out); + } - @Test - public void testLogTargetSysErr() { - LogTarget errTarget = LogTarget.SYSERR; + @Test + public void testLogTargetSysErr() { + LogTarget errTarget = LogTarget.SYSERR; - errTarget.printf("format", new Date()); - errTarget.log("null", "null"); + errTarget.printf("format", new Date()); + errTarget.log("null", "null"); - errTarget.log(t); - errTarget.log(t, "First String Object"); + errTarget.log(t); + errTarget.log(t, "First String Object"); - assertTrue(errTarget.isLoggable()); + assertTrue(errTarget.isLoggable()); - verify(t, times(2)).printStackTrace(System.err); - } + verify(t, times(2)).printStackTrace(System.err); + } } diff --git a/misc/env/src/test/java/org/onap/aaf/misc/env/impl/JU_BasicEnvTest.java b/misc/env/src/test/java/org/onap/aaf/misc/env/impl/JU_BasicEnvTest.java index 65dc7c50..b15972ef 100644 --- a/misc/env/src/test/java/org/onap/aaf/misc/env/impl/JU_BasicEnvTest.java +++ b/misc/env/src/test/java/org/onap/aaf/misc/env/impl/JU_BasicEnvTest.java @@ -40,141 +40,141 @@ import org.onap.aaf.misc.env.TimeTaken; public class JU_BasicEnvTest { - @Mock - Decryptor decrypt; + @Mock + Decryptor decrypt; - @Mock - Encryptor encrypt; + @Mock + Encryptor encrypt; - @Before - public void setup() { - decrypt = mock(Decryptor.class); - encrypt = mock(Encryptor.class); - } + @Before + public void setup() { + decrypt = mock(Decryptor.class); + encrypt = mock(Encryptor.class); + } - @Test - public void testLogTarget() { - Properties prop = new Properties(); - BasicEnv env = new BasicEnv(prop); + @Test + public void testLogTarget() { + Properties prop = new Properties(); + BasicEnv env = new BasicEnv(prop); - assertEquals(env.fatal(), LogTarget.SYSERR); - assertEquals(env.error(), LogTarget.SYSERR); - assertEquals(env.audit(), LogTarget.SYSOUT); - assertEquals(env.warn(), LogTarget.SYSERR); - assertEquals(env.init(), LogTarget.SYSOUT); - assertEquals(env.info(), LogTarget.SYSOUT); - assertEquals(env.debug(), LogTarget.NULL); - assertEquals(env.trace(), LogTarget.NULL); + assertEquals(env.fatal(), LogTarget.SYSERR); + assertEquals(env.error(), LogTarget.SYSERR); + assertEquals(env.audit(), LogTarget.SYSOUT); + assertEquals(env.warn(), LogTarget.SYSERR); + assertEquals(env.init(), LogTarget.SYSOUT); + assertEquals(env.info(), LogTarget.SYSOUT); + assertEquals(env.debug(), LogTarget.NULL); + assertEquals(env.trace(), LogTarget.NULL); - env.debug(LogTarget.SYSOUT); - assertEquals(env.debug(), LogTarget.SYSOUT); + env.debug(LogTarget.SYSOUT); + assertEquals(env.debug(), LogTarget.SYSOUT); - assertNull(env.getProperty("key")); - assertEquals("default", env.getProperty("key", "default")); + assertNull(env.getProperty("key")); + assertEquals("default", env.getProperty("key", "default")); - env.setProperty("key", "value"); - assertEquals("value", env.getProperty("key", "default")); + env.setProperty("key", "value"); + assertEquals("value", env.getProperty("key", "default")); - Properties filteredProperties = env.getProperties("key"); - assertEquals(filteredProperties.size(), 1); + Properties filteredProperties = env.getProperties("key"); + assertEquals(filteredProperties.size(), 1); - env.setProperty("key", null); - assertEquals("default", env.getProperty("key", "default")); + env.setProperty("key", null); + assertEquals("default", env.getProperty("key", "default")); - filteredProperties = env.getProperties("key1"); - assertEquals(filteredProperties.size(), 0); + filteredProperties = env.getProperties("key1"); + assertEquals(filteredProperties.size(), 0); - filteredProperties = env.getProperties(); - assertEquals(filteredProperties.size(), 0); + filteredProperties = env.getProperties(); + assertEquals(filteredProperties.size(), 0); - } + } - @Test - public void testBasicEnv() { - Applet applet = null; + @Test + public void testBasicEnv() { + Applet applet = null; - BasicEnv env = new BasicEnv(applet, "tag1", "tag2"); + BasicEnv env = new BasicEnv(applet, "tag1", "tag2"); - TimeTaken tt = env.start("Name", 2); + TimeTaken tt = env.start("Name", 2); - long end = tt.end(); - StringBuilder sb = new StringBuilder(); + long end = tt.end(); + StringBuilder sb = new StringBuilder(); - assertEquals(tt.toString(), "Name " + (end - tt.start) / 1000000f + "ms "); - tt.output(sb); - assertEquals(sb.toString(), "XML Name " + (end - tt.start) / 1000000f + "ms"); + assertEquals(tt.toString(), "Name " + (end - tt.start) / 1000000f + "ms "); + tt.output(sb); + assertEquals(sb.toString(), "XML Name " + (end - tt.start) / 1000000f + "ms"); - env.set(decrypt); - assertEquals(env.decryptor(), decrypt); - env.set(encrypt); - assertEquals(env.encryptor(), encrypt); - } + env.set(decrypt); + assertEquals(env.decryptor(), decrypt); + env.set(encrypt); + assertEquals(env.encryptor(), encrypt); + } - @Test - public void testBasicEnvDiffFlag() { - Properties prop = new Properties(); + @Test + public void testBasicEnvDiffFlag() { + Properties prop = new Properties(); - BasicEnv env = new BasicEnv("tag1", prop); + BasicEnv env = new BasicEnv("tag1", prop); - TimeTaken tt = env.start("Name", 1); + TimeTaken tt = env.start("Name", 1); - long end = tt.end(); - StringBuilder sb = new StringBuilder(); + long end = tt.end(); + StringBuilder sb = new StringBuilder(); - assertEquals(tt.toString(), "Name " + (end - tt.start) / 1000000f + "ms "); - tt.output(sb); - assertEquals(sb.toString(), "REMOTE Name " + (end - tt.start) / 1000000f + "ms"); + assertEquals(tt.toString(), "Name " + (end - tt.start) / 1000000f + "ms "); + tt.output(sb); + assertEquals(sb.toString(), "REMOTE Name " + (end - tt.start) / 1000000f + "ms"); - tt = env.start("New Name", 4); - tt.size(10); - sb = new StringBuilder(); - tt.output(sb); - assertEquals(tt.toString(), "New Name " + (end - tt.start) / 1000000f + "ms 10"); - assertEquals(sb.toString(), "JSON New Name " + (end - tt.start) / 1000000f + "ms size: 10"); + tt = env.start("New Name", 4); + tt.size(10); + sb = new StringBuilder(); + tt.output(sb); + assertEquals(tt.toString(), "New Name " + (end - tt.start) / 1000000f + "ms 10"); + assertEquals(sb.toString(), "JSON New Name " + (end - tt.start) / 1000000f + "ms size: 10"); - env.staticSlot("tag", "prop"); + env.staticSlot("tag", "prop"); - if (System.getProperties().keySet().iterator().hasNext()) { - String key = (String) System.getProperties().keySet().iterator().next(); + if (System.getProperties().keySet().iterator().hasNext()) { + String key = (String) System.getProperties().keySet().iterator().next(); - env.loadFromSystemPropsStartsWith(key); - assertEquals(env.getProperty(key), System.getProperties().get(key)); - } + env.loadFromSystemPropsStartsWith(key); + assertEquals(env.getProperty(key), System.getProperties().get(key)); + } - BasicTrans trans = env.newTrans(); - assertEquals(trans.delegate, env); + BasicTrans trans = env.newTrans(); + assertEquals(trans.delegate, env); - } + } - @Test - public void testLoadProperties() throws IOException { - Properties prop = new Properties(); + @Test + public void testLoadProperties() throws IOException { + Properties prop = new Properties(); - BasicEnv env = new BasicEnv("tag1", prop); + BasicEnv env = new BasicEnv("tag1", prop); - env.loadPropFiles("tag1", null); - env.setProperty("tag1", "propfile.properties"); - env.loadPropFiles("tag1", null); + env.loadPropFiles("tag1", null); + env.setProperty("tag1", "propfile.properties"); + env.loadPropFiles("tag1", null); - assertEquals(env.getProperty("prop1"), "New Property"); + assertEquals(env.getProperty("prop1"), "New Property"); - env.loadToSystemPropsStartsWith("prop1"); + env.loadToSystemPropsStartsWith("prop1"); - assertTrue(System.getProperties().keySet().contains("prop1")); - assertEquals(System.getProperties().get("prop1"), "New Property"); - } + assertTrue(System.getProperties().keySet().contains("prop1")); + assertEquals(System.getProperties().get("prop1"), "New Property"); + } - @After - public void tearDown() throws IOException { - /* - * File file = new File("./log-Append" + ending + "_0.log"); if (file.exists()) - * { Files.delete(Paths.get(file.getAbsolutePath())); } file = new - * File("./log-Append" + ending + "_1.log"); if (file.exists()) { - * Files.delete(Paths.get(file.getAbsolutePath())); } file = new File("./Append" - * + ending + "_0.log"); if (file.exists()) { - * Files.delete(Paths.get(file.getAbsolutePath())); } file = new File("./Append" - * + ending + "_1.log"); if (file.exists()) { - * Files.delete(Paths.get(file.getAbsolutePath())); } - */ - } + @After + public void tearDown() throws IOException { + /* + * File file = new File("./log-Append" + ending + "_0.log"); if (file.exists()) + * { Files.delete(Paths.get(file.getAbsolutePath())); } file = new + * File("./log-Append" + ending + "_1.log"); if (file.exists()) { + * Files.delete(Paths.get(file.getAbsolutePath())); } file = new File("./Append" + * + ending + "_0.log"); if (file.exists()) { + * Files.delete(Paths.get(file.getAbsolutePath())); } file = new File("./Append" + * + ending + "_1.log"); if (file.exists()) { + * Files.delete(Paths.get(file.getAbsolutePath())); } + */ + } } diff --git a/misc/env/src/test/java/org/onap/aaf/misc/env/impl/JU_EnvFactoryTest.java b/misc/env/src/test/java/org/onap/aaf/misc/env/impl/JU_EnvFactoryTest.java index f6c6912d..e5d0ed52 100644 --- a/misc/env/src/test/java/org/onap/aaf/misc/env/impl/JU_EnvFactoryTest.java +++ b/misc/env/src/test/java/org/onap/aaf/misc/env/impl/JU_EnvFactoryTest.java @@ -31,49 +31,49 @@ import org.onap.aaf.misc.env.TransJAXB; public class JU_EnvFactoryTest { - @Before - public void setUp() throws Exception { - } + @Before + public void setUp() throws Exception { + } - @Test - public void testSingleton() { - BasicEnv singleton = EnvFactory.singleton(); + @Test + public void testSingleton() { + BasicEnv singleton = EnvFactory.singleton(); - assertEquals(EnvFactory.singleton, singleton); - } + assertEquals(EnvFactory.singleton, singleton); + } - @Test - public void testSetSingleton() { - String[] str = { "argument1" }; - BasicEnv env = new BasicEnv("tag", str); - EnvFactory.setSingleton(env); + @Test + public void testSetSingleton() { + String[] str = { "argument1" }; + BasicEnv env = new BasicEnv("tag", str); + EnvFactory.setSingleton(env); - assertEquals(EnvFactory.singleton(), env); - } + assertEquals(EnvFactory.singleton(), env); + } - @Test - public void testNewTrans() { - TransJAXB newTrans = EnvFactory.newTrans(); + @Test + public void testNewTrans() { + TransJAXB newTrans = EnvFactory.newTrans(); - assertTrue(newTrans instanceof BasicTrans); - } + assertTrue(newTrans instanceof BasicTrans); + } - @Test - public void testNewTransEnvJAXB() { - EnvJAXB env = new BasicEnv(""); + @Test + public void testNewTransEnvJAXB() { + EnvJAXB env = new BasicEnv(""); - TransJAXB trans = EnvFactory.newTrans(env); + TransJAXB trans = EnvFactory.newTrans(env); - assertTrue(trans instanceof BasicTrans); - } + assertTrue(trans instanceof BasicTrans); + } - @Test - public void testTransCreator() { - TransCreate transCreator = EnvFactory.transCreator(); + @Test + public void testTransCreator() { + TransCreate transCreator = EnvFactory.transCreator(); - TransJAXB newTrans = transCreator.newTrans(); + TransJAXB newTrans = transCreator.newTrans(); - assertTrue(newTrans instanceof BasicTrans); - } + assertTrue(newTrans instanceof BasicTrans); + } } diff --git a/misc/env/src/test/java/org/onap/aaf/misc/env/impl/JU_Log4JLogTargetTest.java b/misc/env/src/test/java/org/onap/aaf/misc/env/impl/JU_Log4JLogTargetTest.java index e3f54929..914a01b0 100644 --- a/misc/env/src/test/java/org/onap/aaf/misc/env/impl/JU_Log4JLogTargetTest.java +++ b/misc/env/src/test/java/org/onap/aaf/misc/env/impl/JU_Log4JLogTargetTest.java @@ -40,23 +40,23 @@ import org.powermock.modules.junit4.PowerMockRunner; @PrepareForTest({ Log4JLogTarget.class, Logger.class }) public class JU_Log4JLogTargetTest { - @Mock - Logger log; + @Mock + Logger log; - @Before - public void setup() { - MockitoAnnotations.initMocks(this); - PowerMockito.mockStatic(Logger.class); - when(Logger.getLogger("Info")).thenReturn(log); - when(log.isEnabledFor(Level.DEBUG)).thenReturn(false); - } + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + PowerMockito.mockStatic(Logger.class); + when(Logger.getLogger("Info")).thenReturn(log); + when(log.isEnabledFor(Level.DEBUG)).thenReturn(false); + } - @Test - public void test() throws APIException { - Log4JLogTarget target = new Log4JLogTarget(null, Level.INFO); - Log4JLogTarget target1 = new Log4JLogTarget("Info", Level.DEBUG); + @Test + public void test() throws APIException { + Log4JLogTarget target = new Log4JLogTarget(null, Level.INFO); + Log4JLogTarget target1 = new Log4JLogTarget("Info", Level.DEBUG); - assertFalse(target1.isLoggable()); + assertFalse(target1.isLoggable()); - } + } } \ No newline at end of file diff --git a/misc/env/src/test/java/org/onap/aaf/misc/env/jaxb/JU_JAXBDataTest.java b/misc/env/src/test/java/org/onap/aaf/misc/env/jaxb/JU_JAXBDataTest.java index 80de9b7b..6780a6a8 100644 --- a/misc/env/src/test/java/org/onap/aaf/misc/env/jaxb/JU_JAXBDataTest.java +++ b/misc/env/src/test/java/org/onap/aaf/misc/env/jaxb/JU_JAXBDataTest.java @@ -43,138 +43,138 @@ import org.onap.aaf.misc.env.old.Stringifier; public class JU_JAXBDataTest { - @Mock - private Objectifier objfr; + @Mock + private Objectifier objfr; - private String object = "Text"; + private String object = "Text"; - @Mock - private Stringifier strfr; + @Mock + private Stringifier strfr; - @Mock - private IOStringifier ioStrfr; + @Mock + private IOStringifier ioStrfr; - @Mock - private JAXBDF df; + @Mock + private JAXBDF df; - @Mock - private Env env; + @Mock + private Env env; - @Mock - private Class typeClass; + @Mock + private Class typeClass; - @Mock - private OutputStream os; + @Mock + private OutputStream os; - @Mock - private Writer writer; + @Mock + private Writer writer; - @Mock - private EnvJAXB env1; + @Mock + private EnvJAXB env1; - @Before - public void setUp() throws Exception { - writer = mock(Writer.class); - os = mock(OutputStream.class); - strfr = mock(Stringifier.class); - ioStrfr = mock(IOStringifier.class); - objfr = mock(Objectifier.class); - env1 = mock(EnvJAXB.class); - } + @Before + public void setUp() throws Exception { + writer = mock(Writer.class); + os = mock(OutputStream.class); + strfr = mock(Stringifier.class); + ioStrfr = mock(IOStringifier.class); + objfr = mock(Objectifier.class); + env1 = mock(EnvJAXB.class); + } - @Test - public void testJAXBDataEnv() throws APIException, IOException { - JAXBData jaxb = new JAXBData(env, df, strfr, objfr, object, typeClass); + @Test + public void testJAXBDataEnv() throws APIException, IOException { + JAXBData jaxb = new JAXBData(env, df, strfr, objfr, object, typeClass); - when(objfr.objectify(env, object)).thenReturn("String1"); + when(objfr.objectify(env, object)).thenReturn("String1"); - jaxb.to(os); - jaxb.to(writer); + jaxb.to(os); + jaxb.to(writer); - verify(writer).write(object); - verify(os).write(object.getBytes()); + verify(writer).write(object); + verify(os).write(object.getBytes()); - assertEquals(jaxb.asString(), object); - assertEquals(jaxb.asString(null), object); - assertEquals(jaxb.toString(), object); - assertEquals(jaxb.getTypeClass(), typeClass); - assertEquals(jaxb.out(null), jaxb); - assertEquals(jaxb.in(null), jaxb); - assertTrue(jaxb.getInputStream() instanceof ByteArrayInputStream); - assertEquals(jaxb.asObject(), "String1"); - assertEquals(jaxb.asObject(env1), "String1"); - assertEquals(jaxb.toString(), object); - } + assertEquals(jaxb.asString(), object); + assertEquals(jaxb.asString(null), object); + assertEquals(jaxb.toString(), object); + assertEquals(jaxb.getTypeClass(), typeClass); + assertEquals(jaxb.out(null), jaxb); + assertEquals(jaxb.in(null), jaxb); + assertTrue(jaxb.getInputStream() instanceof ByteArrayInputStream); + assertEquals(jaxb.asObject(), "String1"); + assertEquals(jaxb.asObject(env1), "String1"); + assertEquals(jaxb.toString(), object); + } - @Test - public void testJAXBDataEnvForObjectifier() throws APIException, IOException { - JAXBData jaxb = new JAXBData(env, df, strfr, objfr, object, typeClass); + @Test + public void testJAXBDataEnvForObjectifier() throws APIException, IOException { + JAXBData jaxb = new JAXBData(env, df, strfr, objfr, object, typeClass); - when(objfr.objectify(env1, object)).thenReturn("String1"); + when(objfr.objectify(env1, object)).thenReturn("String1"); - assertEquals(jaxb.asObject(env1), "String1"); - } + assertEquals(jaxb.asObject(env1), "String1"); + } - @Test - public void testJAXBDataEnvWithObject() throws APIException, IOException { - JAXBData jaxb = new JAXBData(env, df, strfr, objfr, object); + @Test + public void testJAXBDataEnvWithObject() throws APIException, IOException { + JAXBData jaxb = new JAXBData(env, df, strfr, objfr, object); - when(strfr.stringify(env, object, new boolean[] { false, false })).thenReturn(object); + when(strfr.stringify(env, object, new boolean[] { false, false })).thenReturn(object); - jaxb.to(os); + jaxb.to(os); - verify(os).write(object.getBytes()); + verify(os).write(object.getBytes()); - assertEquals(jaxb.asString(), object); - assertEquals(jaxb.asString(null), object); - assertEquals(jaxb.toString(), object); - } + assertEquals(jaxb.asString(), object); + assertEquals(jaxb.asString(null), object); + assertEquals(jaxb.toString(), object); + } - @Test - public void testJAXBDataEnvForWriter() throws APIException, IOException { - JAXBData jaxb = new JAXBData(env, df, strfr, objfr, object); + @Test + public void testJAXBDataEnvForWriter() throws APIException, IOException { + JAXBData jaxb = new JAXBData(env, df, strfr, objfr, object); - when(strfr.stringify(env, object, new boolean[] { false, false })).thenReturn(object); + when(strfr.stringify(env, object, new boolean[] { false, false })).thenReturn(object); - jaxb.to(writer); + jaxb.to(writer); - verify(writer).write(object); + verify(writer).write(object); - assertEquals(jaxb.asString(), object); - assertEquals(jaxb.asString(null), object); - assertEquals(jaxb.toString(), object); - assertEquals(jaxb.asObject(), object); - assertEquals(jaxb.asObject(null), object); - } + assertEquals(jaxb.asString(), object); + assertEquals(jaxb.asString(null), object); + assertEquals(jaxb.toString(), object); + assertEquals(jaxb.asObject(), object); + assertEquals(jaxb.asObject(null), object); + } - @Test - public void testAsStringWithNullString() throws APIException, IOException { - JAXBData jaxb = new JAXBData(env, df, strfr, objfr, object); + @Test + public void testAsStringWithNullString() throws APIException, IOException { + JAXBData jaxb = new JAXBData(env, df, strfr, objfr, object); - when(strfr.stringify(env, object, new boolean[] { false, false })).thenReturn(object); + when(strfr.stringify(env, object, new boolean[] { false, false })).thenReturn(object); - assertEquals(jaxb.asString(), object); - } + assertEquals(jaxb.asString(), object); + } - @Test - public void testAsStringWithNullStringWithEnv() throws APIException, IOException { - JAXBData jaxb = new JAXBData(env, df, strfr, objfr, object); + @Test + public void testAsStringWithNullStringWithEnv() throws APIException, IOException { + JAXBData jaxb = new JAXBData(env, df, strfr, objfr, object); - when(strfr.stringify(env1, object)).thenReturn(object); + when(strfr.stringify(env1, object)).thenReturn(object); - assertEquals(jaxb.asString(env1), object); - } + assertEquals(jaxb.asString(env1), object); + } - @Test - public void testToWithIOStrifier() throws APIException, IOException { - JAXBData jaxb = new JAXBData(env, df, strfr, objfr, object); + @Test + public void testToWithIOStrifier() throws APIException, IOException { + JAXBData jaxb = new JAXBData(env, df, strfr, objfr, object); - jaxb.option(0); + jaxb.option(0); - when(strfr.stringify(env1, object)).thenReturn(object); - when(strfr.stringify(env, object, new boolean[] { false, false })).thenReturn(object); + when(strfr.stringify(env1, object)).thenReturn(object); + when(strfr.stringify(env, object, new boolean[] { false, false })).thenReturn(object); - assertTrue(jaxb.getInputStream() instanceof ByteArrayInputStream); - assertEquals(jaxb.asString(env1), object); - } + assertTrue(jaxb.getInputStream() instanceof ByteArrayInputStream); + assertEquals(jaxb.asString(env1), object); + } } diff --git a/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_ChronoTest.java b/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_ChronoTest.java index 05fd6fbf..c113c86e 100644 --- a/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_ChronoTest.java +++ b/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_ChronoTest.java @@ -36,204 +36,204 @@ import org.junit.Test; public class JU_ChronoTest { - @Before - public void setUp() throws Exception { - } - - @Test - public void testFormatter8601() { - Chrono.Formatter8601 formatter = new Chrono.Formatter8601(); + @Before + public void setUp() throws Exception { + } + + @Test + public void testFormatter8601() { + Chrono.Formatter8601 formatter = new Chrono.Formatter8601(); - LogRecord record = new LogRecord(Level.WARNING, "Log Record to test log formating"); + LogRecord record = new LogRecord(Level.WARNING, "Log Record to test log formating"); - Date date = new Date(118, 02, 02); - long time = date.getTime(); + Date date = new Date(118, 02, 02); + long time = date.getTime(); - record.setMillis(time); + record.setMillis(time); - String expectedString = Chrono.dateFmt.format(date) + " " + record.getThreadID() + " " + record.getLevel() - + ": " + record.getMessage() + "\n"; - assertEquals(expectedString, formatter.format(record)); - } + String expectedString = Chrono.dateFmt.format(date) + " " + record.getThreadID() + " " + record.getLevel() + + ": " + record.getMessage() + "\n"; + assertEquals(expectedString, formatter.format(record)); + } - @Test - public void testTimeStampWithDate() { - Date date = Calendar.getInstance().getTime(); - XMLGregorianCalendar timeStamp = Chrono.timeStamp(date); + @Test + public void testTimeStampWithDate() { + Date date = Calendar.getInstance().getTime(); + XMLGregorianCalendar timeStamp = Chrono.timeStamp(date); - GregorianCalendar gc = new GregorianCalendar(); - gc.setTime(date); - XMLGregorianCalendar expectedCalendar = Chrono.xmlDatatypeFactory.newXMLGregorianCalendar(gc); + GregorianCalendar gc = new GregorianCalendar(); + gc.setTime(date); + XMLGregorianCalendar expectedCalendar = Chrono.xmlDatatypeFactory.newXMLGregorianCalendar(gc); - assertEquals(expectedCalendar, timeStamp); - } + assertEquals(expectedCalendar, timeStamp); + } - @Test - public void testUTCStamp() { - final Date date = Calendar.getInstance().getTime(); - String expectedUTCTime = Chrono.utcFmt.format(date); + @Test + public void testUTCStamp() { + final Date date = Calendar.getInstance().getTime(); + String expectedUTCTime = Chrono.utcFmt.format(date); - String stamp = Chrono.utcStamp(date); + String stamp = Chrono.utcStamp(date); - assertEquals(stamp, expectedUTCTime); + assertEquals(stamp, expectedUTCTime); - Date date1 = null; - assertEquals("", Chrono.utcStamp(date1)); + Date date1 = null; + assertEquals("", Chrono.utcStamp(date1)); - GregorianCalendar gc = null; - assertEquals(Chrono.utcStamp(gc), ""); - gc = new GregorianCalendar(); - gc.setTime(date); - assertEquals(Chrono.utcStamp(gc), expectedUTCTime); + GregorianCalendar gc = null; + assertEquals(Chrono.utcStamp(gc), ""); + gc = new GregorianCalendar(); + gc.setTime(date); + assertEquals(Chrono.utcStamp(gc), expectedUTCTime); - XMLGregorianCalendar xgc = null; - assertEquals(Chrono.utcStamp(xgc), ""); - xgc = Chrono.timeStamp(gc); - assertEquals(Chrono.utcStamp(xgc), expectedUTCTime); + XMLGregorianCalendar xgc = null; + assertEquals(Chrono.utcStamp(xgc), ""); + xgc = Chrono.timeStamp(gc); + assertEquals(Chrono.utcStamp(xgc), expectedUTCTime); - } + } - @Test - public void testDateStamp() { - final Date date = Calendar.getInstance().getTime(); - String expectedUTCTime = Chrono.dateFmt.format(date); + @Test + public void testDateStamp() { + final Date date = Calendar.getInstance().getTime(); + String expectedUTCTime = Chrono.dateFmt.format(date); - String stamp = Chrono.dateStamp(date); + String stamp = Chrono.dateStamp(date); - assertEquals(stamp, expectedUTCTime); + assertEquals(stamp, expectedUTCTime); - Date date1 = null; - assertEquals("", Chrono.dateStamp(date1)); + Date date1 = null; + assertEquals("", Chrono.dateStamp(date1)); - GregorianCalendar gc = null; - assertEquals(Chrono.dateStamp(gc), ""); - gc = new GregorianCalendar(); - gc.setTime(date); - assertEquals(Chrono.dateStamp(gc), expectedUTCTime); + GregorianCalendar gc = null; + assertEquals(Chrono.dateStamp(gc), ""); + gc = new GregorianCalendar(); + gc.setTime(date); + assertEquals(Chrono.dateStamp(gc), expectedUTCTime); - XMLGregorianCalendar xgc = null; - assertEquals(Chrono.dateStamp(xgc), ""); - xgc = Chrono.timeStamp(gc); - assertEquals(Chrono.dateStamp(xgc), expectedUTCTime); - } + XMLGregorianCalendar xgc = null; + assertEquals(Chrono.dateStamp(xgc), ""); + xgc = Chrono.timeStamp(gc); + assertEquals(Chrono.dateStamp(xgc), expectedUTCTime); + } - @Test - public void testDateTime() { - final Date date = Calendar.getInstance().getTime(); - date.setTime(1525023883297L); + @Test + public void testDateTime() { + final Date date = Calendar.getInstance().getTime(); + date.setTime(1525023883297L); - GregorianCalendar gc = null; - assertEquals(Chrono.dateTime(gc), ""); - gc = new GregorianCalendar(); - gc.setTime(date); + GregorianCalendar gc = null; + assertEquals(Chrono.dateTime(gc), ""); + gc = new GregorianCalendar(); + gc.setTime(date); - // String expectedDateTime = "2018-04-29T11:14:43.297" + sign + hourOffSet + ":" - // + minOffSet; + // String expectedDateTime = "2018-04-29T11:14:43.297" + sign + hourOffSet + ":" + // + minOffSet; - TimeZone tz = gc.getTimeZone(); - int tz1 = (tz.getRawOffset() + tz.getDSTSavings()) / 0x8CA0; - int tz1abs = Math.abs(tz1); - String expectedDateTime = String.format("%04d-%02d-%02dT%02d:%02d:%02d.%03d%c%02d:%02d", - gc.get(GregorianCalendar.YEAR), gc.get(GregorianCalendar.MONTH) + 1, - gc.get(GregorianCalendar.DAY_OF_MONTH), gc.get(GregorianCalendar.HOUR), - gc.get(GregorianCalendar.MINUTE), gc.get(GregorianCalendar.SECOND), - gc.get(GregorianCalendar.MILLISECOND), tz1 == tz1abs ? '+' : '-', tz1abs / 100, - ((tz1abs - (tz1abs / 100) * 100) * 6) / 10 // Get the "10s", then convert to mins (without losing int - // place) - ); + TimeZone tz = gc.getTimeZone(); + int tz1 = (tz.getRawOffset() + tz.getDSTSavings()) / 0x8CA0; + int tz1abs = Math.abs(tz1); + String expectedDateTime = String.format("%04d-%02d-%02dT%02d:%02d:%02d.%03d%c%02d:%02d", + gc.get(GregorianCalendar.YEAR), gc.get(GregorianCalendar.MONTH) + 1, + gc.get(GregorianCalendar.DAY_OF_MONTH), gc.get(GregorianCalendar.HOUR), + gc.get(GregorianCalendar.MINUTE), gc.get(GregorianCalendar.SECOND), + gc.get(GregorianCalendar.MILLISECOND), tz1 == tz1abs ? '+' : '-', tz1abs / 100, + ((tz1abs - (tz1abs / 100) * 100) * 6) / 10 // Get the "10s", then convert to mins (without losing int + // place) + ); - String stamp = Chrono.dateTime(date); + String stamp = Chrono.dateTime(date); - assertEquals(stamp, expectedDateTime); + assertEquals(stamp, expectedDateTime); - assertEquals(Chrono.dateTime(gc), expectedDateTime); + assertEquals(Chrono.dateTime(gc), expectedDateTime); - XMLGregorianCalendar xgc = null; - assertEquals(Chrono.dateTime(xgc), ""); - xgc = Chrono.timeStamp(gc); - assertEquals(Chrono.dateTime(xgc), expectedDateTime); - } + XMLGregorianCalendar xgc = null; + assertEquals(Chrono.dateTime(xgc), ""); + xgc = Chrono.timeStamp(gc); + assertEquals(Chrono.dateTime(xgc), expectedDateTime); + } - @Test - public void testDateOnlyStamp() { - final Date date = Calendar.getInstance().getTime(); - date.setTime(1525023883297L); + @Test + public void testDateOnlyStamp() { + final Date date = Calendar.getInstance().getTime(); + date.setTime(1525023883297L); - String expectedDateTime = Chrono.dateOnlyFmt.format(date); + String expectedDateTime = Chrono.dateOnlyFmt.format(date); - String stamp = Chrono.dateOnlyStamp(date); + String stamp = Chrono.dateOnlyStamp(date); - assertEquals(stamp, expectedDateTime); + assertEquals(stamp, expectedDateTime); - Date date1 = null; - assertEquals("", Chrono.dateOnlyStamp(date1)); + Date date1 = null; + assertEquals("", Chrono.dateOnlyStamp(date1)); - GregorianCalendar gc = null; - assertEquals(Chrono.dateOnlyStamp(gc), ""); - gc = new GregorianCalendar(); - gc.setTime(date); - assertEquals(Chrono.dateOnlyStamp(gc), expectedDateTime); + GregorianCalendar gc = null; + assertEquals(Chrono.dateOnlyStamp(gc), ""); + gc = new GregorianCalendar(); + gc.setTime(date); + assertEquals(Chrono.dateOnlyStamp(gc), expectedDateTime); - XMLGregorianCalendar xgc = null; - assertEquals(Chrono.dateOnlyStamp(xgc), ""); - xgc = Chrono.timeStamp(gc); - assertEquals(Chrono.dateOnlyStamp(xgc), expectedDateTime); - } + XMLGregorianCalendar xgc = null; + assertEquals(Chrono.dateOnlyStamp(xgc), ""); + xgc = Chrono.timeStamp(gc); + assertEquals(Chrono.dateOnlyStamp(xgc), expectedDateTime); + } - @Test - public void testNiceDateStamp() { - final Date date = Calendar.getInstance().getTime(); - date.setTime(1525023883297L); + @Test + public void testNiceDateStamp() { + final Date date = Calendar.getInstance().getTime(); + date.setTime(1525023883297L); - String expectedDateTime = Chrono.niceDateFmt.format(date); + String expectedDateTime = Chrono.niceDateFmt.format(date); - String stamp = Chrono.niceDateStamp(date); + String stamp = Chrono.niceDateStamp(date); - assertEquals(stamp, expectedDateTime); + assertEquals(stamp, expectedDateTime); - Date date1 = null; - assertEquals("", Chrono.niceDateStamp(date1)); + Date date1 = null; + assertEquals("", Chrono.niceDateStamp(date1)); - GregorianCalendar gc = null; - assertEquals(Chrono.niceDateStamp(gc), ""); - gc = new GregorianCalendar(); - gc.setTime(date); - assertEquals(Chrono.niceDateStamp(gc), expectedDateTime); + GregorianCalendar gc = null; + assertEquals(Chrono.niceDateStamp(gc), ""); + gc = new GregorianCalendar(); + gc.setTime(date); + assertEquals(Chrono.niceDateStamp(gc), expectedDateTime); - XMLGregorianCalendar xgc = null; - assertEquals(Chrono.niceDateStamp(xgc), ""); - xgc = Chrono.timeStamp(gc); - assertEquals(Chrono.niceDateStamp(xgc), expectedDateTime); - } - - @Test - public void testMoment() { - final Date date = Calendar.getInstance().getTime(); - date.setTime(1525023883297L); + XMLGregorianCalendar xgc = null; + assertEquals(Chrono.niceDateStamp(xgc), ""); + xgc = Chrono.timeStamp(gc); + assertEquals(Chrono.niceDateStamp(xgc), expectedDateTime); + } + + @Test + public void testMoment() { + final Date date = Calendar.getInstance().getTime(); + date.setTime(1525023883297L); - GregorianCalendar begin = new GregorianCalendar(); - begin.setTimeInMillis(date.getTime()); - begin.set(GregorianCalendar.HOUR, 0); - begin.set(GregorianCalendar.AM_PM, GregorianCalendar.AM); - begin.set(GregorianCalendar.MINUTE, 0); - begin.set(GregorianCalendar.SECOND, 0); - begin.set(GregorianCalendar.MILLISECOND, 0); + GregorianCalendar begin = new GregorianCalendar(); + begin.setTimeInMillis(date.getTime()); + begin.set(GregorianCalendar.HOUR, 0); + begin.set(GregorianCalendar.AM_PM, GregorianCalendar.AM); + begin.set(GregorianCalendar.MINUTE, 0); + begin.set(GregorianCalendar.SECOND, 0); + begin.set(GregorianCalendar.MILLISECOND, 0); - long firstMoment = begin.getTimeInMillis(); + long firstMoment = begin.getTimeInMillis(); - begin.set(GregorianCalendar.HOUR, 11); - begin.set(GregorianCalendar.MINUTE, 59); - begin.set(GregorianCalendar.SECOND, 59); - begin.set(GregorianCalendar.MILLISECOND, 999); - begin.set(GregorianCalendar.AM_PM, GregorianCalendar.PM); + begin.set(GregorianCalendar.HOUR, 11); + begin.set(GregorianCalendar.MINUTE, 59); + begin.set(GregorianCalendar.SECOND, 59); + begin.set(GregorianCalendar.MILLISECOND, 999); + begin.set(GregorianCalendar.AM_PM, GregorianCalendar.PM); - long lastMoment = begin.getTimeInMillis(); + long lastMoment = begin.getTimeInMillis(); - assertEquals(firstMoment, Chrono.firstMomentOfDay(date.getTime())); - assertEquals(lastMoment, Chrono.lastMomentOfDay(date.getTime())); + assertEquals(firstMoment, Chrono.firstMomentOfDay(date.getTime())); + assertEquals(lastMoment, Chrono.lastMomentOfDay(date.getTime())); - float timeInMillis = (lastMoment - firstMoment) / 1000000f; - assertEquals(timeInMillis, Chrono.millisFromNanos(firstMoment, lastMoment), 0); + float timeInMillis = (lastMoment - firstMoment) / 1000000f; + assertEquals(timeInMillis, Chrono.millisFromNanos(firstMoment, lastMoment), 0); - } + } } diff --git a/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_DoubleOutputStreamTest.java b/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_DoubleOutputStreamTest.java index 4b8c9dce..3e6f5355 100644 --- a/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_DoubleOutputStreamTest.java +++ b/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_DoubleOutputStreamTest.java @@ -34,71 +34,71 @@ import org.mockito.Mock; public class JU_DoubleOutputStreamTest { - @Mock - private OutputStream stream1; + @Mock + private OutputStream stream1; - @Mock - private OutputStream stream2; + @Mock + private OutputStream stream2; - private DoubleOutputStream doubleOutputStream; + private DoubleOutputStream doubleOutputStream; - @Before - public void setup() { - stream1 = mock(OutputStream.class); - stream2 = mock(OutputStream.class); - } + @Before + public void setup() { + stream1 = mock(OutputStream.class); + stream2 = mock(OutputStream.class); + } - @Test - public void testWriteInt() throws IOException { - doubleOutputStream = new DoubleOutputStream(stream1, true, stream2, true); + @Test + public void testWriteInt() throws IOException { + doubleOutputStream = new DoubleOutputStream(stream1, true, stream2, true); - doubleOutputStream.write(123); + doubleOutputStream.write(123); - verify(stream1, only()).write(123); - verify(stream2, only()).write(123); - } + verify(stream1, only()).write(123); + verify(stream2, only()).write(123); + } - @Test - public void testWriteByteArray() throws IOException { - doubleOutputStream = new DoubleOutputStream(stream1, true, stream2, true); + @Test + public void testWriteByteArray() throws IOException { + doubleOutputStream = new DoubleOutputStream(stream1, true, stream2, true); - byte[] bytes = { 1, 2, 3, 4 }; + byte[] bytes = { 1, 2, 3, 4 }; - doubleOutputStream.write(bytes); + doubleOutputStream.write(bytes); - verify(stream1, only()).write(bytes); - verify(stream2, only()).write(bytes); + verify(stream1, only()).write(bytes); + verify(stream2, only()).write(bytes); - } + } - @Test - public void testWriteByteArrayWithOffset() throws IOException { - doubleOutputStream = new DoubleOutputStream(stream1, true, stream2, true); + @Test + public void testWriteByteArrayWithOffset() throws IOException { + doubleOutputStream = new DoubleOutputStream(stream1, true, stream2, true); - byte[] bytes = { 1, 2, 3, 4 }; + byte[] bytes = { 1, 2, 3, 4 }; - doubleOutputStream.write(bytes, 1, 3); - verify(stream1, only()).write(bytes, 1, 3); - verify(stream2, only()).write(bytes, 1, 3); - } + doubleOutputStream.write(bytes, 1, 3); + verify(stream1, only()).write(bytes, 1, 3); + verify(stream2, only()).write(bytes, 1, 3); + } - @Test - public void testFlush() throws IOException { - doubleOutputStream = new DoubleOutputStream(stream1, true, stream2, true); + @Test + public void testFlush() throws IOException { + doubleOutputStream = new DoubleOutputStream(stream1, true, stream2, true); - doubleOutputStream.flush(); + doubleOutputStream.flush(); - verify(stream1, only()).flush(); - verify(stream2, only()).flush(); - } + verify(stream1, only()).flush(); + verify(stream2, only()).flush(); + } - @Test - public void testClose() throws IOException { - doubleOutputStream = new DoubleOutputStream(stream1, true, stream2, false); + @Test + public void testClose() throws IOException { + doubleOutputStream = new DoubleOutputStream(stream1, true, stream2, false); - doubleOutputStream.close(); + doubleOutputStream.close(); - verify(stream1, only()).close(); - verify(stream2, never()).close(); - } + verify(stream1, only()).close(); + verify(stream2, never()).close(); + } } diff --git a/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_IndentPrintWriterTest.java b/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_IndentPrintWriterTest.java index b54026f1..a307b3f8 100644 --- a/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_IndentPrintWriterTest.java +++ b/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_IndentPrintWriterTest.java @@ -35,79 +35,79 @@ import org.mockito.Mock; public class JU_IndentPrintWriterTest { - @Mock - private OutputStream stream; + @Mock + private OutputStream stream; - @Mock - private Writer writer; + @Mock + private Writer writer; - @Before - public void setUp() throws Exception { - stream = mock(OutputStream.class); - writer = mock(Writer.class); - } + @Before + public void setUp() throws Exception { + stream = mock(OutputStream.class); + writer = mock(Writer.class); + } - @Test - public void testWriteInt() throws IOException { - IndentPrintWriter indentWriter = new IndentPrintWriter(writer); + @Test + public void testWriteInt() throws IOException { + IndentPrintWriter indentWriter = new IndentPrintWriter(writer); - indentWriter.write(123); + indentWriter.write(123); - verify(writer).write(123); + verify(writer).write(123); - assertEquals(indentWriter.getIndent(), 0); - } + assertEquals(indentWriter.getIndent(), 0); + } - @Test - public void testWriteIntWithNewLineCharacter() throws IOException { - IndentPrintWriter indentWriter = new IndentPrintWriter(writer); + @Test + public void testWriteIntWithNewLineCharacter() throws IOException { + IndentPrintWriter indentWriter = new IndentPrintWriter(writer); - indentWriter.setIndent(12); + indentWriter.setIndent(12); - indentWriter.println(); + indentWriter.println(); - indentWriter.write("123", 1, 2); + indentWriter.write("123", 1, 2); - verify(writer).write('\n'); - verify(writer).write('2'); - verify(writer).write('3'); - assertEquals(indentWriter.getIndent(), 12); - } + verify(writer).write('\n'); + verify(writer).write('2'); + verify(writer).write('3'); + assertEquals(indentWriter.getIndent(), 12); + } - @Test - public void testWriteString() throws IOException { - IndentPrintWriter indentWriter = new IndentPrintWriter(writer); + @Test + public void testWriteString() throws IOException { + IndentPrintWriter indentWriter = new IndentPrintWriter(writer); - indentWriter.inc(); + indentWriter.inc(); - indentWriter.write("123"); + indentWriter.write("123"); - verify(writer).write('1'); - verify(writer).write('2'); - verify(writer).write('3'); - assertEquals(indentWriter.getIndent(), 1); - } + verify(writer).write('1'); + verify(writer).write('2'); + verify(writer).write('3'); + assertEquals(indentWriter.getIndent(), 1); + } - @Test - public void testSetIndent() throws IOException { - IndentPrintWriter indentWriter = new IndentPrintWriter(stream); + @Test + public void testSetIndent() throws IOException { + IndentPrintWriter indentWriter = new IndentPrintWriter(stream); - indentWriter.setIndent(12); - indentWriter.dec(); + indentWriter.setIndent(12); + indentWriter.dec(); - assertEquals(indentWriter.getIndent(), 11); - } + assertEquals(indentWriter.getIndent(), 11); + } - @Test - public void testToCol() throws IOException { - IndentPrintWriter indentWriter = new IndentPrintWriter(writer); + @Test + public void testToCol() throws IOException { + IndentPrintWriter indentWriter = new IndentPrintWriter(writer); - indentWriter.toCol(5); - char[] chars = { 'a', 'b', 'c' }; - indentWriter.write(chars, 1, 2); + indentWriter.toCol(5); + char[] chars = { 'a', 'b', 'c' }; + indentWriter.write(chars, 1, 2); - verify(writer, times(5)).write(' '); - verify(writer).write('c'); - verify(writer).write('b'); - } + verify(writer, times(5)).write(' '); + verify(writer).write('c'); + verify(writer).write('b'); + } } \ No newline at end of file diff --git a/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_SplitTest.java b/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_SplitTest.java index ce2245bf..f5b4aaa4 100644 --- a/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_SplitTest.java +++ b/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_SplitTest.java @@ -27,30 +27,30 @@ import org.junit.Test; public class JU_SplitTest { - @Test - public void testSplit() { - String[] splits = Split.split('c', "character c to break string"); - - assertEquals(splits.length, 4); - assertEquals(splits[0], ""); - assertEquals(splits[1], "hara"); - assertEquals(splits[2], "ter "); - assertEquals(splits[3], " to break string"); - } - - @Test - public void testSplitTrim() { - String[] splits = Split.splitTrim('c', "character c to break string", 5); - - assertEquals(splits.length, 5); - assertEquals(splits[0], ""); - assertEquals(splits[1], "hara"); - assertEquals(splits[2], "ter"); - assertEquals(splits[3], "to break string"); - assertEquals(splits[4], null); - - splits = Split.splitTrim('c', " character ", 1); - assertEquals(splits.length, 1); - assertEquals(splits[0], "character"); - } + @Test + public void testSplit() { + String[] splits = Split.split('c', "character c to break string"); + + assertEquals(splits.length, 4); + assertEquals(splits[0], ""); + assertEquals(splits[1], "hara"); + assertEquals(splits[2], "ter "); + assertEquals(splits[3], " to break string"); + } + + @Test + public void testSplitTrim() { + String[] splits = Split.splitTrim('c', "character c to break string", 5); + + assertEquals(splits.length, 5); + assertEquals(splits[0], ""); + assertEquals(splits[1], "hara"); + assertEquals(splits[2], "ter"); + assertEquals(splits[3], "to break string"); + assertEquals(splits[4], null); + + splits = Split.splitTrim('c', " character ", 1); + assertEquals(splits.length, 1); + assertEquals(splits[0], "character"); + } } diff --git a/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_StringBuilderOutputStreamTest.java b/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_StringBuilderOutputStreamTest.java index 377a2891..b55e2545 100644 --- a/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_StringBuilderOutputStreamTest.java +++ b/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_StringBuilderOutputStreamTest.java @@ -31,105 +31,105 @@ import org.junit.Test; public class JU_StringBuilderOutputStreamTest { - StringBuilderOutputStream streamBuilder; - - StringBuilder builder = new StringBuilder(); - - @Before - public void setUp() throws Exception { - streamBuilder = new StringBuilderOutputStream(builder); - } - - @Test - public void testWriteIntAndReset() { - streamBuilder.write(123); - - assertEquals("123", streamBuilder.toString()); - streamBuilder.reset(); - assertEquals("", streamBuilder.toString()); - } - - @Test - public void testWriteByteArrayWithoutException() throws IOException { - byte[] bytes = { 1, 2, 3, 4 }; - streamBuilder.write(bytes); - assertEquals(4, streamBuilder.getBuffer().length()); - - streamBuilder.write(bytes, 1, 2); - assertEquals(6, streamBuilder.getBuffer().length()); - - streamBuilder.write(bytes, 1, 0); - assertEquals(6, streamBuilder.getBuffer().length()); - - streamBuilder.append(bytes[0]); - assertEquals(7, streamBuilder.getBuffer().length()); - } - - @Test - public void testWriteByteArrayWithIndexOutOfBoundException() { - byte[] bytes = { 1, 2, 3, 4 }; - - try { - streamBuilder.write(bytes, -1, 2); - fail("This is supposed to throw IndexOutOfBounds Excetpion"); - } catch (IndexOutOfBoundsException e) { - } catch (Exception e) { - fail("This should throw only IndexOutOfBounds Exception"); - } - assertEquals(0, streamBuilder.getBuffer().length()); - - } - - @Test - public void testDefaultConstructor() throws IOException { - StringBuilderOutputStream stream = new StringBuilderOutputStream(); - - assertNotNull(stream.getBuffer()); - stream.close(); - } - - @Test - public void testConstructorWithPositiveDefaultCapacity() throws IOException { - StringBuilderOutputStream stream = new StringBuilderOutputStream(10); - - assertNotNull(stream.getBuffer()); - assertEquals(10, stream.getBuffer().capacity()); - stream.close(); - } - - @Test - public void testConstructorWithNegativeCapacityException() { - try { - StringBuilderOutputStream stream = new StringBuilderOutputStream(-1); - fail("This should throw IllegalArgumentException"); - } catch (IllegalArgumentException e) { - } catch (Exception e) { - fail("This should throw only IllegalArgumentException"); - } - } - - @Test - public void testWriteString() { - streamBuilder.write("1234"); - - assertEquals("1234", streamBuilder.toString()); - - streamBuilder.write("1234", 1, 2); - assertEquals("12342", streamBuilder.toString()); - } - - @Test - public void testAppendCharSequence() { - streamBuilder.append("1234"); - assertEquals("1234", streamBuilder.toString()); - - streamBuilder.append(null); - assertEquals("1234null", streamBuilder.toString()); - - streamBuilder.append("1234", 1, 2); - assertEquals("1234null2", streamBuilder.toString()); - - streamBuilder.append(null, 1, 2); - assertEquals("1234null2u", streamBuilder.toString()); - } + StringBuilderOutputStream streamBuilder; + + StringBuilder builder = new StringBuilder(); + + @Before + public void setUp() throws Exception { + streamBuilder = new StringBuilderOutputStream(builder); + } + + @Test + public void testWriteIntAndReset() { + streamBuilder.write(123); + + assertEquals("123", streamBuilder.toString()); + streamBuilder.reset(); + assertEquals("", streamBuilder.toString()); + } + + @Test + public void testWriteByteArrayWithoutException() throws IOException { + byte[] bytes = { 1, 2, 3, 4 }; + streamBuilder.write(bytes); + assertEquals(4, streamBuilder.getBuffer().length()); + + streamBuilder.write(bytes, 1, 2); + assertEquals(6, streamBuilder.getBuffer().length()); + + streamBuilder.write(bytes, 1, 0); + assertEquals(6, streamBuilder.getBuffer().length()); + + streamBuilder.append(bytes[0]); + assertEquals(7, streamBuilder.getBuffer().length()); + } + + @Test + public void testWriteByteArrayWithIndexOutOfBoundException() { + byte[] bytes = { 1, 2, 3, 4 }; + + try { + streamBuilder.write(bytes, -1, 2); + fail("This is supposed to throw IndexOutOfBounds Excetpion"); + } catch (IndexOutOfBoundsException e) { + } catch (Exception e) { + fail("This should throw only IndexOutOfBounds Exception"); + } + assertEquals(0, streamBuilder.getBuffer().length()); + + } + + @Test + public void testDefaultConstructor() throws IOException { + StringBuilderOutputStream stream = new StringBuilderOutputStream(); + + assertNotNull(stream.getBuffer()); + stream.close(); + } + + @Test + public void testConstructorWithPositiveDefaultCapacity() throws IOException { + StringBuilderOutputStream stream = new StringBuilderOutputStream(10); + + assertNotNull(stream.getBuffer()); + assertEquals(10, stream.getBuffer().capacity()); + stream.close(); + } + + @Test + public void testConstructorWithNegativeCapacityException() { + try { + StringBuilderOutputStream stream = new StringBuilderOutputStream(-1); + fail("This should throw IllegalArgumentException"); + } catch (IllegalArgumentException e) { + } catch (Exception e) { + fail("This should throw only IllegalArgumentException"); + } + } + + @Test + public void testWriteString() { + streamBuilder.write("1234"); + + assertEquals("1234", streamBuilder.toString()); + + streamBuilder.write("1234", 1, 2); + assertEquals("12342", streamBuilder.toString()); + } + + @Test + public void testAppendCharSequence() { + streamBuilder.append("1234"); + assertEquals("1234", streamBuilder.toString()); + + streamBuilder.append(null); + assertEquals("1234null", streamBuilder.toString()); + + streamBuilder.append("1234", 1, 2); + assertEquals("1234null2", streamBuilder.toString()); + + streamBuilder.append(null, 1, 2); + assertEquals("1234null2u", streamBuilder.toString()); + } } diff --git a/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_StringBuilderWriterTest.java b/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_StringBuilderWriterTest.java index 6a06e866..9247d0c9 100644 --- a/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_StringBuilderWriterTest.java +++ b/misc/env/src/test/java/org/onap/aaf/misc/env/util/JU_StringBuilderWriterTest.java @@ -31,105 +31,105 @@ import org.junit.Test; public class JU_StringBuilderWriterTest { - StringBuilderWriter streamWriter; - - StringBuilder builder = new StringBuilder(); - - @Before - public void setUp() throws Exception { - streamWriter = new StringBuilderWriter(builder); - } - - @Test - public void testWriteIntAndReset() { - streamWriter.write(1); - - assertEquals(1, streamWriter.getBuffer().length()); - streamWriter.reset(); - assertEquals("", streamWriter.toString()); - } - - @Test - public void testWriteByteArrayWithoutException() throws IOException { - char[] bytes = { 1, 2, 3, 4 }; - streamWriter.write(bytes); - assertEquals(4, streamWriter.getBuffer().length()); - - streamWriter.write(bytes, 1, 2); - assertEquals(6, streamWriter.getBuffer().length()); - - streamWriter.write(bytes, 1, 0); - assertEquals(6, streamWriter.getBuffer().length()); - - streamWriter.append(bytes[0]); - assertEquals(7, streamWriter.getBuffer().length()); - } - - @Test - public void testWriteByteArrayWithIndexOutOfBoundException() { - char[] bytes = { 1, 2, 3, 4 }; - - try { - streamWriter.write(bytes, -1, 2); - fail("This is supposed to throw IndexOutOfBounds Excetpion"); - } catch (IndexOutOfBoundsException e) { - } catch (Exception e) { - fail("This should throw only IndexOutOfBounds Exception"); - } - assertEquals(0, streamWriter.getBuffer().length()); - - } - - @Test - public void testDefaultConstructor() throws IOException { - StringBuilderWriter stream = new StringBuilderWriter(); - - assertNotNull(stream.getBuffer()); - stream.close(); - } - - @Test - public void testConstructorWithPositiveDefaultCapacity() throws IOException { - StringBuilderWriter stream = new StringBuilderWriter(10); - - assertNotNull(stream.getBuffer()); - assertEquals(10, stream.getBuffer().capacity()); - stream.close(); - } - - @Test - public void testConstructorWithNegativeCapacityException() { - try { - StringBuilderWriter stream = new StringBuilderWriter(-1); - fail("This should throw IllegalArgumentException"); - } catch (IllegalArgumentException e) { - } catch (Exception e) { - fail("This should throw only IllegalArgumentException"); - } - } - - @Test - public void testWriteString() { - streamWriter.write("1234"); - - assertEquals("1234", streamWriter.toString()); - - streamWriter.write("1234", 1, 2); - assertEquals("123423", streamWriter.toString()); - } - - @Test - public void testAppendCharSequence() { - streamWriter.append("1234"); - assertEquals("1234", streamWriter.toString()); - - streamWriter.append(null); - assertEquals("1234null", streamWriter.toString()); - - streamWriter.append("1234", 1, 2); - assertEquals("1234null2", streamWriter.toString()); - - streamWriter.append(null, 1, 2); - assertEquals("1234null2u", streamWriter.toString()); - } + StringBuilderWriter streamWriter; + + StringBuilder builder = new StringBuilder(); + + @Before + public void setUp() throws Exception { + streamWriter = new StringBuilderWriter(builder); + } + + @Test + public void testWriteIntAndReset() { + streamWriter.write(1); + + assertEquals(1, streamWriter.getBuffer().length()); + streamWriter.reset(); + assertEquals("", streamWriter.toString()); + } + + @Test + public void testWriteByteArrayWithoutException() throws IOException { + char[] bytes = { 1, 2, 3, 4 }; + streamWriter.write(bytes); + assertEquals(4, streamWriter.getBuffer().length()); + + streamWriter.write(bytes, 1, 2); + assertEquals(6, streamWriter.getBuffer().length()); + + streamWriter.write(bytes, 1, 0); + assertEquals(6, streamWriter.getBuffer().length()); + + streamWriter.append(bytes[0]); + assertEquals(7, streamWriter.getBuffer().length()); + } + + @Test + public void testWriteByteArrayWithIndexOutOfBoundException() { + char[] bytes = { 1, 2, 3, 4 }; + + try { + streamWriter.write(bytes, -1, 2); + fail("This is supposed to throw IndexOutOfBounds Excetpion"); + } catch (IndexOutOfBoundsException e) { + } catch (Exception e) { + fail("This should throw only IndexOutOfBounds Exception"); + } + assertEquals(0, streamWriter.getBuffer().length()); + + } + + @Test + public void testDefaultConstructor() throws IOException { + StringBuilderWriter stream = new StringBuilderWriter(); + + assertNotNull(stream.getBuffer()); + stream.close(); + } + + @Test + public void testConstructorWithPositiveDefaultCapacity() throws IOException { + StringBuilderWriter stream = new StringBuilderWriter(10); + + assertNotNull(stream.getBuffer()); + assertEquals(10, stream.getBuffer().capacity()); + stream.close(); + } + + @Test + public void testConstructorWithNegativeCapacityException() { + try { + StringBuilderWriter stream = new StringBuilderWriter(-1); + fail("This should throw IllegalArgumentException"); + } catch (IllegalArgumentException e) { + } catch (Exception e) { + fail("This should throw only IllegalArgumentException"); + } + } + + @Test + public void testWriteString() { + streamWriter.write("1234"); + + assertEquals("1234", streamWriter.toString()); + + streamWriter.write("1234", 1, 2); + assertEquals("123423", streamWriter.toString()); + } + + @Test + public void testAppendCharSequence() { + streamWriter.append("1234"); + assertEquals("1234", streamWriter.toString()); + + streamWriter.append(null); + assertEquals("1234null", streamWriter.toString()); + + streamWriter.append("1234", 1, 2); + assertEquals("1234null2", streamWriter.toString()); + + streamWriter.append(null, 1, 2); + assertEquals("1234null2u", streamWriter.toString()); + } } diff --git a/misc/env/src/test/java/org/onap/aaf/misc/env/util/test/JU_IPValidator.java b/misc/env/src/test/java/org/onap/aaf/misc/env/util/test/JU_IPValidator.java index 3976718f..0ce3a84e 100644 --- a/misc/env/src/test/java/org/onap/aaf/misc/env/util/test/JU_IPValidator.java +++ b/misc/env/src/test/java/org/onap/aaf/misc/env/util/test/JU_IPValidator.java @@ -29,39 +29,39 @@ import org.onap.aaf.misc.env.util.IPValidator; public class JU_IPValidator { - @Test - public void test() { - assertTrue(IPValidator.ipv4("10.10.10.10")); - assertTrue(IPValidator.ipv4("127.0.0.0")); - assertFalse(IPValidator.ipv4("10")); - assertFalse(IPValidator.ipv4("10.10.10")); - assertFalse(IPValidator.ipv4("10.10.10.")); - assertFalse(IPValidator.ipv4("10.10.10.10.")); - assertFalse(IPValidator.ipv4("10.10.10.10.10")); - assertFalse(IPValidator.ipv4("something10.10.10.10")); - assertTrue(IPValidator.ipv4("0.10.10.10")); - assertTrue(IPValidator.ipv4("0.0.0.0")); - assertTrue(IPValidator.ipv4("0.10.10.10")); - assertFalse(IPValidator.ipv4("011.255.255.255")); - assertFalse(IPValidator.ipv4("255.01.255.255")); - assertFalse(IPValidator.ipv4("255.255.255.256")); - assertFalse(IPValidator.ipv4("255.299.255.255")); + @Test + public void test() { + assertTrue(IPValidator.ipv4("10.10.10.10")); + assertTrue(IPValidator.ipv4("127.0.0.0")); + assertFalse(IPValidator.ipv4("10")); + assertFalse(IPValidator.ipv4("10.10.10")); + assertFalse(IPValidator.ipv4("10.10.10.")); + assertFalse(IPValidator.ipv4("10.10.10.10.")); + assertFalse(IPValidator.ipv4("10.10.10.10.10")); + assertFalse(IPValidator.ipv4("something10.10.10.10")); + assertTrue(IPValidator.ipv4("0.10.10.10")); + assertTrue(IPValidator.ipv4("0.0.0.0")); + assertTrue(IPValidator.ipv4("0.10.10.10")); + assertFalse(IPValidator.ipv4("011.255.255.255")); + assertFalse(IPValidator.ipv4("255.01.255.255")); + assertFalse(IPValidator.ipv4("255.255.255.256")); + assertFalse(IPValidator.ipv4("255.299.255.255")); - assertTrue(IPValidator.ipv6("0000:0000:0000:0000:0000:0000:0000:0000")); - assertTrue(IPValidator.ipv6("0:0:0:0:0:0:0:0")); - assertTrue(IPValidator.ipv6("2001:08DB:0000:0000:0023:F422:FE3B:AC10")); - assertTrue(IPValidator.ipv6("2001:8DB:0:0:23:F422:FE3B:AC10")); - assertTrue(IPValidator.ipv6("2001:8DB::23:F422:FE3B:AC10")); - assertTrue(IPValidator.ipv6("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff")); - assertTrue(IPValidator.ipv6("FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF")); - assertFalse(IPValidator.ipv6("2001:8DB::23:G422:FE3B:AC10")); - assertFalse(IPValidator.ipv6("2001:8DB::23:G422:FE3B:AC10")); - // more than one Double Colons - assertFalse(IPValidator.ipv6("0000:0000:0000::0000::0000")); - assertFalse(IPValidator.ipv6("2001:8DB::23:G422:FE3B:AC10:FFFF")); + assertTrue(IPValidator.ipv6("0000:0000:0000:0000:0000:0000:0000:0000")); + assertTrue(IPValidator.ipv6("0:0:0:0:0:0:0:0")); + assertTrue(IPValidator.ipv6("2001:08DB:0000:0000:0023:F422:FE3B:AC10")); + assertTrue(IPValidator.ipv6("2001:8DB:0:0:23:F422:FE3B:AC10")); + assertTrue(IPValidator.ipv6("2001:8DB::23:F422:FE3B:AC10")); + assertTrue(IPValidator.ipv6("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff")); + assertTrue(IPValidator.ipv6("FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF")); + assertFalse(IPValidator.ipv6("2001:8DB::23:G422:FE3B:AC10")); + assertFalse(IPValidator.ipv6("2001:8DB::23:G422:FE3B:AC10")); + // more than one Double Colons + assertFalse(IPValidator.ipv6("0000:0000:0000::0000::0000")); + assertFalse(IPValidator.ipv6("2001:8DB::23:G422:FE3B:AC10:FFFF")); - assertTrue(IPValidator.ip("2001:08DB:0000:0000:0023:F422:FE3B:AC10")); - assertTrue(IPValidator.ip("192.168.7.2")); - } + assertTrue(IPValidator.ip("2001:08DB:0000:0000:0023:F422:FE3B:AC10")); + assertTrue(IPValidator.ip("192.168.7.2")); + } } diff --git a/misc/env/src/test/java/org/onap/aaf/misc/env/util/test/JU_PoolTest.java b/misc/env/src/test/java/org/onap/aaf/misc/env/util/test/JU_PoolTest.java index 11f03d52..32e4080b 100644 --- a/misc/env/src/test/java/org/onap/aaf/misc/env/util/test/JU_PoolTest.java +++ b/misc/env/src/test/java/org/onap/aaf/misc/env/util/test/JU_PoolTest.java @@ -30,57 +30,57 @@ import org.onap.aaf.misc.env.util.Pool; public class JU_PoolTest { - @Before - public void setUp() throws Exception { - } + @Before + public void setUp() throws Exception { + } - @Test - public void test() { - Pool pool = new Pool(new Pool.Creator() { + @Test + public void test() { + Pool pool = new Pool(new Pool.Creator() { - Integer content = 0; + Integer content = 0; - @Override - public Integer create() throws APIException { - return content++; - } + @Override + public Integer create() throws APIException { + return content++; + } - @Override - public void destroy(Integer t) { + @Override + public void destroy(Integer t) { - } + } - @Override - public boolean isValid(Integer t) { - return t == content; - } + @Override + public boolean isValid(Integer t) { + return t == content; + } - @Override - public void reuse(Integer t) { - content = t; - } - }); - Pool.Pooled pooled = new Pool.Pooled(new Integer(123), pool, LogTarget.SYSOUT); - Pool.Pooled pooled1 = new Pool.Pooled(new Integer(123), null, LogTarget.SYSOUT); - try { - // pool.drain(); - assertEquals("Should return intial value", 0, pool.get().content); - // pooled.toss(); - pool.prime(LogTarget.SYSOUT, 23); - assertEquals("Should Return 23 as added at last prime", 23, pool.get(LogTarget.SYSOUT).content); - pool.prime(LogTarget.SYSERR, 13); - assertEquals("Should add another 13 from SysErr and remove 1", 35, pool.get(LogTarget.SYSERR).content); - assertEquals("Create a new creator with create method", 1, pool.get().content); - assertEquals("Create a new creator with create method", 2, pool.get().content); - assertEquals("Should remove last from pool", 34, pool.get(LogTarget.SYSOUT).content); + @Override + public void reuse(Integer t) { + content = t; + } + }); + Pool.Pooled pooled = new Pool.Pooled(new Integer(123), pool, LogTarget.SYSOUT); + Pool.Pooled pooled1 = new Pool.Pooled(new Integer(123), null, LogTarget.SYSOUT); + try { + // pool.drain(); + assertEquals("Should return intial value", 0, pool.get().content); + // pooled.toss(); + pool.prime(LogTarget.SYSOUT, 23); + assertEquals("Should Return 23 as added at last prime", 23, pool.get(LogTarget.SYSOUT).content); + pool.prime(LogTarget.SYSERR, 13); + assertEquals("Should add another 13 from SysErr and remove 1", 35, pool.get(LogTarget.SYSERR).content); + assertEquals("Create a new creator with create method", 1, pool.get().content); + assertEquals("Create a new creator with create method", 2, pool.get().content); + assertEquals("Should remove last from pool", 34, pool.get(LogTarget.SYSOUT).content); - pool.drain(); - assertEquals("Should remove last from pool", 17, pool.get(LogTarget.SYSOUT).content); - pool.setMaxRange(10); - assertEquals(10, pool.getMaxRange()); - pooled.toss(); - pooled1.toss(); - } catch (APIException e) { - } - } + pool.drain(); + assertEquals("Should remove last from pool", 17, pool.get(LogTarget.SYSOUT).content); + pool.setMaxRange(10); + assertEquals(10, pool.getMaxRange()); + pooled.toss(); + pooled1.toss(); + } catch (APIException e) { + } + } } diff --git a/misc/log4j/src/main/java/org/onap/aaf/misc/env/log4j/LogFileNamer.java b/misc/log4j/src/main/java/org/onap/aaf/misc/env/log4j/LogFileNamer.java index c6537deb..e118baaa 100644 --- a/misc/log4j/src/main/java/org/onap/aaf/misc/env/log4j/LogFileNamer.java +++ b/misc/log4j/src/main/java/org/onap/aaf/misc/env/log4j/LogFileNamer.java @@ -27,61 +27,61 @@ import java.text.SimpleDateFormat; import java.util.Date; public class LogFileNamer { - private final String root; - private final String ending; - private final String dir; + private final String root; + private final String ending; + private final String dir; - public LogFileNamer(final String dir, final String root) { - this.dir = dir; - if (root == null || "".equals(root) || root.endsWith("/")) { - this.root = root; - } else { - this.root = root + "-"; - } - ending = new SimpleDateFormat("YYYYMMdd").format(new Date()); - } + public LogFileNamer(final String dir, final String root) { + this.dir = dir; + if (root == null || "".equals(root) || root.endsWith("/")) { + this.root = root; + } else { + this.root = root + "-"; + } + ending = new SimpleDateFormat("YYYYMMdd").format(new Date()); + } - public LogFileNamer noPID() { - return this; - } + public LogFileNamer noPID() { + return this; + } - private static final String FILE_FORMAT_STR = "%s/%s%s%s_%d.log"; + private static final String FILE_FORMAT_STR = "%s/%s%s%s_%d.log"; - /** - * Accepts a String. If Separated by "|" then first part is the Appender name, - * and the second is used in the FileNaming (This is to allow for shortened - * Logger names, and more verbose file names) ONAP: jna code has license issues. - * Just do Date + Unique Number - * - * @param appender - * - * returns the String Appender - * @throws IOException - */ - public String setAppender(String appender) throws IOException { - int i = 0; - File f; - while ((f = new File(String.format(FILE_FORMAT_STR, dir, root, appender, ending, i))).exists()) { - ++i; - } - - f.createNewFile(); - System.setProperty("LOG4J_FILENAME_" + appender, f.getCanonicalPath()); - return appender; - } + /** + * Accepts a String. If Separated by "|" then first part is the Appender name, + * and the second is used in the FileNaming (This is to allow for shortened + * Logger names, and more verbose file names) ONAP: jna code has license issues. + * Just do Date + Unique Number + * + * @param appender + * + * returns the String Appender + * @throws IOException + */ + public String setAppender(String appender) throws IOException { + int i = 0; + File f; + while ((f = new File(String.format(FILE_FORMAT_STR, dir, root, appender, ending, i))).exists()) { + ++i; + } + + f.createNewFile(); + System.setProperty("LOG4J_FILENAME_" + appender, f.getCanonicalPath()); + return appender; + } - public void configure(final String path, final String fname, final String log_level) throws IOException { - final String fullPath = path + '/' + fname; - if (new File(fullPath).exists()) { - org.apache.log4j.PropertyConfigurator.configureAndWatch(fullPath, 60 * 1000L); - } else { - URL rsrc = ClassLoader.getSystemResource(fname); - if (rsrc == null) { - String msg = "Neither File: " + path + '/' + fname + " nor resource on Classpath " + fname + " exist"; - throw new IOException(msg); - } - org.apache.log4j.PropertyConfigurator.configure(rsrc); - } + public void configure(final String path, final String fname, final String log_level) throws IOException { + final String fullPath = path + '/' + fname; + if (new File(fullPath).exists()) { + org.apache.log4j.PropertyConfigurator.configureAndWatch(fullPath, 60 * 1000L); + } else { + URL rsrc = ClassLoader.getSystemResource(fname); + if (rsrc == null) { + String msg = "Neither File: " + path + '/' + fname + " nor resource on Classpath " + fname + " exist"; + throw new IOException(msg); + } + org.apache.log4j.PropertyConfigurator.configure(rsrc); + } - } + } } diff --git a/misc/log4j/src/test/java/org/onap/aaf/misc/env/log4j/JU_LogFileNamerTest.java b/misc/log4j/src/test/java/org/onap/aaf/misc/env/log4j/JU_LogFileNamerTest.java index 8c47a409..720ed27f 100644 --- a/misc/log4j/src/test/java/org/onap/aaf/misc/env/log4j/JU_LogFileNamerTest.java +++ b/misc/log4j/src/test/java/org/onap/aaf/misc/env/log4j/JU_LogFileNamerTest.java @@ -34,60 +34,60 @@ import org.junit.Before; import org.junit.Test; public class JU_LogFileNamerTest { - private File dir = new File("."); + private File dir = new File("."); - private String ending = new SimpleDateFormat("YYYYMMdd").format(new Date()); + private String ending = new SimpleDateFormat("YYYYMMdd").format(new Date()); - @Before - public void setUp() throws Exception { - } + @Before + public void setUp() throws Exception { + } - @Test - public void test() throws IOException { - LogFileNamer logFileNamer = new LogFileNamer(dir.getCanonicalPath(), "log"); - assertEquals(logFileNamer, logFileNamer.noPID()); + @Test + public void test() throws IOException { + LogFileNamer logFileNamer = new LogFileNamer(dir.getCanonicalPath(), "log"); + assertEquals(logFileNamer, logFileNamer.noPID()); - logFileNamer.setAppender("Append"); - assertEquals(System.getProperty("LOG4J_FILENAME_Append"), - dir.getCanonicalFile() + File.separator + "log-Append" + ending + "_0.log"); + logFileNamer.setAppender("Append"); + assertEquals(System.getProperty("LOG4J_FILENAME_Append"), + dir.getCanonicalFile() + File.separator + "log-Append" + ending + "_0.log"); - logFileNamer.setAppender("Append"); - assertEquals(System.getProperty("LOG4J_FILENAME_Append"), - dir.getCanonicalFile() + File.separator + "log-Append" + ending + "_1.log"); - } + logFileNamer.setAppender("Append"); + assertEquals(System.getProperty("LOG4J_FILENAME_Append"), + dir.getCanonicalFile() + File.separator + "log-Append" + ending + "_1.log"); + } - @Test - public void testBlankRoot() throws IOException { - LogFileNamer logFileNamer = new LogFileNamer(dir.getCanonicalPath(), ""); - assertEquals(logFileNamer, logFileNamer.noPID()); + @Test + public void testBlankRoot() throws IOException { + LogFileNamer logFileNamer = new LogFileNamer(dir.getCanonicalPath(), ""); + assertEquals(logFileNamer, logFileNamer.noPID()); - logFileNamer.setAppender("Append"); - assertEquals(System.getProperty("LOG4J_FILENAME_Append"), - dir.getCanonicalPath() + File.separator + "Append" + ending + "_0.log"); + logFileNamer.setAppender("Append"); + assertEquals(System.getProperty("LOG4J_FILENAME_Append"), + dir.getCanonicalPath() + File.separator + "Append" + ending + "_0.log"); - logFileNamer.setAppender("Append"); - assertEquals(System.getProperty("LOG4J_FILENAME_Append"), - dir.getCanonicalPath() + File.separator + "Append" + ending + "_1.log"); - } + logFileNamer.setAppender("Append"); + assertEquals(System.getProperty("LOG4J_FILENAME_Append"), + dir.getCanonicalPath() + File.separator + "Append" + ending + "_1.log"); + } - @After - public void tearDown() throws IOException { - File file = new File("./log-Append" + ending + "_0.log"); - if (file.exists()) { - Files.delete(Paths.get(file.getAbsolutePath())); - } - file = new File("./log-Append" + ending + "_1.log"); - if (file.exists()) { - Files.delete(Paths.get(file.getAbsolutePath())); - } - file = new File("./Append" + ending + "_0.log"); - if (file.exists()) { - Files.delete(Paths.get(file.getAbsolutePath())); - } - file = new File("./Append" + ending + "_1.log"); - if (file.exists()) { - Files.delete(Paths.get(file.getAbsolutePath())); - } - } + @After + public void tearDown() throws IOException { + File file = new File("./log-Append" + ending + "_0.log"); + if (file.exists()) { + Files.delete(Paths.get(file.getAbsolutePath())); + } + file = new File("./log-Append" + ending + "_1.log"); + if (file.exists()) { + Files.delete(Paths.get(file.getAbsolutePath())); + } + file = new File("./Append" + ending + "_0.log"); + if (file.exists()) { + Files.delete(Paths.get(file.getAbsolutePath())); + } + file = new File("./Append" + ending + "_1.log"); + if (file.exists()) { + Files.delete(Paths.get(file.getAbsolutePath())); + } + } } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/InJson.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/InJson.java index 725389c9..353261a0 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/InJson.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/InJson.java @@ -29,126 +29,126 @@ import org.onap.aaf.misc.env.TimeTaken; import org.onap.aaf.misc.rosetta.InJson.State; public class InJson implements Parse { - public Parsed parse(Reader r, Parsed parsed) throws ParseException { - // First things first, if there's a "leftover" event, process that immediately - State state = (State)parsed.state; - if(state.unsent > 0) { - parsed.event = state.unsent; - state.unsent = 0; - return parsed; - } - - int ch; - char c; - StringBuilder sb = parsed.sb; - boolean inQuotes = false, escaped = false; - boolean go = true; - try { - // Gather data from Reader, looking for special characters when not in Quotes - while(go && (ch=r.read())>=0) { - if(state.braces>=0 || ch==Parse.START_OBJ) { // ignore garbage/whitespace before content - c=(char)ch; - // Character is a quote. - if(c=='"') { - if(inQuotes) { - if(escaped) { // if escaped Quote, add to data. - sb.append(c); - escaped = false; - } else { - inQuotes = false; - } - } else { - parsed.isString=true; - inQuotes = true; - } - } else { // Not a Quote - if(inQuotes) { - if(c=='\\') { - if(escaped) { - sb.append("\\\\"); - escaped = false; - } else { - escaped = true; - } - } else { - sb.append(c); - } - } else { - switch(c) { - case ':': - parsed.dataIsName(); - parsed.isString = false; - break; - case Parse.START_OBJ: - if(state.braces++ == 0) { - parsed.event = START_DOC; - state.unsent = c; - } else { - parsed.event = c; - } - go = false; - break; - case Parse.END_OBJ: - if(--state.braces == 0) { - parsed.event = c; - state.unsent = END_DOC; - } else { - parsed.event = c; - } - go = false; - break; - // These three end the data gathering, and send it along with the event that is ending the data gathering - case Parse.NEXT: - if(parsed.name.startsWith("__")) { - parsed.event = Parse.ATTRIB; - parsed.name = parsed.name.substring(2); - } else { - parsed.event = c; - } - go = false; - break; - case Parse.START_ARRAY: - case Parse.END_ARRAY: - parsed.event = c; - go = false; - break; - - // The Escape Sequence, for Quote marks within Quotes - case '\\': - // Ignore these, unless within quotes, at which point data-gather - case ' ': - case '\b': - case '\f': - case '\n': - case '\r': - case '\t': - break; - // Normal data... gather it - default: - sb.append(c); - } - } - } - } - } - return parsed; - } catch (IOException e) { - throw new ParseException(e); - } - } + public Parsed parse(Reader r, Parsed parsed) throws ParseException { + // First things first, if there's a "leftover" event, process that immediately + State state = (State)parsed.state; + if(state.unsent > 0) { + parsed.event = state.unsent; + state.unsent = 0; + return parsed; + } + + int ch; + char c; + StringBuilder sb = parsed.sb; + boolean inQuotes = false, escaped = false; + boolean go = true; + try { + // Gather data from Reader, looking for special characters when not in Quotes + while(go && (ch=r.read())>=0) { + if(state.braces>=0 || ch==Parse.START_OBJ) { // ignore garbage/whitespace before content + c=(char)ch; + // Character is a quote. + if(c=='"') { + if(inQuotes) { + if(escaped) { // if escaped Quote, add to data. + sb.append(c); + escaped = false; + } else { + inQuotes = false; + } + } else { + parsed.isString=true; + inQuotes = true; + } + } else { // Not a Quote + if(inQuotes) { + if(c=='\\') { + if(escaped) { + sb.append("\\\\"); + escaped = false; + } else { + escaped = true; + } + } else { + sb.append(c); + } + } else { + switch(c) { + case ':': + parsed.dataIsName(); + parsed.isString = false; + break; + case Parse.START_OBJ: + if(state.braces++ == 0) { + parsed.event = START_DOC; + state.unsent = c; + } else { + parsed.event = c; + } + go = false; + break; + case Parse.END_OBJ: + if(--state.braces == 0) { + parsed.event = c; + state.unsent = END_DOC; + } else { + parsed.event = c; + } + go = false; + break; + // These three end the data gathering, and send it along with the event that is ending the data gathering + case Parse.NEXT: + if(parsed.name.startsWith("__")) { + parsed.event = Parse.ATTRIB; + parsed.name = parsed.name.substring(2); + } else { + parsed.event = c; + } + go = false; + break; + case Parse.START_ARRAY: + case Parse.END_ARRAY: + parsed.event = c; + go = false; + break; + + // The Escape Sequence, for Quote marks within Quotes + case '\\': + // Ignore these, unless within quotes, at which point data-gather + case ' ': + case '\b': + case '\f': + case '\n': + case '\r': + case '\t': + break; + // Normal data... gather it + default: + sb.append(c); + } + } + } + } + } + return parsed; + } catch (IOException e) { + throw new ParseException(e); + } + } - public static class State { - public int braces = 0; - public char unsent = 0; - } - -// @Override - public Parsed newParsed() { - return new Parsed(new State()); // no State needed - } + public static class State { + public int braces = 0; + public char unsent = 0; + } + +// @Override + public Parsed newParsed() { + return new Parsed(new State()); // no State needed + } -// @Override - public TimeTaken start(Env env) { - return env.start("Rosetta JSON In", Env.JSON); - } +// @Override + public TimeTaken start(Env env) { + return env.start("Rosetta JSON In", Env.JSON); + } } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/InXML.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/InXML.java index da66394c..91b7c57d 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/InXML.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/InXML.java @@ -34,455 +34,455 @@ import org.onap.aaf.misc.env.TimeTaken; import org.onap.aaf.misc.rosetta.InXML.State; public class InXML implements Parse { - // package on purpose - JaxInfo jaxInfo; + // package on purpose + JaxInfo jaxInfo; - public InXML(JaxInfo jaxInfo) { - this.jaxInfo = jaxInfo; - } - - public InXML(Class cls, String ... rootNs) throws SecurityException, NoSuchFieldException, ClassNotFoundException, ParseException { - jaxInfo = JaxInfo.build(cls,rootNs); - } + public InXML(JaxInfo jaxInfo) { + this.jaxInfo = jaxInfo; + } + + public InXML(Class cls, String ... rootNs) throws SecurityException, NoSuchFieldException, ClassNotFoundException, ParseException { + jaxInfo = JaxInfo.build(cls,rootNs); + } - // @Override - public Parsed parse(Reader r, Parsed parsed) throws ParseException { - State state = parsed.state; - - // OK, before anything else, see if there is leftover processing, if so, do it! - if(state.unevaluated!=null) { - DerTag dt = state.unevaluated; - state.unevaluated = null; - if(!state.greatExp.eval(parsed, dt))return parsed; - } + // @Override + public Parsed parse(Reader r, Parsed parsed) throws ParseException { + State state = parsed.state; + + // OK, before anything else, see if there is leftover processing, if so, do it! + if(state.unevaluated!=null) { + DerTag dt = state.unevaluated; + state.unevaluated = null; + if(!state.greatExp.eval(parsed, dt))return parsed; + } - if(state.hasAttributes()) { - Prop prop = state.pop(); - parsed.event = Parse.ATTRIB; - parsed.name = prop.tag; - parsed.sb.append(prop.value); - parsed.isString=true; - return parsed; - } - int ch; - char c; - boolean inQuotes = false, escaped = false; + if(state.hasAttributes()) { + Prop prop = state.pop(); + parsed.event = Parse.ATTRIB; + parsed.name = prop.tag; + parsed.sb.append(prop.value); + parsed.isString=true; + return parsed; + } + int ch; + char c; + boolean inQuotes = false, escaped = false; - StringBuilder sb = parsed.sb, tempSB = new StringBuilder(); - boolean go = true; - - try { - while(go && (ch=r.read())>=0) { - c = (char)ch; - if(c == '"') { - if(state.greatExp instanceof LeafExpectations) { // within a set of Tags, make a Quote - sb.append(c); - } else { - if(inQuotes) { - if(escaped) { - sb.append('\\'); - sb.append(c); - escaped = false; - } else { - inQuotes = false; - } - } else { - parsed.isString=true; - inQuotes = true; - } - } - } else if(inQuotes) { - sb.append(c); - } else if(c=='&') { - XmlEscape.xmlEscape(sb,r); - } else if(c=='\\') { - escaped=true; - } else { - switch(c) { - case '<': - DerTag tag=new DerTag().parse(r, tempSB); - go = state.greatExp.eval(parsed, tag); - break; - default: - // don't add Whitespace to start of SB... saves removing later - if(sb.length()>0) { - sb.append(c); - } else if(!Character.isWhitespace(c)) { - sb.append(c); - } - } - } - } - return parsed; - } catch (IOException e) { - throw new ParseException(e); - } - } - - public static final class DerTag { - public String name; - public boolean isEndTag; - public List props; - private boolean isXmlInfo; - //private String ns; - - public DerTag() { - name=null; - isEndTag = false; - props = null; - isXmlInfo = false; - } - - public DerTag parse(Reader r, StringBuilder sb) throws ParseException { - int ch; - char c; - boolean inQuotes = false, escaped = false; - boolean go = true; - String tag = null; - - try { - if((ch = r.read())<0) throw new ParseException("Reader content ended before complete"); - if(ch=='?') { - isXmlInfo = true; - } - // TODO Check for !-- comments - do { - c=(char)ch; - if(c=='"') { - if(inQuotes) { - if(escaped) { - sb.append(c); - escaped = false; - } else { - inQuotes = false; - } - } else { - inQuotes = true; - } - } else if(inQuotes) { - sb.append(c); - } else { - switch(c) { - case '/': - isEndTag = true; - break; - case ' ': - endField(tag,sb); - tag = null; - break; - case '>': - endField(tag,sb); - go = false; - break; - case '=': - tag = sb.toString(); - sb.setLength(0); - break; -// case ':': -// ns = sb.toString(); -// sb.setLength(0); -// break; - case '?': - if(!isXmlInfo)sb.append(c); - break; - default: - sb.append(c); - } - } - } while(go && (ch=r.read())>=0); - } catch (IOException e) { - throw new ParseException(e); - } - return this; - } + StringBuilder sb = parsed.sb, tempSB = new StringBuilder(); + boolean go = true; + + try { + while(go && (ch=r.read())>=0) { + c = (char)ch; + if(c == '"') { + if(state.greatExp instanceof LeafExpectations) { // within a set of Tags, make a Quote + sb.append(c); + } else { + if(inQuotes) { + if(escaped) { + sb.append('\\'); + sb.append(c); + escaped = false; + } else { + inQuotes = false; + } + } else { + parsed.isString=true; + inQuotes = true; + } + } + } else if(inQuotes) { + sb.append(c); + } else if(c=='&') { + XmlEscape.xmlEscape(sb,r); + } else if(c=='\\') { + escaped=true; + } else { + switch(c) { + case '<': + DerTag tag=new DerTag().parse(r, tempSB); + go = state.greatExp.eval(parsed, tag); + break; + default: + // don't add Whitespace to start of SB... saves removing later + if(sb.length()>0) { + sb.append(c); + } else if(!Character.isWhitespace(c)) { + sb.append(c); + } + } + } + } + return parsed; + } catch (IOException e) { + throw new ParseException(e); + } + } + + public static final class DerTag { + public String name; + public boolean isEndTag; + public List props; + private boolean isXmlInfo; + //private String ns; + + public DerTag() { + name=null; + isEndTag = false; + props = null; + isXmlInfo = false; + } + + public DerTag parse(Reader r, StringBuilder sb) throws ParseException { + int ch; + char c; + boolean inQuotes = false, escaped = false; + boolean go = true; + String tag = null; + + try { + if((ch = r.read())<0) throw new ParseException("Reader content ended before complete"); + if(ch=='?') { + isXmlInfo = true; + } + // TODO Check for !-- comments + do { + c=(char)ch; + if(c=='"') { + if(inQuotes) { + if(escaped) { + sb.append(c); + escaped = false; + } else { + inQuotes = false; + } + } else { + inQuotes = true; + } + } else if(inQuotes) { + sb.append(c); + } else { + switch(c) { + case '/': + isEndTag = true; + break; + case ' ': + endField(tag,sb); + tag = null; + break; + case '>': + endField(tag,sb); + go = false; + break; + case '=': + tag = sb.toString(); + sb.setLength(0); + break; +// case ':': +// ns = sb.toString(); +// sb.setLength(0); +// break; + case '?': + if(!isXmlInfo)sb.append(c); + break; + default: + sb.append(c); + } + } + } while(go && (ch=r.read())>=0); + } catch (IOException e) { + throw new ParseException(e); + } + return this; + } - private void endField(String tag, StringBuilder sb) { - if(name==null) { - name = sb.toString(); - sb.setLength(0); - } else { - String value = sb.toString(); - sb.setLength(0); - if(tag !=null && value != null) { - if(props==null)props = new ArrayList<>(); - props.add(new Prop(tag,value)); - } - } - } - - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append(isEndTag?"End":"Start"); - sb.append(" Tag\n"); - sb.append(" Name: "); - sb.append(name); - if(props!=null) for(Prop p : props) { - sb.append("\n "); - sb.append(p.tag); - sb.append("=\""); - sb.append(p.value); - sb.append('"'); - } - return sb.toString(); - } - } - - private static class ArrayState { - public boolean firstObj = true; - public boolean didNext = false; - } + private void endField(String tag, StringBuilder sb) { + if(name==null) { + name = sb.toString(); + sb.setLength(0); + } else { + String value = sb.toString(); + sb.setLength(0); + if(tag !=null && value != null) { + if(props==null)props = new ArrayList<>(); + props.add(new Prop(tag,value)); + } + } + } + + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(isEndTag?"End":"Start"); + sb.append(" Tag\n"); + sb.append(" Name: "); + sb.append(name); + if(props!=null) for(Prop p : props) { + sb.append("\n "); + sb.append(p.tag); + sb.append("=\""); + sb.append(p.value); + sb.append('"'); + } + return sb.toString(); + } + } + + private static class ArrayState { + public boolean firstObj = true; + public boolean didNext = false; + } - public static class State { - public GreatExpectations greatExp; - public DerTag unevaluated; - public Stack arrayInfo; - private List attribs; - private int idx; - public State(JaxInfo ji, DerTag dt) throws ParseException { - greatExp = new RootExpectations(this, ji, null); - unevaluated = null; - attribs = null;; - } - - public boolean hasAttributes() { - return attribs!=null && idx arrayInfo; + private List attribs; + private int idx; + public State(JaxInfo ji, DerTag dt) throws ParseException { + greatExp = new RootExpectations(this, ji, null); + unevaluated = null; + attribs = null;; + } + + public boolean hasAttributes() { + return attribs!=null && idx(); - idx = 0; - } - attribs.add(prop); - } - - public Prop pop() { - Prop rv = null; - if(attribs!=null) { - rv = attribs.get(idx++); - if(idx>=attribs.size())attribs = null; - } - return rv; - } - } - - private static abstract class GreatExpectations { - protected JaxInfo ji; - protected GreatExpectations prev; - private Map ns; - - public GreatExpectations(State state, JaxInfo curr, GreatExpectations prev, DerTag derTag) throws ParseException { - this.prev = prev; - ns = null; - ji = getDerived(state, curr,derTag); - } - - public abstract boolean eval(Parsed parsed, DerTag derTag) throws ParseException; + public void push(Prop prop) { + if(attribs==null) { + attribs = new ArrayList<>(); + idx = 0; + } + attribs.add(prop); + } + + public Prop pop() { + Prop rv = null; + if(attribs!=null) { + rv = attribs.get(idx++); + if(idx>=attribs.size())attribs = null; + } + return rv; + } + } + + private static abstract class GreatExpectations { + protected JaxInfo ji; + protected GreatExpectations prev; + private Map ns; + + public GreatExpectations(State state, JaxInfo curr, GreatExpectations prev, DerTag derTag) throws ParseException { + this.prev = prev; + ns = null; + ji = getDerived(state, curr,derTag); + } + + public abstract boolean eval(Parsed parsed, DerTag derTag) throws ParseException; - // Recursively look back for any namespaces - protected Map getNS() { - if(ns!=null)return ns; - if(prev!=null) { - return prev.getNS(); - } - return null; - } + // Recursively look back for any namespaces + protected Map getNS() { + if(ns!=null)return ns; + if(prev!=null) { + return prev.getNS(); + } + return null; + } - private void addNS(Prop prop) { - Map existingNS = getNS(); - if(ns==null)ns = new HashMap<>(); - // First make a copy of previous NSs so that we have everything we need, but can overwrite, if necessary - if(existingNS!=null && ns!=existingNS) { - ns.putAll(ns); - } - ns.put(prop.tag, prop.value); - } + private void addNS(Prop prop) { + Map existingNS = getNS(); + if(ns==null)ns = new HashMap<>(); + // First make a copy of previous NSs so that we have everything we need, but can overwrite, if necessary + if(existingNS!=null && ns!=existingNS) { + ns.putAll(ns); + } + ns.put(prop.tag, prop.value); + } - private JaxInfo getDerived(State state, JaxInfo ji, DerTag derTag) throws ParseException { - if(derTag==null)return ji; - - List props = derTag.props; - - Prop derived = null; - if(props!=null) { - // Load Namespaces (if any) - for(Prop prop : props) { - if(prop.tag.startsWith("xmlns:")) { - addNS(prop); - } - } - for(Prop prop : props) { - if(prop.tag.endsWith(":type")) { - int idx = prop.tag.indexOf(':'); - String potentialNS = "xmlns:"+prop.tag.substring(0,idx); - Map ns = getNS(); - boolean noNamespace = false; - if(ns==null) { - noNamespace = true; - } else { - String nsVal = ns.get(potentialNS); - if(nsVal==null) noNamespace = true; - else { - derived = new Prop(Parsed.EXTENSION_TAG,prop.value); - state.push(derived); - } - } - if(noNamespace) { - throw new ParseException(prop.tag + " utilizes an invalid Namespace prefix"); - } - } else if(!prop.tag.startsWith("xmlns")) { - state.push(prop); - } - } - } - return derived==null?ji:ji.getDerived(derived.value); - } - } - - private static class RootExpectations extends GreatExpectations { - - public RootExpectations(State state, JaxInfo curr, GreatExpectations prev) throws ParseException { - super(state,curr,prev, null); - } - - // @Override - public boolean eval(Parsed parsed, DerTag derTag) throws ParseException { - if(derTag.isXmlInfo) { - parsed.event = START_DOC; - } else if(ji.name.equals(derTag.name)) { - if(derTag.isEndTag) { - parsed.event = END_DOC; - parsed.state.greatExp = prev; - } else { - //parsed.name = derTag.name; - parsed.event = START_OBJ; - parsed.state.greatExp = new ObjectExpectations(parsed.state,ji, this, false, derTag); - } - } - return false; - } - } - - private static class ObjectExpectations extends GreatExpectations { - private boolean printName; + private JaxInfo getDerived(State state, JaxInfo ji, DerTag derTag) throws ParseException { + if(derTag==null)return ji; + + List props = derTag.props; + + Prop derived = null; + if(props!=null) { + // Load Namespaces (if any) + for(Prop prop : props) { + if(prop.tag.startsWith("xmlns:")) { + addNS(prop); + } + } + for(Prop prop : props) { + if(prop.tag.endsWith(":type")) { + int idx = prop.tag.indexOf(':'); + String potentialNS = "xmlns:"+prop.tag.substring(0,idx); + Map ns = getNS(); + boolean noNamespace = false; + if(ns==null) { + noNamespace = true; + } else { + String nsVal = ns.get(potentialNS); + if(nsVal==null) noNamespace = true; + else { + derived = new Prop(Parsed.EXTENSION_TAG,prop.value); + state.push(derived); + } + } + if(noNamespace) { + throw new ParseException(prop.tag + " utilizes an invalid Namespace prefix"); + } + } else if(!prop.tag.startsWith("xmlns")) { + state.push(prop); + } + } + } + return derived==null?ji:ji.getDerived(derived.value); + } + } + + private static class RootExpectations extends GreatExpectations { + + public RootExpectations(State state, JaxInfo curr, GreatExpectations prev) throws ParseException { + super(state,curr,prev, null); + } + + // @Override + public boolean eval(Parsed parsed, DerTag derTag) throws ParseException { + if(derTag.isXmlInfo) { + parsed.event = START_DOC; + } else if(ji.name.equals(derTag.name)) { + if(derTag.isEndTag) { + parsed.event = END_DOC; + parsed.state.greatExp = prev; + } else { + //parsed.name = derTag.name; + parsed.event = START_OBJ; + parsed.state.greatExp = new ObjectExpectations(parsed.state,ji, this, false, derTag); + } + } + return false; + } + } + + private static class ObjectExpectations extends GreatExpectations { + private boolean printName; - public ObjectExpectations(State state, JaxInfo curr, GreatExpectations prev, boolean printName, DerTag derTag) throws ParseException { - super(state, curr, prev, derTag); - this.printName=printName; - } + public ObjectExpectations(State state, JaxInfo curr, GreatExpectations prev, boolean printName, DerTag derTag) throws ParseException { + super(state, curr, prev, derTag); + this.printName=printName; + } - // @Override - public boolean eval(Parsed parsed, DerTag derTag) throws ParseException { - if(derTag.isEndTag && ji.name.equals(derTag.name)) { - parsed.state.greatExp = prev; - parsed.event = END_OBJ; - if(printName)parsed.name = ji.name; - } else { - //Standard Members - for(JaxInfo memb : ji.members) { - if(memb.name.equals(derTag.name)) { - parsed.name = memb.name; - if(memb.isArray) { - parsed.state.unevaluated = derTag; // evaluate within Array Context - parsed.event = START_ARRAY; - parsed.state.greatExp = new ArrayExpectations(parsed.state,memb,this); - return false; - } else if(memb.isObject()) { - if(derTag.isEndTag) { - throw new ParseException("Unexpected End Tag '); - } else { - parsed.event = START_OBJ; + // @Override + public boolean eval(Parsed parsed, DerTag derTag) throws ParseException { + if(derTag.isEndTag && ji.name.equals(derTag.name)) { + parsed.state.greatExp = prev; + parsed.event = END_OBJ; + if(printName)parsed.name = ji.name; + } else { + //Standard Members + for(JaxInfo memb : ji.members) { + if(memb.name.equals(derTag.name)) { + parsed.name = memb.name; + if(memb.isArray) { + parsed.state.unevaluated = derTag; // evaluate within Array Context + parsed.event = START_ARRAY; + parsed.state.greatExp = new ArrayExpectations(parsed.state,memb,this); + return false; + } else if(memb.isObject()) { + if(derTag.isEndTag) { + throw new ParseException("Unexpected End Tag '); + } else { + parsed.event = START_OBJ; - parsed.state.greatExp = new ObjectExpectations(parsed.state, memb,this,true,derTag); - return false; - } - } else { // a leaf - if(derTag.isEndTag) { - throw new ParseException("Misplaced End Tag '); - } else { - parsed.state.greatExp = new LeafExpectations(parsed.state,memb, this); - return true; // finish out Leaf without returning - } - } - } - } + parsed.state.greatExp = new ObjectExpectations(parsed.state, memb,this,true,derTag); + return false; + } + } else { // a leaf + if(derTag.isEndTag) { + throw new ParseException("Misplaced End Tag '); + } else { + parsed.state.greatExp = new LeafExpectations(parsed.state,memb, this); + return true; // finish out Leaf without returning + } + } + } + } - throw new ParseException("Unexpected Tag <" + derTag.name + '>'); - } - return false; - } - } - - private static class LeafExpectations extends GreatExpectations { - public LeafExpectations(State state, JaxInfo curr, GreatExpectations prev) throws ParseException { - super(state, curr, prev, null); - } + throw new ParseException("Unexpected Tag <" + derTag.name + '>'); + } + return false; + } + } + + private static class LeafExpectations extends GreatExpectations { + public LeafExpectations(State state, JaxInfo curr, GreatExpectations prev) throws ParseException { + super(state, curr, prev, null); + } - // @Override - public boolean eval(Parsed parsed, DerTag derTag) throws ParseException { - if(ji.name.equals(derTag.name) && derTag.isEndTag) { - parsed.event = NEXT; - parsed.isString = ji.isString; - parsed.state.greatExp = prev; - } else { - throw new ParseException("Expected '); - } - return false; - } - } + // @Override + public boolean eval(Parsed parsed, DerTag derTag) throws ParseException { + if(ji.name.equals(derTag.name) && derTag.isEndTag) { + parsed.event = NEXT; + parsed.isString = ji.isString; + parsed.state.greatExp = prev; + } else { + throw new ParseException("Expected '); + } + return false; + } + } - private static class ArrayExpectations extends GreatExpectations { - public ArrayExpectations(State state, JaxInfo ji, GreatExpectations prev) throws ParseException { - super(state, ji, prev,null); - if(state.arrayInfo==null)state.arrayInfo=new Stack(); - state.arrayInfo.push(new ArrayState()); - } - // @Override - public boolean eval(Parsed parsed, DerTag derTag) throws ParseException { - if(ji.name.equals(derTag.name) && !derTag.isEndTag) { - if(ji.isObject()) { - if(derTag.isEndTag) { - throw new ParseException("Unexpected End Tag '); - } else { - ArrayState ai = parsed.state.arrayInfo.peek(); - if(ai.firstObj || ai.didNext) { - ai.firstObj = false; - ai.didNext = false; - parsed.event = START_OBJ; - parsed.name=derTag.name; - parsed.state.greatExp = new ObjectExpectations(parsed.state,ji,this,true, derTag); - } else { - ai.didNext = true; - parsed.event = NEXT; - parsed.state.unevaluated = derTag; - } - } - } else { // a leave - if(derTag.isEndTag) { - throw new ParseException("Misplaced End Tag '); - } else { - parsed.state.greatExp = new LeafExpectations(parsed.state, ji, this); - return true; // finish out Leaf without returning - } - } - } else { // Tag now different... Array is done - parsed.state.unevaluated = derTag; - parsed.event=END_ARRAY; - parsed.state.greatExp = prev; - parsed.state.arrayInfo.pop(); - } - return false; - } - } - // @Override - public Parsed newParsed() throws ParseException { - return new Parsed(new State(jaxInfo, null)); - } + private static class ArrayExpectations extends GreatExpectations { + public ArrayExpectations(State state, JaxInfo ji, GreatExpectations prev) throws ParseException { + super(state, ji, prev,null); + if(state.arrayInfo==null)state.arrayInfo=new Stack(); + state.arrayInfo.push(new ArrayState()); + } + // @Override + public boolean eval(Parsed parsed, DerTag derTag) throws ParseException { + if(ji.name.equals(derTag.name) && !derTag.isEndTag) { + if(ji.isObject()) { + if(derTag.isEndTag) { + throw new ParseException("Unexpected End Tag '); + } else { + ArrayState ai = parsed.state.arrayInfo.peek(); + if(ai.firstObj || ai.didNext) { + ai.firstObj = false; + ai.didNext = false; + parsed.event = START_OBJ; + parsed.name=derTag.name; + parsed.state.greatExp = new ObjectExpectations(parsed.state,ji,this,true, derTag); + } else { + ai.didNext = true; + parsed.event = NEXT; + parsed.state.unevaluated = derTag; + } + } + } else { // a leave + if(derTag.isEndTag) { + throw new ParseException("Misplaced End Tag '); + } else { + parsed.state.greatExp = new LeafExpectations(parsed.state, ji, this); + return true; // finish out Leaf without returning + } + } + } else { // Tag now different... Array is done + parsed.state.unevaluated = derTag; + parsed.event=END_ARRAY; + parsed.state.greatExp = prev; + parsed.state.arrayInfo.pop(); + } + return false; + } + } + // @Override + public Parsed newParsed() throws ParseException { + return new Parsed(new State(jaxInfo, null)); + } - // @Override - public TimeTaken start(Env env) { - return env.start("Rosetta XML In", Env.XML); - } - + // @Override + public TimeTaken start(Env env) { + return env.start("Rosetta XML In", Env.XML); + } + } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/JaxEval.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/JaxEval.java index 2708aa2f..cb6d2f8c 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/JaxEval.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/JaxEval.java @@ -22,5 +22,5 @@ package org.onap.aaf.misc.rosetta; public interface JaxEval{ - public abstract JaxEval eval(Parsed p) throws ParseException; + public abstract JaxEval eval(Parsed p) throws ParseException; } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/JaxInfo.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/JaxInfo.java index 6c20ba25..edc5f787 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/JaxInfo.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/JaxInfo.java @@ -35,214 +35,214 @@ import javax.xml.bind.annotation.XmlType; import javax.xml.datatype.XMLGregorianCalendar; public class JaxInfo { - private static final String DEFAULT = "##default"; - public static final int DATA = 0; - public static final int ARRAY = 1; - public static final int OBJECT = 2; - - public final String name; - public final Class clss; - public Map extensions; // Classes, which might be found at runtime, that extend this class. Lazy Instantiation - public final JaxInfo[] members; - public final boolean isArray; - public final boolean isString; - public final boolean required; - public final boolean nillable; - public String ns; - public boolean isObject() {return members!=null;} - - private JaxInfo(String n, String ns, Class c, JaxInfo[] members, boolean string, boolean array, boolean required, boolean nillable) { - name = n; - this.ns = ns; - clss = c; - this.members = members; - this.isString = string; - isArray = array; - this.required = required; - this.nillable = nillable; - extensions = null; - } - + private static final String DEFAULT = "##default"; + public static final int DATA = 0; + public static final int ARRAY = 1; + public static final int OBJECT = 2; + + public final String name; + public final Class clss; + public Map extensions; // Classes, which might be found at runtime, that extend this class. Lazy Instantiation + public final JaxInfo[] members; + public final boolean isArray; + public final boolean isString; + public final boolean required; + public final boolean nillable; + public String ns; + public boolean isObject() {return members!=null;} + + private JaxInfo(String n, String ns, Class c, JaxInfo[] members, boolean string, boolean array, boolean required, boolean nillable) { + name = n; + this.ns = ns; + clss = c; + this.members = members; + this.isString = string; + isArray = array; + this.required = required; + this.nillable = nillable; + extensions = null; + } + - public int getType() { - if(isArray)return ARRAY; - else if(members!=null)return OBJECT; - return DATA; - } - - public JaxInfo getDerived(String derivedName) { - JaxInfo derived; - // Lazy Instantiation - if(extensions == null) { - extensions = new HashMap<>(); - derived = null; - } else { - derived = extensions.get(derivedName); - } - - if(derived == null) { - //TODO for the moment, Classes are in same package - Package pkg = clss.getPackage(); - try { - Class dc = getClass().getClassLoader().loadClass(pkg.getName()+'.'+Character.toUpperCase(derivedName.charAt(0))+derivedName.substring(1)); - derived = JaxInfo.build(dc, this); // Use this JAXInfo's name so the tags are correct - extensions.put(derivedName, derived); - } catch (Exception e) { - e.printStackTrace(); - } - } - return derived; - } + public int getType() { + if(isArray)return ARRAY; + else if(members!=null)return OBJECT; + return DATA; + } + + public JaxInfo getDerived(String derivedName) { + JaxInfo derived; + // Lazy Instantiation + if(extensions == null) { + extensions = new HashMap<>(); + derived = null; + } else { + derived = extensions.get(derivedName); + } + + if(derived == null) { + //TODO for the moment, Classes are in same package + Package pkg = clss.getPackage(); + try { + Class dc = getClass().getClassLoader().loadClass(pkg.getName()+'.'+Character.toUpperCase(derivedName.charAt(0))+derivedName.substring(1)); + derived = JaxInfo.build(dc, this); // Use this JAXInfo's name so the tags are correct + extensions.put(derivedName, derived); + } catch (Exception e) { + e.printStackTrace(); + } + } + return derived; + } - public static JaxInfo get(JaxInfo[] fields, String name) { - for(JaxInfo f : fields) { - if(name.equals(f.name)) return f; - } - return null; - } + public static JaxInfo get(JaxInfo[] fields, String name) { + for(JaxInfo f : fields) { + if(name.equals(f.name)) return f; + } + return null; + } - /** - * Build up JAXB Information (recursively) - * - * @param cls - * @param rootNns - * @return - * @throws SecurityException - * @throws NoSuchFieldException - * @throws ClassNotFoundException - * @throws ParseException - */ - public static JaxInfo build(Class cls, JaxInfo parent) throws NoSuchFieldException, ClassNotFoundException, ParseException { - return new JaxInfo(parent.name,parent.ns, cls,buildFields(cls,parent.ns),parent.isString, parent.isArray,parent.required,parent.nillable); - } - /** - * Build up JAXB Information (recursively) - * - * @param cls - * @param rootNns - * @return - * @throws SecurityException - * @throws NoSuchFieldException - * @throws ClassNotFoundException - * @throws ParseException - */ - public static JaxInfo build(Class cls, String ... rootNns) throws SecurityException, NoSuchFieldException, ClassNotFoundException, ParseException { - String defaultNS; - if(rootNns.length>0 && rootNns[0]!=null) { - defaultNS = rootNns[0]; - } else { - Package pkg = cls.getPackage(); - XmlSchema xs = pkg.getAnnotation(XmlSchema.class); - defaultNS = xs==null?"":xs.namespace(); - } - String name; - if(rootNns.length>1) { - name = rootNns[1]; - } else { - XmlRootElement xre = cls.getAnnotation(XmlRootElement.class); - if(xre!=null) { - name = xre.name(); - } else { - XmlType xt = cls.getAnnotation(XmlType.class); - if(xt!=null) { - name=xt.name(); - } else { - throw new ParseException("Need a JAXB Object with XmlRootElement, or stipulate in parms"); - } - } - } - - return new JaxInfo(name,defaultNS, cls,buildFields(cls,defaultNS),false,false,false,false); - } - - // Build up the name and members of this particular class - // This is recursive, if a member is a JAXB Object as well. - private static JaxInfo[] buildFields(Class clazz, String defaultNS) throws SecurityException, NoSuchFieldException, ClassNotFoundException { - ArrayList fields = null; // allow for lazy instantiation, because many structures won't have XmlType - Class cls = clazz; - // Build up Method names from JAXB Annotations - XmlType xt; - while((xt = cls.getAnnotation(XmlType.class))!=null) { - if(fields==null)fields = new ArrayList<>(); - for(String field : xt.propOrder()) { - if("".equals(field)) break; // odd bug. "" returned when no fields exist, rather than empty array - Field rf = cls.getDeclaredField(field); - Class ft = rf.getType(); - - boolean required = false; - boolean nillable = false; - String xmlName = field; - String namespace = defaultNS; - - XmlElement xe = rf.getAnnotation(XmlElement.class); - if(xe!=null) { - xmlName=xe.name(); - required = xe.required(); - nillable = false; - if(DEFAULT.equals(xmlName)) { - xmlName = field; - } - namespace = xe.namespace(); - if(DEFAULT.equals(namespace)) { - namespace = defaultNS; - } - } - // If object is a List, then it is possible multiple, per XML/JAXB evaluation - if(ft.isAssignableFrom(List.class)) { - Type t = rf.getGenericType(); - String classname = t.toString(); - int start = classname.indexOf('<'); - int end = classname.indexOf('>'); - Class genClass = Class.forName(classname.substring(start+1, end)); - xe = genClass.getAnnotation(XmlElement.class); - if(xe!=null && !DEFAULT.equals(xe.namespace())) { - namespace = xe.namespace(); - } - // add recursed recursed member, marked as array - fields.add(new JaxInfo(xmlName,namespace,genClass,buildFields(genClass,namespace), genClass.equals(String.class),true,required,nillable)); - } else { - boolean isString = ft.equals(String.class) || ft.equals(XMLGregorianCalendar.class); - // add recursed member - fields.add(new JaxInfo(xmlName,namespace,ft,buildFields(ft,namespace),isString,false,required,nillable)); - } - } - cls = cls.getSuperclass(); - }; - if(fields!=null) { - JaxInfo[] rv = new JaxInfo[fields.size()]; - fields.toArray(rv); - return rv; - } else { - return null; - } - } + /** + * Build up JAXB Information (recursively) + * + * @param cls + * @param rootNns + * @return + * @throws SecurityException + * @throws NoSuchFieldException + * @throws ClassNotFoundException + * @throws ParseException + */ + public static JaxInfo build(Class cls, JaxInfo parent) throws NoSuchFieldException, ClassNotFoundException, ParseException { + return new JaxInfo(parent.name,parent.ns, cls,buildFields(cls,parent.ns),parent.isString, parent.isArray,parent.required,parent.nillable); + } + /** + * Build up JAXB Information (recursively) + * + * @param cls + * @param rootNns + * @return + * @throws SecurityException + * @throws NoSuchFieldException + * @throws ClassNotFoundException + * @throws ParseException + */ + public static JaxInfo build(Class cls, String ... rootNns) throws SecurityException, NoSuchFieldException, ClassNotFoundException, ParseException { + String defaultNS; + if(rootNns.length>0 && rootNns[0]!=null) { + defaultNS = rootNns[0]; + } else { + Package pkg = cls.getPackage(); + XmlSchema xs = pkg.getAnnotation(XmlSchema.class); + defaultNS = xs==null?"":xs.namespace(); + } + String name; + if(rootNns.length>1) { + name = rootNns[1]; + } else { + XmlRootElement xre = cls.getAnnotation(XmlRootElement.class); + if(xre!=null) { + name = xre.name(); + } else { + XmlType xt = cls.getAnnotation(XmlType.class); + if(xt!=null) { + name=xt.name(); + } else { + throw new ParseException("Need a JAXB Object with XmlRootElement, or stipulate in parms"); + } + } + } + + return new JaxInfo(name,defaultNS, cls,buildFields(cls,defaultNS),false,false,false,false); + } + + // Build up the name and members of this particular class + // This is recursive, if a member is a JAXB Object as well. + private static JaxInfo[] buildFields(Class clazz, String defaultNS) throws SecurityException, NoSuchFieldException, ClassNotFoundException { + ArrayList fields = null; // allow for lazy instantiation, because many structures won't have XmlType + Class cls = clazz; + // Build up Method names from JAXB Annotations + XmlType xt; + while((xt = cls.getAnnotation(XmlType.class))!=null) { + if(fields==null)fields = new ArrayList<>(); + for(String field : xt.propOrder()) { + if("".equals(field)) break; // odd bug. "" returned when no fields exist, rather than empty array + Field rf = cls.getDeclaredField(field); + Class ft = rf.getType(); + + boolean required = false; + boolean nillable = false; + String xmlName = field; + String namespace = defaultNS; + + XmlElement xe = rf.getAnnotation(XmlElement.class); + if(xe!=null) { + xmlName=xe.name(); + required = xe.required(); + nillable = false; + if(DEFAULT.equals(xmlName)) { + xmlName = field; + } + namespace = xe.namespace(); + if(DEFAULT.equals(namespace)) { + namespace = defaultNS; + } + } + // If object is a List, then it is possible multiple, per XML/JAXB evaluation + if(ft.isAssignableFrom(List.class)) { + Type t = rf.getGenericType(); + String classname = t.toString(); + int start = classname.indexOf('<'); + int end = classname.indexOf('>'); + Class genClass = Class.forName(classname.substring(start+1, end)); + xe = genClass.getAnnotation(XmlElement.class); + if(xe!=null && !DEFAULT.equals(xe.namespace())) { + namespace = xe.namespace(); + } + // add recursed recursed member, marked as array + fields.add(new JaxInfo(xmlName,namespace,genClass,buildFields(genClass,namespace), genClass.equals(String.class),true,required,nillable)); + } else { + boolean isString = ft.equals(String.class) || ft.equals(XMLGregorianCalendar.class); + // add recursed member + fields.add(new JaxInfo(xmlName,namespace,ft,buildFields(ft,namespace),isString,false,required,nillable)); + } + } + cls = cls.getSuperclass(); + }; + if(fields!=null) { + JaxInfo[] rv = new JaxInfo[fields.size()]; + fields.toArray(rv); + return rv; + } else { + return null; + } + } - public StringBuilder dump(StringBuilder sb, int idx) { - for(int i=0;i */ public class JaxSet { - private static Map,JaxSet> jsets = new HashMap<>(); - private Map> members; + private static Map,JaxSet> jsets = new HashMap<>(); + private Map> members; - private JaxSet(Class cls) { - members = new TreeMap<>(); - XmlType xmltype = cls.getAnnotation(XmlType.class); - Class paramType[] = new Class[] {String.class}; - for(String str : xmltype.propOrder()) { - try { - String setName = "set" + Character.toUpperCase(str.charAt(0)) + str.subSequence(1, str.length()); - Method meth = cls.getMethod(setName,paramType ); - if(meth!=null) { - members.put(str, new Setter(meth) { - public void set(T o, Object t) throws ParseException { - try { - this.meth.invoke(o, t); - } catch (Exception e) { - throw new ParseException(e); - } - } - }); - } - } catch (Exception e) { - // oops - } - } - } - - public static abstract class Setter { - protected final Method meth; - public Setter(Method meth) { - this.meth = meth; - } - public abstract void set(O o, Object obj) throws ParseException; - } + private JaxSet(Class cls) { + members = new TreeMap<>(); + XmlType xmltype = cls.getAnnotation(XmlType.class); + Class paramType[] = new Class[] {String.class}; + for(String str : xmltype.propOrder()) { + try { + String setName = "set" + Character.toUpperCase(str.charAt(0)) + str.subSequence(1, str.length()); + Method meth = cls.getMethod(setName,paramType ); + if(meth!=null) { + members.put(str, new Setter(meth) { + public void set(T o, Object t) throws ParseException { + try { + this.meth.invoke(o, t); + } catch (Exception e) { + throw new ParseException(e); + } + } + }); + } + } catch (Exception e) { + // oops + } + } + } + + public static abstract class Setter { + protected final Method meth; + public Setter(Method meth) { + this.meth = meth; + } + public abstract void set(O o, Object obj) throws ParseException; + } - public static JaxSet get(Class cls) { - synchronized(jsets) { - @SuppressWarnings("unchecked") - JaxSet js = (JaxSet)jsets.get(cls); - if(js == null) { - jsets.put(cls, js = new JaxSet<>(cls)); - } - return js; - } - } + public static JaxSet get(Class cls) { + synchronized(jsets) { + @SuppressWarnings("unchecked") + JaxSet js = (JaxSet)jsets.get(cls); + if(js == null) { + jsets.put(cls, js = new JaxSet<>(cls)); + } + return js; + } + } - public Setter get(String key) { - return members.get(key); - } + public Setter get(String key) { + return members.get(key); + } } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Ladder.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Ladder.java index 51cec078..5e03ac91 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Ladder.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Ladder.java @@ -32,82 +32,82 @@ package org.onap.aaf.misc.rosetta; * */ public class Ladder { - public static final int DEFAULT_INIT_SIZE=8; - private final int init_size; - private int rung; // as in ladder - private Object[] struts; + public static final int DEFAULT_INIT_SIZE=8; + private final int init_size; + private int rung; // as in ladder + private Object[] struts; - public Ladder() { - rung=0; - init_size = DEFAULT_INIT_SIZE; - struts=new Object[init_size]; - } + public Ladder() { + rung=0; + init_size = DEFAULT_INIT_SIZE; + struts=new Object[init_size]; + } - public Ladder(int initSize) { - rung=0; - init_size = initSize; - struts=new Object[init_size]; - } + public Ladder(int initSize) { + rung=0; + init_size = initSize; + struts=new Object[init_size]; + } - public void bottom() { - rung = 0; - } - - public void top() { - rung = struts.length-1; - while(rung>0 && struts[rung]==null)--rung; - } - - public int howHigh() { - return rung; - } - - public void jumpTo(int rung) { - if(rung>=struts.length) { - Object[] temp = new Object[init_size*((rung/init_size)+1)]; - System.arraycopy(struts, 0, temp, 0, struts.length); - struts = temp; - } - this.rung = rung; - } - - public int height() { - return struts.length; - } - - public void cutTo(int rungs) { - Object[] temp = new Object[rungs]; - System.arraycopy(struts, 0, temp, 0, Math.min(rungs, struts.length)); - struts = temp; - } - - public void ascend() { - ++rung; - if(rung>=struts.length) { - Object[] temp = new Object[struts.length+init_size]; - System.arraycopy(struts, 0, temp, 0, struts.length); - struts = temp; - } - } - - public void descend() { - --rung; - } - - @SuppressWarnings("unchecked") - public T peek() { - return (T)struts[rung]; - } - - public void push(T t) { - struts[rung]=t; - } - - @SuppressWarnings("unchecked") - public T pop() { - T t = (T)struts[rung]; - struts[rung]=null; - return t; - } + public void bottom() { + rung = 0; + } + + public void top() { + rung = struts.length-1; + while(rung>0 && struts[rung]==null)--rung; + } + + public int howHigh() { + return rung; + } + + public void jumpTo(int rung) { + if(rung>=struts.length) { + Object[] temp = new Object[init_size*((rung/init_size)+1)]; + System.arraycopy(struts, 0, temp, 0, struts.length); + struts = temp; + } + this.rung = rung; + } + + public int height() { + return struts.length; + } + + public void cutTo(int rungs) { + Object[] temp = new Object[rungs]; + System.arraycopy(struts, 0, temp, 0, Math.min(rungs, struts.length)); + struts = temp; + } + + public void ascend() { + ++rung; + if(rung>=struts.length) { + Object[] temp = new Object[struts.length+init_size]; + System.arraycopy(struts, 0, temp, 0, struts.length); + struts = temp; + } + } + + public void descend() { + --rung; + } + + @SuppressWarnings("unchecked") + public T peek() { + return (T)struts[rung]; + } + + public void push(T t) { + struts[rung]=t; + } + + @SuppressWarnings("unchecked") + public T pop() { + T t = (T)struts[rung]; + struts[rung]=null; + return t; + } } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Marshal.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Marshal.java index 595bc630..4b8d2bf3 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Marshal.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Marshal.java @@ -29,57 +29,57 @@ import org.onap.aaf.misc.env.TimeTaken; public abstract class Marshal implements Parse { - /* (non-Javadoc) - * @see org.onap.aaf.misc.rosetta.Parse#newParsed() - */ - @Override - public Parsed newParsed() throws ParseException { - return new Parsed(new State()); - } + /* (non-Javadoc) + * @see org.onap.aaf.misc.rosetta.Parse#newParsed() + */ + @Override + public Parsed newParsed() throws ParseException { + return new Parsed(new State()); + } - @Override - public TimeTaken start(Env env) { - //TODO is a way to mark not-JSON? - return env.start("Rosetta Marshal", Env.JSON); - }; + @Override + public TimeTaken start(Env env) { + //TODO is a way to mark not-JSON? + return env.start("Rosetta Marshal", Env.JSON); + }; - public static class State { - // Note: Need a STATEFUL stack... one that will remain stateful until marked as finished - // "finished" is know by Iterators with no more to do/null - // Thus the concept of "Ladder", which one ascends and decends - public Ladder> ladder = new Ladder>(); - public boolean smallest = true; - } + public static class State { + // Note: Need a STATEFUL stack... one that will remain stateful until marked as finished + // "finished" is know by Iterators with no more to do/null + // Thus the concept of "Ladder", which one ascends and decends + public Ladder> ladder = new Ladder>(); + public boolean smallest = true; + } - public static final Iterator DONE_ITERATOR = new Iterator() { - @Override - public boolean hasNext() { - return false; - } + public static final Iterator DONE_ITERATOR = new Iterator() { + @Override + public boolean hasNext() { + return false; + } - @Override - public Void next() { - if(!hasNext()) { - throw new NoSuchElementException(); - } - return null; - } + @Override + public Void next() { + if(!hasNext()) { + throw new NoSuchElementException(); + } + return null; + } - @Override - public void remove() { - } - }; + @Override + public void remove() { + } + }; - /** - * Typical definition of Done is when Iterator in Ladder is "DONE_ITERATOR" - * - * It is important, however, that the "Ladder Rung" is set to the right level. - * - * @param state - * @return - */ - public boolean amFinished(State state) { - return DONE_ITERATOR.equals(state.ladder.peek()); - } + /** + * Typical definition of Done is when Iterator in Ladder is "DONE_ITERATOR" + * + * It is important, however, that the "Ladder Rung" is set to the right level. + * + * @param state + * @return + */ + public boolean amFinished(State state) { + return DONE_ITERATOR.equals(state.ladder.peek()); + } } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Nulls.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Nulls.java index 38b021ea..d36c07ec 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Nulls.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Nulls.java @@ -29,38 +29,38 @@ import org.onap.aaf.misc.env.Env; import org.onap.aaf.misc.env.TimeTaken; public class Nulls { - public static final Parse IN = new Parse() { + public static final Parse IN = new Parse() { - // @Override - public Parsed parse(Reader r, Parsed parsed)throws ParseException { - parsed.event = Parse.END_DOC; - return parsed; - } + // @Override + public Parsed parse(Reader r, Parsed parsed)throws ParseException { + parsed.event = Parse.END_DOC; + return parsed; + } - // @Override - public Parsed newParsed() { - Parsed parsed = new Parsed(); - parsed.event = Parse.END_DOC; - return parsed; - } + // @Override + public Parsed newParsed() { + Parsed parsed = new Parsed(); + parsed.event = Parse.END_DOC; + return parsed; + } - // @Override - public TimeTaken start(Env env) { - return env.start("IN", Env.SUB); - } - - }; - - public static final Out OUT = new Out() { + // @Override + public TimeTaken start(Env env) { + return env.start("IN", Env.SUB); + } + + }; + + public static final Out OUT = new Out() { - // @Override - public void extract(IN in, Writer writer, Parse parse, boolean ... options)throws IOException, ParseException { - } - @Override - public String logName() { - return "Rosetta NULL"; - } + // @Override + public void extract(IN in, Writer writer, Parse parse, boolean ... options)throws IOException, ParseException { + } + @Override + public String logName() { + return "Rosetta NULL"; + } - }; + }; } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Out.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Out.java index 567a6261..aa2b2992 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Out.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Out.java @@ -27,17 +27,17 @@ import java.io.OutputStreamWriter; import java.io.Writer; public abstract class Out { - public abstract void extract(IN in, Writer writer, Parse parse, boolean ... options) throws IOException, ParseException; - - public void extract(IN in, OutputStream os, Parse parse, boolean ... options) throws IOException, ParseException { - Writer w = new OutputStreamWriter(os); - try { - extract(in, w, parse, options); - } finally { - w.flush(); - } - } - - public abstract String logName(); - + public abstract void extract(IN in, Writer writer, Parse parse, boolean ... options) throws IOException, ParseException; + + public void extract(IN in, OutputStream os, Parse parse, boolean ... options) throws IOException, ParseException { + Writer w = new OutputStreamWriter(os); + try { + extract(in, w, parse, options); + } finally { + w.flush(); + } + } + + public abstract String logName(); + } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/OutJax.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/OutJax.java index db7b956c..2716c8be 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/OutJax.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/OutJax.java @@ -25,27 +25,27 @@ import java.io.IOException; import java.io.Writer; public class OutJax extends Out { - private JaxEval jaxEval; - - public OutJax(JaxEval je) { - this.jaxEval = je; - } - - @Override - public void extract(IN in, Writer writer, Parse parse, boolean... options) throws IOException, ParseException { - Parsed p = parse.newParsed(); - JaxEval je = this.jaxEval; - while((p = parse.parse(in,p.reuse())).valid()) { - if(je==null)throw new ParseException("Incomplete content"); - je = je.eval(p); - } - - } - - @Override - public String logName() { - return "Rosetta JAX"; - } + private JaxEval jaxEval; + + public OutJax(JaxEval je) { + this.jaxEval = je; + } + + @Override + public void extract(IN in, Writer writer, Parse parse, boolean... options) throws IOException, ParseException { + Parsed p = parse.newParsed(); + JaxEval je = this.jaxEval; + while((p = parse.parse(in,p.reuse())).valid()) { + if(je==null)throw new ParseException("Incomplete content"); + je = je.eval(p); + } + + } + + @Override + public String logName() { + return "Rosetta JAX"; + } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/OutJson.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/OutJson.java index 2340bdb6..d0a26784 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/OutJson.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/OutJson.java @@ -29,204 +29,204 @@ import org.onap.aaf.misc.env.util.IndentPrintWriter; public class OutJson extends Out { - @Override - public void extract(IN in, Writer writer, Parse prs, boolean ... options) throws IOException, ParseException { - Parsed p = prs.newParsed(); - IndentPrintWriter ipw; - if(options.length>0 && options[0]) { // is Pretty - ipw = writer instanceof IndentPrintWriter?(IndentPrintWriter)writer:new IndentPrintWriter(writer); - writer = ipw; - } else { - ipw = null; - } - - // If it's a fragment, print first Object Name. If root Object, skip first name - Stack jsonLevel = new Stack(); - jsonLevel.push(new LevelStack(options.length>1 && options[1])); - boolean print = true, hadData=false; - char afterName=0, beforeName=0, maybe = 0, prev=0; - - int count = 0; - while((p = prs.parse(in,p.reuse())).valid()) { - ++count; - switch(p.event) { - case 1: - continue; - case 2: - if(count==2) { // it's empty, write open/close on it's own - writer.append('{'); - writer.append('}'); - } - writer.flush(); - return; - case '{': - afterName = '{'; - if(jsonLevel.peek().printObjectName) { - print = true; - } else { // don't print names on first - print=false; - } - maybe=jsonLevel.peek().listItem(); - jsonLevel.push(new LevelStack(true)); - break; - case '}': - if(p.hasData()) { // if we have data, we print that, so may need to prepend a comma. - maybe = jsonLevel.peek().listItem(); - } else { // No data means just print, - p.name = ""; // XML tags come through with names, but no data - } - print = true; - jsonLevel.pop(); - afterName = p.event; - break; - case '[': - afterName = p.event; - if((prev==',' && !hadData) || prev==']')maybe=','; - else maybe = jsonLevel.peek().listItem(); + @Override + public void extract(IN in, Writer writer, Parse prs, boolean ... options) throws IOException, ParseException { + Parsed p = prs.newParsed(); + IndentPrintWriter ipw; + if(options.length>0 && options[0]) { // is Pretty + ipw = writer instanceof IndentPrintWriter?(IndentPrintWriter)writer:new IndentPrintWriter(writer); + writer = ipw; + } else { + ipw = null; + } + + // If it's a fragment, print first Object Name. If root Object, skip first name + Stack jsonLevel = new Stack(); + jsonLevel.push(new LevelStack(options.length>1 && options[1])); + boolean print = true, hadData=false; + char afterName=0, beforeName=0, maybe = 0, prev=0; + + int count = 0; + while((p = prs.parse(in,p.reuse())).valid()) { + ++count; + switch(p.event) { + case 1: + continue; + case 2: + if(count==2) { // it's empty, write open/close on it's own + writer.append('{'); + writer.append('}'); + } + writer.flush(); + return; + case '{': + afterName = '{'; + if(jsonLevel.peek().printObjectName) { + print = true; + } else { // don't print names on first + print=false; + } + maybe=jsonLevel.peek().listItem(); + jsonLevel.push(new LevelStack(true)); + break; + case '}': + if(p.hasData()) { // if we have data, we print that, so may need to prepend a comma. + maybe = jsonLevel.peek().listItem(); + } else { // No data means just print, + p.name = ""; // XML tags come through with names, but no data + } + print = true; + jsonLevel.pop(); + afterName = p.event; + break; + case '[': + afterName = p.event; + if((prev==',' && !hadData) || prev==']')maybe=','; + else maybe = jsonLevel.peek().listItem(); - jsonLevel.push(new LevelStack(false)); - print=true; - break; - case ']': - afterName = p.event; - if(p.hasData()) { - if(prev==',' && !hadData)maybe=','; - else maybe = jsonLevel.peek().listItem(); - } else { - p.name = ""; // XML tags come through with names, but no data - } - jsonLevel.pop(); + jsonLevel.push(new LevelStack(false)); + print=true; + break; + case ']': + afterName = p.event; + if(p.hasData()) { + if(prev==',' && !hadData)maybe=','; + else maybe = jsonLevel.peek().listItem(); + } else { + p.name = ""; // XML tags come through with names, but no data + } + jsonLevel.pop(); - print = true; - break; - case 3: - case ',': - if(!p.hasData()) { - p.isString=false; - print=false; - } else { - maybe=jsonLevel.peek().listItem(); - print = true; - } - break; - default: - print = true; - } - - if(maybe!=0) { - if(ipw==null)writer.append(maybe); - else ipw.println(maybe); - maybe = 0; - } - - if(beforeName!=0) { - if(ipw==null)writer.append(beforeName); - else ipw.println(beforeName); - beforeName = 0; - } - if(print) { - if(p.hasName()) { - writer.append('"'); - if(p.event==3)writer.append("__"); - writer.append(p.name); - writer.append("\":"); - } - if(p.hasData()) { - if(p.isString) { - writer.append('"'); - escapedWrite(writer, p.sb); - writer.append('"'); - } else if(p.sb.length()>0) { - writer.append(p.sb); - } - } - } - if(afterName!=0) { - if(ipw==null)writer.append(afterName); - else { - switch(afterName) { - case '{': - ipw.println(afterName); - ipw.inc(); - break; - case '}': - ipw.dec(); - ipw.println(); - ipw.print(afterName); - break; - case ']': - if(prev=='}' || prev==',')ipw.println(); - ipw.dec(); - ipw.print(afterName); - break; + print = true; + break; + case 3: + case ',': + if(!p.hasData()) { + p.isString=false; + print=false; + } else { + maybe=jsonLevel.peek().listItem(); + print = true; + } + break; + default: + print = true; + } + + if(maybe!=0) { + if(ipw==null)writer.append(maybe); + else ipw.println(maybe); + maybe = 0; + } + + if(beforeName!=0) { + if(ipw==null)writer.append(beforeName); + else ipw.println(beforeName); + beforeName = 0; + } + if(print) { + if(p.hasName()) { + writer.append('"'); + if(p.event==3)writer.append("__"); + writer.append(p.name); + writer.append("\":"); + } + if(p.hasData()) { + if(p.isString) { + writer.append('"'); + escapedWrite(writer, p.sb); + writer.append('"'); + } else if(p.sb.length()>0) { + writer.append(p.sb); + } + } + } + if(afterName!=0) { + if(ipw==null)writer.append(afterName); + else { + switch(afterName) { + case '{': + ipw.println(afterName); + ipw.inc(); + break; + case '}': + ipw.dec(); + ipw.println(); + ipw.print(afterName); + break; + case ']': + if(prev=='}' || prev==',')ipw.println(); + ipw.dec(); + ipw.print(afterName); + break; - case ',': - ipw.println(afterName); - break; - default: - ipw.print(afterName); - } - } - afterName = 0; - } - - if(ipw!=null) { - switch(p.event) { - case '[': - ipw.inc(); - ipw.println(); - break; - } - } - prev = p.event; - hadData = p.hasData(); + case ',': + ipw.println(afterName); + break; + default: + ipw.print(afterName); + } + } + afterName = 0; + } + + if(ipw!=null) { + switch(p.event) { + case '[': + ipw.inc(); + ipw.println(); + break; + } + } + prev = p.event; + hadData = p.hasData(); - } - writer.flush(); - } + } + writer.flush(); + } - private void escapedWrite(Writer writer, StringBuilder sb) throws IOException { - char c; - for(int i=0;i void extract(IN in, Writer writer, Parse prs, boolean ... options) throws IOException, ParseException { - Parsed p = prs.newParsed(); - - while((p = prs.parse(in,p.reuse())).valid()) { - writer.append(p.toString()); - writer.append('\n'); - } - } - - @Override - public String logName() { - return "Rosetta RAW"; - } + @Override + public void extract(IN in, Writer writer, Parse prs, boolean ... options) throws IOException, ParseException { + Parsed p = prs.newParsed(); + + while((p = prs.parse(in,p.reuse())).valid()) { + writer.append(p.toString()); + writer.append('\n'); + } + } + + @Override + public String logName() { + return "Rosetta RAW"; + } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/OutXML.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/OutXML.java index 8557c584..a887cb96 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/OutXML.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/OutXML.java @@ -33,193 +33,193 @@ import org.onap.aaf.misc.env.util.IndentPrintWriter; import org.onap.aaf.misc.env.util.StringBuilderWriter; public class OutXML extends Out{ - private static final String XMLNS_XSI = "xmlns:xsi"; - public static final String XML_INFO = ""; - public static final String XML_SCHEMA_INSTANCE = "http://www.w3.org/2001/XMLSchema-instance"; - - private String root; - private List props; + private static final String XMLNS_XSI = "xmlns:xsi"; + public static final String XML_INFO = ""; + public static final String XML_SCHEMA_INSTANCE = "http://www.w3.org/2001/XMLSchema-instance"; + + private String root; + private List props; - public OutXML(String root, String ... params) { - this.root = root; - props = new ArrayList<>(); - for(String p : params) { - String[] tv=p.split("="); - if(tv.length==2) - props.add(new Prop(tv[0],tv[1])); - } - } - - public OutXML(JaxInfo jaxInfo) { - this(jaxInfo.name,genNS(jaxInfo)); - } - - public OutXML(InXML inXML) { - this(inXML.jaxInfo.name,genNS(inXML.jaxInfo)); - } - - private static String[] genNS(JaxInfo jaxInfo) { - return new String[] {"xmlns=" + jaxInfo.ns}; - } - - - @Override - public void extract(IN in, Writer writer, Parse prs, boolean ... options) throws IOException, ParseException { - Parsed p = prs.newParsed(); - Stack stack = new Stack(); - // If it's an IndentPrintWriter, it is pretty printing. - boolean pretty = (options.length>0&&options[0]); - - IndentPrintWriter ipw; - if(pretty) { - if(writer instanceof IndentPrintWriter) { - ipw = (IndentPrintWriter)writer; - } else { - writer = ipw = new IndentPrintWriter(writer); - } - } else { - ipw=null; - } - boolean closeTag = false; - Level level = new Level(null); - while((p = prs.parse(in,p.reuse())).valid()) { - if(!p.hasName() && level.multi!=null) { - p.name=level.multi; - } - if(closeTag && p.event!=Parse.ATTRIB) { - writer.append('>'); - if(pretty)writer.append('\n'); - closeTag = false; - } - switch(p.event) { - case Parse.START_DOC: - if(!(options.length>1&&options[1])) // if not a fragment, print XML Info data - if(pretty)ipw.println(XML_INFO); - else writer.append(XML_INFO); - break; - case Parse.END_DOC: - break; - case Parse.START_OBJ: - stack.push(level); - level = new Level(level); - if(p.hasName()) { - closeTag = tag(writer,level.sbw,pretty,pretty,p.name,null); - } else if(root!=null && stack.size()==1) { // first Object - closeTag = tag(writer,level.sbw,pretty,pretty,root,null); - // Write Root Props - for(Prop prop : props) { - attrib(writer,pretty,prop.tag, prop.value,level); - } - } - if(pretty)ipw.inc(); - break; - case Parse.END_OBJ: - if(p.hasData()) - closeTag = tag(writer,writer,pretty,false,p.name, XmlEscape.convert(p.sb)); - if(pretty)ipw.dec(); - writer.append(level.sbw.getBuffer()); - level = stack.pop(); - break; - case Parse.START_ARRAY: - level.multi = p.name; - break; - case Parse.END_ARRAY: - if(p.hasData()) - closeTag = tag(writer,writer,pretty,false, p.name, XmlEscape.convert(p.sb)); - level.multi=null; - break; - case Parse.ATTRIB: - if(p.hasData()) - attrib(writer,pretty,p.name, XmlEscape.convert(p.sb), level); - break; - case Parse.NEXT: - if(p.hasData()) - closeTag = tag(writer,writer,pretty, false,p.name, XmlEscape.convert(p.sb)); - break; - } - } - writer.append(level.sbw.getBuffer()); - writer.flush(); - } - - private class Level { - public final StringBuilderWriter sbw; - public String multi; - private Level prev; - private Map nses; - - public Level(Level level) { - sbw = new StringBuilderWriter(); - multi = null; - prev = level; - } + public OutXML(String root, String ... params) { + this.root = root; + props = new ArrayList<>(); + for(String p : params) { + String[] tv=p.split("="); + if(tv.length==2) + props.add(new Prop(tv[0],tv[1])); + } + } + + public OutXML(JaxInfo jaxInfo) { + this(jaxInfo.name,genNS(jaxInfo)); + } + + public OutXML(InXML inXML) { + this(inXML.jaxInfo.name,genNS(inXML.jaxInfo)); + } + + private static String[] genNS(JaxInfo jaxInfo) { + return new String[] {"xmlns=" + jaxInfo.ns}; + } + + + @Override + public void extract(IN in, Writer writer, Parse prs, boolean ... options) throws IOException, ParseException { + Parsed p = prs.newParsed(); + Stack stack = new Stack(); + // If it's an IndentPrintWriter, it is pretty printing. + boolean pretty = (options.length>0&&options[0]); + + IndentPrintWriter ipw; + if(pretty) { + if(writer instanceof IndentPrintWriter) { + ipw = (IndentPrintWriter)writer; + } else { + writer = ipw = new IndentPrintWriter(writer); + } + } else { + ipw=null; + } + boolean closeTag = false; + Level level = new Level(null); + while((p = prs.parse(in,p.reuse())).valid()) { + if(!p.hasName() && level.multi!=null) { + p.name=level.multi; + } + if(closeTag && p.event!=Parse.ATTRIB) { + writer.append('>'); + if(pretty)writer.append('\n'); + closeTag = false; + } + switch(p.event) { + case Parse.START_DOC: + if(!(options.length>1&&options[1])) // if not a fragment, print XML Info data + if(pretty)ipw.println(XML_INFO); + else writer.append(XML_INFO); + break; + case Parse.END_DOC: + break; + case Parse.START_OBJ: + stack.push(level); + level = new Level(level); + if(p.hasName()) { + closeTag = tag(writer,level.sbw,pretty,pretty,p.name,null); + } else if(root!=null && stack.size()==1) { // first Object + closeTag = tag(writer,level.sbw,pretty,pretty,root,null); + // Write Root Props + for(Prop prop : props) { + attrib(writer,pretty,prop.tag, prop.value,level); + } + } + if(pretty)ipw.inc(); + break; + case Parse.END_OBJ: + if(p.hasData()) + closeTag = tag(writer,writer,pretty,false,p.name, XmlEscape.convert(p.sb)); + if(pretty)ipw.dec(); + writer.append(level.sbw.getBuffer()); + level = stack.pop(); + break; + case Parse.START_ARRAY: + level.multi = p.name; + break; + case Parse.END_ARRAY: + if(p.hasData()) + closeTag = tag(writer,writer,pretty,false, p.name, XmlEscape.convert(p.sb)); + level.multi=null; + break; + case Parse.ATTRIB: + if(p.hasData()) + attrib(writer,pretty,p.name, XmlEscape.convert(p.sb), level); + break; + case Parse.NEXT: + if(p.hasData()) + closeTag = tag(writer,writer,pretty, false,p.name, XmlEscape.convert(p.sb)); + break; + } + } + writer.append(level.sbw.getBuffer()); + writer.flush(); + } + + private class Level { + public final StringBuilderWriter sbw; + public String multi; + private Level prev; + private Map nses; + + public Level(Level level) { + sbw = new StringBuilderWriter(); + multi = null; + prev = level; + } - public boolean hasPrinted(String ns, String value, boolean create) { - boolean rv = false; - if(nses==null) { - if(prev!=null)rv = prev.hasPrinted(ns, value, false); - } else { - String v = nses.get(ns); - return value.equals(v); // note: accomodates not finding NS as well - } - - if(create && !rv) { - if(nses == null) nses = new HashMap<>(); - nses.put(ns, value); - } - return rv; - } - - - - } - - private boolean tag(Writer fore, Writer aft, boolean pretty, boolean returns, String tag, String data) throws IOException { - fore.append('<'); - fore.append(tag); - if(data!=null) { - fore.append('>'); // if no data, it may need some attributes... - fore.append(data); - if(returns)fore.append('\n'); - } - aft.append(""); - if(pretty)aft.append('\n'); - return data==null; - } - - private void attrib(Writer fore, boolean pretty, String tag, String value, Level level) throws IOException { - String realTag = tag.startsWith("__")?tag.substring(2):tag; // remove __ - if(realTag.equals(Parsed.EXTENSION_TAG)) { // Convert Derived name into XML defined Inheritance - fore.append(" xsi:type=\""); - fore.append(value); - fore.append('"'); - if(!level.hasPrinted(XMLNS_XSI, XML_SCHEMA_INSTANCE,true)) { - fore.append(' '); - fore.append(XMLNS_XSI); - fore.append("=\""); - fore.append(XML_SCHEMA_INSTANCE); - fore.append("\""); - } - } else { - if(realTag.startsWith("xmlns:") ) { - if(level.hasPrinted(realTag, value, true)) { - return; - } - } - fore.append(' '); - fore.append(realTag); - fore.append("=\""); - fore.append(value); - fore.append('"'); - } - } + public boolean hasPrinted(String ns, String value, boolean create) { + boolean rv = false; + if(nses==null) { + if(prev!=null)rv = prev.hasPrinted(ns, value, false); + } else { + String v = nses.get(ns); + return value.equals(v); // note: accomodates not finding NS as well + } + + if(create && !rv) { + if(nses == null) nses = new HashMap<>(); + nses.put(ns, value); + } + return rv; + } + + + + } + + private boolean tag(Writer fore, Writer aft, boolean pretty, boolean returns, String tag, String data) throws IOException { + fore.append('<'); + fore.append(tag); + if(data!=null) { + fore.append('>'); // if no data, it may need some attributes... + fore.append(data); + if(returns)fore.append('\n'); + } + aft.append(""); + if(pretty)aft.append('\n'); + return data==null; + } + + private void attrib(Writer fore, boolean pretty, String tag, String value, Level level) throws IOException { + String realTag = tag.startsWith("__")?tag.substring(2):tag; // remove __ + if(realTag.equals(Parsed.EXTENSION_TAG)) { // Convert Derived name into XML defined Inheritance + fore.append(" xsi:type=\""); + fore.append(value); + fore.append('"'); + if(!level.hasPrinted(XMLNS_XSI, XML_SCHEMA_INSTANCE,true)) { + fore.append(' '); + fore.append(XMLNS_XSI); + fore.append("=\""); + fore.append(XML_SCHEMA_INSTANCE); + fore.append("\""); + } + } else { + if(realTag.startsWith("xmlns:") ) { + if(level.hasPrinted(realTag, value, true)) { + return; + } + } + fore.append(' '); + fore.append(realTag); + fore.append("=\""); + fore.append(value); + fore.append('"'); + } + } - @Override - public String logName() { - return "Rosetta XML"; - } + @Override + public String logName() { + return "Rosetta XML"; + } } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Parse.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Parse.java index 657baf5c..d068530c 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Parse.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Parse.java @@ -25,21 +25,21 @@ import org.onap.aaf.misc.env.Env; import org.onap.aaf.misc.env.TimeTaken; public interface Parse { - public Parsed parse(IN in, Parsed parsed) throws ParseException; - - // EVENTS - public static final char NONE = 0; - public static final char START_DOC = 1; - public static final char END_DOC = 2; - public static final char ATTRIB = 3; - - public static final char NEXT = ','; - public static final char START_OBJ = '{'; - public static final char END_OBJ = '}'; - public static final char START_ARRAY = '['; - public static final char END_ARRAY = ']'; - - public Parsed newParsed() throws ParseException; - public TimeTaken start(Env env); - + public Parsed parse(IN in, Parsed parsed) throws ParseException; + + // EVENTS + public static final char NONE = 0; + public static final char START_DOC = 1; + public static final char END_DOC = 2; + public static final char ATTRIB = 3; + + public static final char NEXT = ','; + public static final char START_OBJ = '{'; + public static final char END_OBJ = '}'; + public static final char START_ARRAY = '['; + public static final char END_ARRAY = ']'; + + public Parsed newParsed() throws ParseException; + public TimeTaken start(Env env); + } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/ParseException.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/ParseException.java index d986776d..38ea956a 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/ParseException.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/ParseException.java @@ -22,21 +22,21 @@ package org.onap.aaf.misc.rosetta; public class ParseException extends Exception { - private static final long serialVersionUID = 7808836939102997012L; + private static final long serialVersionUID = 7808836939102997012L; - public ParseException() { - } + public ParseException() { + } - public ParseException(String message) { - super(message); - } + public ParseException(String message) { + super(message); + } - public ParseException(Throwable cause) { - super(cause); - } + public ParseException(Throwable cause) { + super(cause); + } - public ParseException(String message, Throwable cause) { - super(message, cause); - } + public ParseException(String message, Throwable cause) { + super(message, cause); + } } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Parsed.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Parsed.java index 326c5bba..a4c679db 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Parsed.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Parsed.java @@ -23,67 +23,67 @@ package org.onap.aaf.misc.rosetta; public class Parsed { - public static final String EXTENSION_TAG="extension"; - - public boolean isString; - - public StringBuilder sb; - public char event; - public String name; - public S state; + public static final String EXTENSION_TAG="extension"; + + public boolean isString; + + public StringBuilder sb; + public char event; + public String name; + public S state; - public Parsed() { - this(null); - } + public Parsed() { + this(null); + } - // Package on purpose - Parsed(S theState) { - sb = new StringBuilder(); - isString = false; - event = Parse.NONE; - name = ""; - state = theState; - } + // Package on purpose + Parsed(S theState) { + sb = new StringBuilder(); + isString = false; + event = Parse.NONE; + name = ""; + state = theState; + } - public boolean valid() { - return event!=Parse.NONE; - } - - public Parsed reuse() { - isString=false; - sb.setLength(0); - event = Parse.NONE; - name = ""; - // don't touch T... - return this; - } + public boolean valid() { + return event!=Parse.NONE; + } + + public Parsed reuse() { + isString=false; + sb.setLength(0); + event = Parse.NONE; + name = ""; + // don't touch T... + return this; + } - public void dataIsName() { - name = sb.toString(); - sb.setLength(0); - } + public void dataIsName() { + name = sb.toString(); + sb.setLength(0); + } - public boolean hasName() { - return name.length()>0; - } + public boolean hasName() { + return name.length()>0; + } - public boolean hasData() { - return sb.length()>0; - } - - public String toString() { - StringBuilder sb2 = new StringBuilder(); - if(event<40)sb2.append((int)event); - else sb2.append(event); - sb2.append(" - "); - sb2.append(name); - if(sb.length()>0) { - sb2.append(" : "); - if(isString)sb2.append('"'); - sb2.append(sb); - if(isString)sb2.append('"'); - } - return sb2.toString(); - } + public boolean hasData() { + return sb.length()>0; + } + + public String toString() { + StringBuilder sb2 = new StringBuilder(); + if(event<40)sb2.append((int)event); + else sb2.append(event); + sb2.append(" - "); + sb2.append(name); + if(sb.length()>0) { + sb2.append(" : "); + if(isString)sb2.append('"'); + sb2.append(sb); + if(isString)sb2.append('"'); + } + return sb2.toString(); + } } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Prop.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Prop.java index 07bd40f0..ae9c8934 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Prop.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Prop.java @@ -22,22 +22,22 @@ package org.onap.aaf.misc.rosetta; class Prop { - public String tag; - public String value; - public Prop(String t, String v) { - tag = t; - value =v; - } - - public Prop(String t_equals_v) { - String[] tv = t_equals_v.split("="); - if(tv.length>1) { - tag = tv[0]; - value = tv[1]; - } - } + public String tag; + public String value; + public Prop(String t, String v) { + tag = t; + value =v; + } + + public Prop(String t_equals_v) { + String[] tv = t_equals_v.split("="); + if(tv.length>1) { + tag = tv[0]; + value = tv[1]; + } + } - public String toString() { - return tag + '=' + value; - } + public String toString() { + return tag + '=' + value; + } } \ No newline at end of file diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Saved.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Saved.java index 45c27052..a596b705 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Saved.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/Saved.java @@ -38,157 +38,157 @@ import org.onap.aaf.misc.rosetta.Saved.State; * */ public class Saved extends Out implements Parse{ - private static final String ROSETTA_SAVED = "Rosetta Saved"; - private final static int INIT_SIZE=128; - private Content content[]; - private int idx; - private boolean append = false; - - /** - * Read from Parsed Stream and save - */ - // @Override - public void extract(IN in, Writer ignore, Parse parser, boolean ... options) throws IOException, ParseException { - Parsed p = parser.newParsed(); - if(!append) { - // reuse array if not too big - if(content==null||content.length>INIT_SIZE*3) { - content = new Content[INIT_SIZE]; - idx = -1; - } else do { - content[idx]=null; - } while(--idx>=0); - } - - // Note: idx needs to be -1 on initialization and no appendages - while((p = parser.parse(in,p.reuse())).valid()) { - if(!(append && (p.event==START_DOC || p.event==END_DOC))) { // skip any start/end of document in appendages - if(++idx>=content.length) { - Content temp[] = new Content[content.length*2]; - System.arraycopy(content, 0, temp, 0, idx); - content = temp; - } - content[idx]= new Content(p); - } - } - } - - // @Override - public Parsed parse(Reader ignore, Parsed parsed) throws ParseException { - int i; - if((i=parsed.state.count++)<=idx) - content[i].load(parsed); - else - parsed.event = Parse.NONE; - return parsed; - } + private static final String ROSETTA_SAVED = "Rosetta Saved"; + private final static int INIT_SIZE=128; + private Content content[]; + private int idx; + private boolean append = false; + + /** + * Read from Parsed Stream and save + */ + // @Override + public void extract(IN in, Writer ignore, Parse parser, boolean ... options) throws IOException, ParseException { + Parsed p = parser.newParsed(); + if(!append) { + // reuse array if not too big + if(content==null||content.length>INIT_SIZE*3) { + content = new Content[INIT_SIZE]; + idx = -1; + } else do { + content[idx]=null; + } while(--idx>=0); + } + + // Note: idx needs to be -1 on initialization and no appendages + while((p = parser.parse(in,p.reuse())).valid()) { + if(!(append && (p.event==START_DOC || p.event==END_DOC))) { // skip any start/end of document in appendages + if(++idx>=content.length) { + Content temp[] = new Content[content.length*2]; + System.arraycopy(content, 0, temp, 0, idx); + content = temp; + } + content[idx]= new Content(p); + } + } + } + + // @Override + public Parsed parse(Reader ignore, Parsed parsed) throws ParseException { + int i; + if((i=parsed.state.count++)<=idx) + content[i].load(parsed); + else + parsed.event = Parse.NONE; + return parsed; + } - public Content[] cut(char event, int count) { - append = true; - for(int i=idx;i>=0;--i) { - if(content[i].event==event) count--; - if(count==0) { - Content[] appended = new Content[idx-i+1]; - System.arraycopy(content, i, appended, 0, appended.length); - idx = i-1; - return appended; - } - } - return new Content[0]; - } + public Content[] cut(char event, int count) { + append = true; + for(int i=idx;i>=0;--i) { + if(content[i].event==event) count--; + if(count==0) { + Content[] appended = new Content[idx-i+1]; + System.arraycopy(content, i, appended, 0, appended.length); + idx = i-1; + return appended; + } + } + return new Content[0]; + } - public void paste(Content[] appended) { - if(appended!=null) { - if(idx+appended.length>content.length) { - Content temp[] = new Content[content.length*2]; - System.arraycopy(content, 0, temp, 0, idx); - content = temp; - } - System.arraycopy(appended,0,content,idx+1,appended.length); - idx+=appended.length; - } - this.append = false; - } + public void paste(Content[] appended) { + if(appended!=null) { + if(idx+appended.length>content.length) { + Content temp[] = new Content[content.length*2]; + System.arraycopy(content, 0, temp, 0, idx); + content = temp; + } + System.arraycopy(appended,0,content,idx+1,appended.length); + idx+=appended.length; + } + this.append = false; + } - public static class State { - public int count = 0; - } - - public static class Content { - private boolean isString; - private char event; - private String name; - private List props; - private String str; - - public Content(Parsed p) { - isString = p.isString; - event = p.event; - name = p.name; - // avoid copying, because most elements don't have content - // Cannot set to "equals", because sb ends up being cleared (and reused) - str = p.sb.length()==0?null:p.sb.toString(); - } + public static class State { + public int count = 0; + } + + public static class Content { + private boolean isString; + private char event; + private String name; + private List props; + private String str; + + public Content(Parsed p) { + isString = p.isString; + event = p.event; + name = p.name; + // avoid copying, because most elements don't have content + // Cannot set to "equals", because sb ends up being cleared (and reused) + str = p.sb.length()==0?null:p.sb.toString(); + } - public void load(Parsed p) { - p.isString = isString; - p.event = event; - p.name = name; - if(str!=null) - p.sb.append(str); - } - - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append(event); - sb.append(" - "); - sb.append(name); - sb.append(": "); - if(isString)sb.append('"'); - sb.append(str); - if(isString)sb.append('"'); - sb.append(' '); - if(props!=null) { - boolean comma = false; - for(Prop prop : props) { - if(comma)sb.append(','); - else comma = true; - sb.append(prop.tag); - sb.append('='); - sb.append(prop.value); - } - } - return sb.toString(); - } - } - - //// @Override - public Parsed newParsed() { - Parsed ps = new Parsed(new State()); - return ps; - } + public void load(Parsed p) { + p.isString = isString; + p.event = event; + p.name = name; + if(str!=null) + p.sb.append(str); + } + + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(event); + sb.append(" - "); + sb.append(name); + sb.append(": "); + if(isString)sb.append('"'); + sb.append(str); + if(isString)sb.append('"'); + sb.append(' '); + if(props!=null) { + boolean comma = false; + for(Prop prop : props) { + if(comma)sb.append(','); + else comma = true; + sb.append(prop.tag); + sb.append('='); + sb.append(prop.value); + } + } + return sb.toString(); + } + } + + //// @Override + public Parsed newParsed() { + Parsed ps = new Parsed(new State()); + return ps; + } - /** - * Convenience function - * @param rdr - * @param in - * @throws IOException - * @throws ParseException - */ - public void load(IN in, Parse parser) throws IOException, ParseException { - extract(in,(Writer)null, parser); - } + /** + * Convenience function + * @param rdr + * @param in + * @throws IOException + * @throws ParseException + */ + public void load(IN in, Parse parser) throws IOException, ParseException { + extract(in,(Writer)null, parser); + } - // @Override - public TimeTaken start(Env env) { - return env.start(ROSETTA_SAVED, 0); - } - - @Override - public String logName() { - return ROSETTA_SAVED; - } + // @Override + public TimeTaken start(Env env) { + return env.start(ROSETTA_SAVED, 0); + } + + @Override + public String logName() { + return ROSETTA_SAVED; + } } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/XmlEscape.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/XmlEscape.java index aac1e30f..1b0eec07 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/XmlEscape.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/XmlEscape.java @@ -27,345 +27,345 @@ import java.util.Map.Entry; import java.util.TreeMap; public class XmlEscape { - private XmlEscape() {} - - private static final TreeMap charMap; // see initialization at end - private static final TreeMap intMap; // see initialization at end + private XmlEscape() {} + + private static final TreeMap charMap; // see initialization at end + private static final TreeMap intMap; // see initialization at end - public static void xmlEscape(StringBuilder sb, Reader r) throws ParseException { - try { - int c; - StringBuilder esc = new StringBuilder(); - for(int cnt = 0;cnt<9 /*max*/; ++cnt) { - if((c=r.read())<0)throw new ParseException("Invalid Data: Unfinished Escape Sequence"); - if(c!=';') { - esc.append((char)c); - } else { // evaluate - Integer i = charMap.get(esc.toString()); - if(i==null) { - // leave in nasty XML format for now. - sb.append('&'); - sb.append(esc); - sb.append(';'); - } else { - sb.append((char)i.intValue()); - } - break; - } - } - - - } catch (IOException e) { - throw new ParseException(e); - } - } - - public static void xmlEscape(StringBuilder sb, int chr) { - sb.append('&'); - sb.append(intMap.get(chr)); - sb.append(';'); - } - - public static String convert(StringBuilder insb) { - int idx, ch; - StringBuilder sb=null; - for(idx=0;idx=160 || ch==34 || ch==38 || ch==39 || ch==60 || ch==62) { - sb = new StringBuilder(); - sb.append(insb,0,idx); - break; - } - } - - if(sb==null)return insb.toString(); - - for(int i=idx;i=160 || ch==34 || ch==38 || ch==39 || ch==60 || ch==62) { + sb = new StringBuilder(); + sb.append(insb,0,idx); + break; + } + } + + if(sb==null)return insb.toString(); + + for(int i=idx;i(); - intMap = new TreeMap<>(); - charMap.put("quot", 34); - charMap.put("amp",38); - charMap.put("apos",39); - charMap.put("lt",60); - charMap.put("gt",62); - charMap.put("nbsp",160); - charMap.put("iexcl",161); - charMap.put("cent",162); - charMap.put("pound",163); - charMap.put("curren",164); - charMap.put("yen",165); - charMap.put("brvbar",166); - charMap.put("sect",167); - charMap.put("uml",168); - charMap.put("copy",169); - charMap.put("ordf",170); - charMap.put("laquo",171); - charMap.put("not",172); - charMap.put("shy",173); - charMap.put("reg",174); - charMap.put("macr",175); - charMap.put("deg",176); - charMap.put("plusmn",177); - charMap.put("sup2",178); - charMap.put("sup3",179); - charMap.put("acute",180); - charMap.put("micro",181); - charMap.put("para",182); - charMap.put("middot",183); - charMap.put("cedil",184); - charMap.put("sup1",185); - charMap.put("ordm",186); - charMap.put("raquo",187); - charMap.put("frac14",188); - charMap.put("frac12",189); - charMap.put("frac34",190); - charMap.put("iquest",191); - charMap.put("Agrave",192); - charMap.put("Aacute",193); - charMap.put("Acirc",194); - charMap.put("Atilde",195); - charMap.put("Auml",196); - charMap.put("Aring",197); - charMap.put("AElig",198); - charMap.put("Ccedil",199); - charMap.put("Egrave",200); - charMap.put("Eacute",201); - charMap.put("Ecirc",202); - charMap.put("Euml",203); - charMap.put("Igrave",204); - charMap.put("Iacute",205); - charMap.put("Icirc",206); - charMap.put("Iuml",207); - charMap.put("ETH",208); - charMap.put("Ntilde",209); - charMap.put("Ograve",210); - charMap.put("Oacute",211); - charMap.put("Ocirc",212); - charMap.put("Otilde",213); - charMap.put("Ouml",214); - charMap.put("times",215); - charMap.put("Oslash",216); - charMap.put("Ugrave",217); - charMap.put("Uacute",218); - charMap.put("Ucirc",219); - charMap.put("Uuml",220); - charMap.put("Yacute",221); - charMap.put("THORN",222); - charMap.put("szlig",223); - charMap.put("agrave",224); - charMap.put("aacute",225); - charMap.put("acirc",226); - charMap.put("atilde",227); - charMap.put("auml",228); - charMap.put("aring",229); - charMap.put("aelig",230); - charMap.put("ccedil",231); - charMap.put("egrave",232); - charMap.put("eacute",233); - charMap.put("ecirc",234); - charMap.put("euml",235); - charMap.put("igrave",236); - charMap.put("iacute",237); - charMap.put("icirc",238); - charMap.put("iuml",239); - charMap.put("eth",240); - charMap.put("ntilde",241); - charMap.put("ograve",242); - charMap.put("oacute",243); - charMap.put("ocirc",244); - charMap.put("otilde",245); - charMap.put("ouml",246); - charMap.put("divide",247); - charMap.put("oslash",248); - charMap.put("ugrave",249); - charMap.put("uacute",250); - charMap.put("ucirc",251); - charMap.put("uuml",252); - charMap.put("yacute",253); - charMap.put("thorn",254); - charMap.put("yuml",255); - charMap.put("OElig",338); - charMap.put("oelig",339); - charMap.put("Scaron",352); - charMap.put("scaron",353); - charMap.put("Yuml",376); - charMap.put("fnof",402); - charMap.put("circ",710); - charMap.put("tilde",732); - charMap.put("Alpha",913); - charMap.put("Beta",914); - charMap.put("Gamma",915); - charMap.put("Delta",916); - charMap.put("Epsilon",917); - charMap.put("Zeta",918); - charMap.put("Eta",919); - charMap.put("Theta",920); - charMap.put("Iota",921); - charMap.put("Kappa",922); - charMap.put("Lambda",923); - charMap.put("Mu",924); - charMap.put("Nu",925); - charMap.put("Xi",926); - charMap.put("Omicron",927); - charMap.put("Pi",928); - charMap.put("Rho",929); - charMap.put("Sigma",931); - charMap.put("Tau",932); - charMap.put("Upsilon",933); - charMap.put("Phi",934); - charMap.put("Chi",935); - charMap.put("Psi",936); - charMap.put("Omega",937); - charMap.put("alpha",945); - charMap.put("beta",946); - charMap.put("gamma",947); - charMap.put("delta",948); - charMap.put("epsilon",949); - charMap.put("zeta",950); - charMap.put("eta",951); - charMap.put("theta",952); - charMap.put("iota",953); - charMap.put("kappa",954); - charMap.put("lambda",955); - charMap.put("mu",956); - charMap.put("nu",957); - charMap.put("xi",958); - charMap.put("omicron",959); - charMap.put("pi",960); - charMap.put("rho",961); - charMap.put("sigmaf",962); - charMap.put("sigma",963); - charMap.put("tau",964); - charMap.put("upsilon",965); - charMap.put("phi",966); - charMap.put("chi",967); - charMap.put("psi",968); - charMap.put("omega",969); - charMap.put("thetasym",977); - charMap.put("upsih",978); - charMap.put("piv",982); - charMap.put("ensp",8194); - charMap.put("emsp",8195); - charMap.put("thinsp",8201); - charMap.put("zwnj",8204); - charMap.put("zwj",8205); - charMap.put("lrm",8206); - charMap.put("rlm",8207); - charMap.put("ndash",8211); - charMap.put("mdash",8212); - charMap.put("lsquo",8216); - charMap.put("rsquo",8217); - charMap.put("sbquo",8218); - charMap.put("ldquo",8220); - charMap.put("rdquo",8221); - charMap.put("bdquo",8222); - charMap.put("dagger",8224); - charMap.put("Dagger",8225); - charMap.put("bull",8226); - charMap.put("hellip",8230); - charMap.put("permil",8240); - charMap.put("prime",8242); - charMap.put("Prime",8243); - charMap.put("lsaquo",8249); - charMap.put("rsaquo",8250); - charMap.put("oline",8254); - charMap.put("frasl",8260); - charMap.put("euro",8364); - charMap.put("image",8465); - charMap.put("weierp",8472); - charMap.put("real",8476); - charMap.put("trade",8482); - charMap.put("alefsym",8501); - charMap.put("larr",8592); - charMap.put("uarr",8593); - charMap.put("rarr",8594); - charMap.put("darr",8595); - charMap.put("harr",8596); - charMap.put("crarr",8629); - charMap.put("lArr",8656); - charMap.put("uArr",8657); - charMap.put("rArr",8658); - charMap.put("dArr",8659); - charMap.put("hArr",8660); - charMap.put("forall",8704); - charMap.put("part",8706); - charMap.put("exist",8707); - charMap.put("empty",8709); - charMap.put("nabla",8711); - charMap.put("isin",8712); - charMap.put("notin",8713); - charMap.put("ni",8715); - charMap.put("prod",8719); - charMap.put("sum",8721); - charMap.put("minus",8722); - charMap.put("lowast",8727); - charMap.put("radic",8730); - charMap.put("prop",8733); - charMap.put("infin",8734); - charMap.put("ang",8736); - charMap.put("and",8743); - charMap.put("or",8744); - charMap.put("cap",8745); - charMap.put("cup",8746); - charMap.put("int",8747); - charMap.put("there4",8756); - charMap.put("sim",8764); - charMap.put("cong",8773); - charMap.put("asymp",8776); - charMap.put("ne",8800); - charMap.put("equiv",8801); - charMap.put("le",8804); - charMap.put("ge",8805); - charMap.put("sub",8834); - charMap.put("sup",8835); - charMap.put("nsub",8836); - charMap.put("sube",8838); - charMap.put("supe",8839); - charMap.put("oplus",8853); - charMap.put("otimes",8855); - charMap.put("perp",8869); - charMap.put("sdot",8901); - charMap.put("lceil",8968); - charMap.put("rceil",8969); - charMap.put("lfloor",8970); - charMap.put("rfloor",8971); - charMap.put("lang",9001); - charMap.put("rang",9002); - charMap.put("loz",9674); - charMap.put("spades",9824); - charMap.put("clubs",9827); - charMap.put("hearts",9829); - charMap.put("diams",9830); - - for( Entry es: charMap.entrySet()) { - if(es.getValue()>=160); // save small space... note that no longer has amp, etc. - intMap.put(es.getValue(), es.getKey()); - } - } + static { + charMap = new TreeMap<>(); + intMap = new TreeMap<>(); + charMap.put("quot", 34); + charMap.put("amp",38); + charMap.put("apos",39); + charMap.put("lt",60); + charMap.put("gt",62); + charMap.put("nbsp",160); + charMap.put("iexcl",161); + charMap.put("cent",162); + charMap.put("pound",163); + charMap.put("curren",164); + charMap.put("yen",165); + charMap.put("brvbar",166); + charMap.put("sect",167); + charMap.put("uml",168); + charMap.put("copy",169); + charMap.put("ordf",170); + charMap.put("laquo",171); + charMap.put("not",172); + charMap.put("shy",173); + charMap.put("reg",174); + charMap.put("macr",175); + charMap.put("deg",176); + charMap.put("plusmn",177); + charMap.put("sup2",178); + charMap.put("sup3",179); + charMap.put("acute",180); + charMap.put("micro",181); + charMap.put("para",182); + charMap.put("middot",183); + charMap.put("cedil",184); + charMap.put("sup1",185); + charMap.put("ordm",186); + charMap.put("raquo",187); + charMap.put("frac14",188); + charMap.put("frac12",189); + charMap.put("frac34",190); + charMap.put("iquest",191); + charMap.put("Agrave",192); + charMap.put("Aacute",193); + charMap.put("Acirc",194); + charMap.put("Atilde",195); + charMap.put("Auml",196); + charMap.put("Aring",197); + charMap.put("AElig",198); + charMap.put("Ccedil",199); + charMap.put("Egrave",200); + charMap.put("Eacute",201); + charMap.put("Ecirc",202); + charMap.put("Euml",203); + charMap.put("Igrave",204); + charMap.put("Iacute",205); + charMap.put("Icirc",206); + charMap.put("Iuml",207); + charMap.put("ETH",208); + charMap.put("Ntilde",209); + charMap.put("Ograve",210); + charMap.put("Oacute",211); + charMap.put("Ocirc",212); + charMap.put("Otilde",213); + charMap.put("Ouml",214); + charMap.put("times",215); + charMap.put("Oslash",216); + charMap.put("Ugrave",217); + charMap.put("Uacute",218); + charMap.put("Ucirc",219); + charMap.put("Uuml",220); + charMap.put("Yacute",221); + charMap.put("THORN",222); + charMap.put("szlig",223); + charMap.put("agrave",224); + charMap.put("aacute",225); + charMap.put("acirc",226); + charMap.put("atilde",227); + charMap.put("auml",228); + charMap.put("aring",229); + charMap.put("aelig",230); + charMap.put("ccedil",231); + charMap.put("egrave",232); + charMap.put("eacute",233); + charMap.put("ecirc",234); + charMap.put("euml",235); + charMap.put("igrave",236); + charMap.put("iacute",237); + charMap.put("icirc",238); + charMap.put("iuml",239); + charMap.put("eth",240); + charMap.put("ntilde",241); + charMap.put("ograve",242); + charMap.put("oacute",243); + charMap.put("ocirc",244); + charMap.put("otilde",245); + charMap.put("ouml",246); + charMap.put("divide",247); + charMap.put("oslash",248); + charMap.put("ugrave",249); + charMap.put("uacute",250); + charMap.put("ucirc",251); + charMap.put("uuml",252); + charMap.put("yacute",253); + charMap.put("thorn",254); + charMap.put("yuml",255); + charMap.put("OElig",338); + charMap.put("oelig",339); + charMap.put("Scaron",352); + charMap.put("scaron",353); + charMap.put("Yuml",376); + charMap.put("fnof",402); + charMap.put("circ",710); + charMap.put("tilde",732); + charMap.put("Alpha",913); + charMap.put("Beta",914); + charMap.put("Gamma",915); + charMap.put("Delta",916); + charMap.put("Epsilon",917); + charMap.put("Zeta",918); + charMap.put("Eta",919); + charMap.put("Theta",920); + charMap.put("Iota",921); + charMap.put("Kappa",922); + charMap.put("Lambda",923); + charMap.put("Mu",924); + charMap.put("Nu",925); + charMap.put("Xi",926); + charMap.put("Omicron",927); + charMap.put("Pi",928); + charMap.put("Rho",929); + charMap.put("Sigma",931); + charMap.put("Tau",932); + charMap.put("Upsilon",933); + charMap.put("Phi",934); + charMap.put("Chi",935); + charMap.put("Psi",936); + charMap.put("Omega",937); + charMap.put("alpha",945); + charMap.put("beta",946); + charMap.put("gamma",947); + charMap.put("delta",948); + charMap.put("epsilon",949); + charMap.put("zeta",950); + charMap.put("eta",951); + charMap.put("theta",952); + charMap.put("iota",953); + charMap.put("kappa",954); + charMap.put("lambda",955); + charMap.put("mu",956); + charMap.put("nu",957); + charMap.put("xi",958); + charMap.put("omicron",959); + charMap.put("pi",960); + charMap.put("rho",961); + charMap.put("sigmaf",962); + charMap.put("sigma",963); + charMap.put("tau",964); + charMap.put("upsilon",965); + charMap.put("phi",966); + charMap.put("chi",967); + charMap.put("psi",968); + charMap.put("omega",969); + charMap.put("thetasym",977); + charMap.put("upsih",978); + charMap.put("piv",982); + charMap.put("ensp",8194); + charMap.put("emsp",8195); + charMap.put("thinsp",8201); + charMap.put("zwnj",8204); + charMap.put("zwj",8205); + charMap.put("lrm",8206); + charMap.put("rlm",8207); + charMap.put("ndash",8211); + charMap.put("mdash",8212); + charMap.put("lsquo",8216); + charMap.put("rsquo",8217); + charMap.put("sbquo",8218); + charMap.put("ldquo",8220); + charMap.put("rdquo",8221); + charMap.put("bdquo",8222); + charMap.put("dagger",8224); + charMap.put("Dagger",8225); + charMap.put("bull",8226); + charMap.put("hellip",8230); + charMap.put("permil",8240); + charMap.put("prime",8242); + charMap.put("Prime",8243); + charMap.put("lsaquo",8249); + charMap.put("rsaquo",8250); + charMap.put("oline",8254); + charMap.put("frasl",8260); + charMap.put("euro",8364); + charMap.put("image",8465); + charMap.put("weierp",8472); + charMap.put("real",8476); + charMap.put("trade",8482); + charMap.put("alefsym",8501); + charMap.put("larr",8592); + charMap.put("uarr",8593); + charMap.put("rarr",8594); + charMap.put("darr",8595); + charMap.put("harr",8596); + charMap.put("crarr",8629); + charMap.put("lArr",8656); + charMap.put("uArr",8657); + charMap.put("rArr",8658); + charMap.put("dArr",8659); + charMap.put("hArr",8660); + charMap.put("forall",8704); + charMap.put("part",8706); + charMap.put("exist",8707); + charMap.put("empty",8709); + charMap.put("nabla",8711); + charMap.put("isin",8712); + charMap.put("notin",8713); + charMap.put("ni",8715); + charMap.put("prod",8719); + charMap.put("sum",8721); + charMap.put("minus",8722); + charMap.put("lowast",8727); + charMap.put("radic",8730); + charMap.put("prop",8733); + charMap.put("infin",8734); + charMap.put("ang",8736); + charMap.put("and",8743); + charMap.put("or",8744); + charMap.put("cap",8745); + charMap.put("cup",8746); + charMap.put("int",8747); + charMap.put("there4",8756); + charMap.put("sim",8764); + charMap.put("cong",8773); + charMap.put("asymp",8776); + charMap.put("ne",8800); + charMap.put("equiv",8801); + charMap.put("le",8804); + charMap.put("ge",8805); + charMap.put("sub",8834); + charMap.put("sup",8835); + charMap.put("nsub",8836); + charMap.put("sube",8838); + charMap.put("supe",8839); + charMap.put("oplus",8853); + charMap.put("otimes",8855); + charMap.put("perp",8869); + charMap.put("sdot",8901); + charMap.put("lceil",8968); + charMap.put("rceil",8969); + charMap.put("lfloor",8970); + charMap.put("rfloor",8971); + charMap.put("lang",9001); + charMap.put("rang",9002); + charMap.put("loz",9674); + charMap.put("spades",9824); + charMap.put("clubs",9827); + charMap.put("hearts",9829); + charMap.put("diams",9830); + + for( Entry es: charMap.entrySet()) { + if(es.getValue()>=160); // save small space... note that no longer has amp, etc. + intMap.put(es.getValue(), es.getKey()); + } + } } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/env/RosettaDF.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/env/RosettaDF.java index 68baebb6..69926974 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/env/RosettaDF.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/env/RosettaDF.java @@ -56,210 +56,210 @@ import org.onap.aaf.misc.rosetta.ParseException; import org.onap.aaf.misc.rosetta.marshal.DocMarshal; public class RosettaDF extends BaseDataFactory implements DataFactory { - - static InJson inJSON = new InJson(); - InXML inXML; + + static InJson inJSON = new InJson(); + InXML inXML; - static OutJson outJSON = new OutJson(); - OutXML outXML; - static OutRaw outRAW = new OutRaw(); - - // Temporary until we write JAXB impl... - JAXBmar jaxMar; - JAXBumar jaxUmar; - - private Parse defaultIn; - private Out defaultOut; - private RosettaEnv env; - private TYPE inType; - private TYPE outType; - private int defOption; - Marshal marshal = null; - + static OutJson outJSON = new OutJson(); + OutXML outXML; + static OutRaw outRAW = new OutRaw(); + + // Temporary until we write JAXB impl... + JAXBmar jaxMar; + JAXBumar jaxUmar; + + private Parse defaultIn; + private Out defaultOut; + private RosettaEnv env; + private TYPE inType; + private TYPE outType; + private int defOption; + Marshal marshal = null; + - /** - * Private constructor to setup Type specific data manipulators - * @param schema - * @param rootNs - * @param cls - * @throws SecurityException - * @throws NoSuchFieldException - * @throws ClassNotFoundException - * @throws ParseException - * @throws JAXBException - */ - // package on purpose - RosettaDF(RosettaEnv env, Schema schema, String rootNs, Class cls) throws APIException { - this.env = env; - try { - // Note: rootNs can be null, in order to derive content from Class. - JaxInfo ji = rootNs==null?JaxInfo.build(cls):JaxInfo.build(cls,rootNs); - // Note: JAXBmar sets qname to null if not exists - jaxMar = new JAXBmar(rootNs==null?null:new QName("xmlns",rootNs),cls); - // Note: JAXBumar sets schema to null if not exists - jaxUmar = new JAXBumar(schema, cls); - - defaultIn = inXML = new InXML(ji); - defaultOut = outXML = new OutXML(ji); - inType=outType=Data.TYPE.XML; - defOption = 0; - } catch (Exception e) { - throw new APIException(e); - } - } - + /** + * Private constructor to setup Type specific data manipulators + * @param schema + * @param rootNs + * @param cls + * @throws SecurityException + * @throws NoSuchFieldException + * @throws ClassNotFoundException + * @throws ParseException + * @throws JAXBException + */ + // package on purpose + RosettaDF(RosettaEnv env, Schema schema, String rootNs, Class cls) throws APIException { + this.env = env; + try { + // Note: rootNs can be null, in order to derive content from Class. + JaxInfo ji = rootNs==null?JaxInfo.build(cls):JaxInfo.build(cls,rootNs); + // Note: JAXBmar sets qname to null if not exists + jaxMar = new JAXBmar(rootNs==null?null:new QName("xmlns",rootNs),cls); + // Note: JAXBumar sets schema to null if not exists + jaxUmar = new JAXBumar(schema, cls); + + defaultIn = inXML = new InXML(ji); + defaultOut = outXML = new OutXML(ji); + inType=outType=Data.TYPE.XML; + defOption = 0; + } catch (Exception e) { + throw new APIException(e); + } + } + - // @Override - public RosettaData newData() { - RosettaData data = new RosettaData(env, this) - .in(inType) - .out(outType) - .option(defOption); - return data; - } + // @Override + public RosettaData newData() { + RosettaData data = new RosettaData(env, this) + .in(inType) + .out(outType) + .option(defOption); + return data; + } - // @Override - public RosettaData newData(Env trans) { - RosettaData data = new RosettaData(trans, this) - .in(inType) - .out(outType) - .option(defOption); - return data; - } + // @Override + public RosettaData newData(Env trans) { + RosettaData data = new RosettaData(trans, this) + .in(inType) + .out(outType) + .option(defOption); + return data; + } - @SuppressWarnings("unchecked") - // @Override - public Class getTypeClass() { - return (Class)jaxMar.getMarshalClass(); - } + @SuppressWarnings("unchecked") + // @Override + public Class getTypeClass() { + return (Class)jaxMar.getMarshalClass(); + } - public RosettaDF in(Data.TYPE type) { - inType = type; - defaultIn=getIn(type==Data.TYPE.DEFAULT?Data.TYPE.JSON:type); - return this; - } + public RosettaDF in(Data.TYPE type) { + inType = type; + defaultIn=getIn(type==Data.TYPE.DEFAULT?Data.TYPE.JSON:type); + return this; + } - /** - * If exists, first option is "Pretty", second is "Fragment" - * - * @param options - * @return - */ - public RosettaDF out(Data.TYPE type) { - outType = type; - defaultOut = getOut(type==Data.TYPE.DEFAULT?Data.TYPE.JSON:type); - return this; - } - - public Parse getIn(Data.TYPE type) { - switch(type) { - case DEFAULT: - return defaultIn; - case JSON: - return inJSON; - case XML: - return inXML; - default: - return defaultIn; - } - } - - public Out getOut(Data.TYPE type) { - switch(type) { - case DEFAULT: - return defaultOut; - case JSON: - return outJSON; - case XML: - return outXML; - case RAW: - return outRAW; - default: - return defaultOut; - } - } - - public int logType(org.onap.aaf.misc.env.Data.TYPE ot) { - switch(ot) { - case JSON: - return Env.JSON; - default: - return Env.XML; - } - } + /** + * If exists, first option is "Pretty", second is "Fragment" + * + * @param options + * @return + */ + public RosettaDF out(Data.TYPE type) { + outType = type; + defaultOut = getOut(type==Data.TYPE.DEFAULT?Data.TYPE.JSON:type); + return this; + } + + public Parse getIn(Data.TYPE type) { + switch(type) { + case DEFAULT: + return defaultIn; + case JSON: + return inJSON; + case XML: + return inXML; + default: + return defaultIn; + } + } + + public Out getOut(Data.TYPE type) { + switch(type) { + case DEFAULT: + return defaultOut; + case JSON: + return outJSON; + case XML: + return outXML; + case RAW: + return outRAW; + default: + return defaultOut; + } + } + + public int logType(org.onap.aaf.misc.env.Data.TYPE ot) { + switch(ot) { + case JSON: + return Env.JSON; + default: + return Env.XML; + } + } - public RosettaEnv getEnv() { - return env; - } + public RosettaEnv getEnv() { + return env; + } - public Data.TYPE getInType() { - return inType; - } + public Data.TYPE getInType() { + return inType; + } - public Data.TYPE getOutType() { - return outType; - } + public Data.TYPE getOutType() { + return outType; + } - public RosettaDF option(int option) { - defOption = option; - - return this; - } + public RosettaDF option(int option) { + defOption = option; + + return this; + } - /** - * Assigning Root Marshal Object - * - * Will wrap with DocMarshal Object if not already - * - * @param marshal - * @return - */ - public RosettaDF rootMarshal(Marshal marshal) { - if(marshal instanceof DocMarshal) { - this.marshal = marshal; - } else { - this.marshal = DocMarshal.root(marshal); - } - return this; - } - - public void direct(Trans trans, T t, OutputStream os, boolean ... options) throws APIException, IOException { - Out out = getOut(outType); - TimeTaken tt = trans.start(out.logName(),logType(outType)); // determine from Out.. without dependency on Env? - try { - if(marshal==null) { // Unknown marshaller... do working XML marshal/extraction - StringWriter sw = new StringWriter(); - jaxMar.marshal(trans.debug(), t, sw, options); - out.extract(new StringReader(sw.toString()), new OutputStreamWriter(os), inXML,options); - } else { - out.extract(t, new OutputStreamWriter(os), marshal,options); - } - } catch (Exception e) { - throw new APIException(e); - } finally { - tt.done(); - } - } + /** + * Assigning Root Marshal Object + * + * Will wrap with DocMarshal Object if not already + * + * @param marshal + * @return + */ + public RosettaDF rootMarshal(Marshal marshal) { + if(marshal instanceof DocMarshal) { + this.marshal = marshal; + } else { + this.marshal = DocMarshal.root(marshal); + } + return this; + } + + public void direct(Trans trans, T t, OutputStream os, boolean ... options) throws APIException, IOException { + Out out = getOut(outType); + TimeTaken tt = trans.start(out.logName(),logType(outType)); // determine from Out.. without dependency on Env? + try { + if(marshal==null) { // Unknown marshaller... do working XML marshal/extraction + StringWriter sw = new StringWriter(); + jaxMar.marshal(trans.debug(), t, sw, options); + out.extract(new StringReader(sw.toString()), new OutputStreamWriter(os), inXML,options); + } else { + out.extract(t, new OutputStreamWriter(os), marshal,options); + } + } catch (Exception e) { + throw new APIException(e); + } finally { + tt.done(); + } + } - public void direct(Trans trans, T t, Writer writer, boolean ... options) throws APIException, IOException { - Out out = getOut(outType); - TimeTaken tt = trans.start(out.logName(),logType(outType)); // determine from Out.. without dependency on Env? - try { - if(marshal==null) { // Unknown marshaller... do working XML marshal/extraction - StringWriter sw = new StringWriter(); - jaxMar.marshal(trans.debug(), t, sw, options); - out.extract(new StringReader(sw.toString()), writer, inXML,options); - } else { - out.extract(t, writer, marshal,options); - } - } catch (Exception e) { - throw new APIException(e); - } finally { - tt.done(); - } - } + public void direct(Trans trans, T t, Writer writer, boolean ... options) throws APIException, IOException { + Out out = getOut(outType); + TimeTaken tt = trans.start(out.logName(),logType(outType)); // determine from Out.. without dependency on Env? + try { + if(marshal==null) { // Unknown marshaller... do working XML marshal/extraction + StringWriter sw = new StringWriter(); + jaxMar.marshal(trans.debug(), t, sw, options); + out.extract(new StringReader(sw.toString()), writer, inXML,options); + } else { + out.extract(t, writer, marshal,options); + } + } catch (Exception e) { + throw new APIException(e); + } finally { + tt.done(); + } + } } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/env/RosettaData.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/env/RosettaData.java index 446c3c9c..97f68dae 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/env/RosettaData.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/env/RosettaData.java @@ -40,273 +40,273 @@ import org.onap.aaf.misc.rosetta.Parse; import org.onap.aaf.misc.rosetta.Saved; public class RosettaData implements Data{ - private Env trans; - private RosettaDF df; - private Saved saved; - private TYPE inType, outType; - // Note: This is an array of boolean in order to pass into other methods - 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 rosettaDF) { - df = rosettaDF; - saved = new Saved(); // Note: Saved constructs storage as needed... - trans = env; - inType = df.getInType(); - outType = df.getOutType(); // take defaults - } + private Env trans; + private RosettaDF df; + private Saved saved; + private TYPE inType, outType; + // Note: This is an array of boolean in order to pass into other methods + 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 rosettaDF) { + df = rosettaDF; + saved = new Saved(); // Note: Saved constructs storage as needed... + trans = env; + inType = df.getInType(); + outType = df.getOutType(); // take defaults + } -// // @Override - public RosettaData in(TYPE rosettaType) { - inType = rosettaType; - return this; - } - -// // @Override - public RosettaData out(TYPE rosettaType) { - outType = rosettaType; - return this; - } +// // @Override + public RosettaData in(TYPE rosettaType) { + inType = rosettaType; + return this; + } + +// // @Override + public RosettaData out(TYPE rosettaType) { + outType = rosettaType; + return this; + } -// // @Override - public RosettaData load(Reader rdr) throws APIException { - Parse in = df.getIn(inType); - TimeTaken tt = in.start(trans); - try { - saved.extract(rdr, (Writer)null, in); - xml=json=null; - } catch (Exception e) { - throw new APIException(e); - } finally { - tt.done(); - } - return this; - } - - // @Override - public RosettaData load(InputStream is) throws APIException { - Parse in = df.getIn(inType); - TimeTaken tt = in.start(trans); - try { - saved.extract(new InputStreamReader(is), (Writer)null, in); - xml=json=null; - } catch (Exception e) { - throw new APIException(e); - } finally { - tt.done(); - } - return this; - } +// // @Override + public RosettaData load(Reader rdr) throws APIException { + Parse in = df.getIn(inType); + TimeTaken tt = in.start(trans); + try { + saved.extract(rdr, (Writer)null, in); + xml=json=null; + } catch (Exception e) { + throw new APIException(e); + } finally { + tt.done(); + } + return this; + } + + // @Override + public RosettaData load(InputStream is) throws APIException { + Parse in = df.getIn(inType); + TimeTaken tt = in.start(trans); + try { + saved.extract(new InputStreamReader(is), (Writer)null, in); + xml=json=null; + } catch (Exception e) { + throw new APIException(e); + } finally { + tt.done(); + } + return this; + } - // @Override - public RosettaData load(String str) throws APIException { - Parse in = df.getIn(inType); - TimeTaken tt = in.start(trans); - try { - saved.extract(new StringReader(str), (Writer)null, in); - switch(inType) { - case XML: - xml = str; - break; - case JSON: - json = str; - break; - default: - - } - } catch (Exception e) { - throw new APIException(e); - } finally { - tt.done(); - } - return this; - } + // @Override + public RosettaData load(String str) throws APIException { + Parse in = df.getIn(inType); + TimeTaken tt = in.start(trans); + try { + saved.extract(new StringReader(str), (Writer)null, in); + switch(inType) { + case XML: + xml = str; + break; + case JSON: + json = str; + break; + default: + + } + } catch (Exception e) { + throw new APIException(e); + } finally { + tt.done(); + } + return this; + } - // @Override - public RosettaData load(T t) throws APIException { - Parse in = df.getIn(inType); - TimeTaken tt = in.start(trans); - try { - 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); - } else { - saved.extract(t, (Writer)null, df.marshal); - } - } catch (Exception e) { - throw new APIException(e); - } finally { - tt.done(); - } - return this; - } + // @Override + public RosettaData load(T t) throws APIException { + Parse in = df.getIn(inType); + TimeTaken tt = in.start(trans); + try { + 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); + } else { + saved.extract(t, (Writer)null, df.marshal); + } + } catch (Exception e) { + throw new APIException(e); + } finally { + tt.done(); + } + return this; + } - public Saved getEvents() { - return saved; - } - - // @Override - public T asObject() throws APIException { - Out out = df.getOut(TYPE.XML); - TimeTaken tt = trans.start(out.logName(),df.logType(outType)); // determine from Out.. without dependency on Env? - try { - //TODO Replace JAXB with Direct Object method!!! - StringWriter sw = new StringWriter(); - out.extract(null, sw, saved); - return df.jaxUmar.unmarshal(trans.debug(), sw.toString()); - } catch (Exception e) { - throw new APIException(e); - } finally { - tt.done(); - } - } + public Saved getEvents() { + return saved; + } + + // @Override + public T asObject() throws APIException { + Out out = df.getOut(TYPE.XML); + TimeTaken tt = trans.start(out.logName(),df.logType(outType)); // determine from Out.. without dependency on Env? + try { + //TODO Replace JAXB with Direct Object method!!! + StringWriter sw = new StringWriter(); + out.extract(null, sw, saved); + return df.jaxUmar.unmarshal(trans.debug(), sw.toString()); + } catch (Exception e) { + throw new APIException(e); + } finally { + tt.done(); + } + } - // @Override - public String asString() throws APIException { - 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) { - StringWriter sw = new StringWriter(); - out.extract(null, sw, saved, options); - xml = sw.toString(); - } - return xml; - } else { // is JSON - if(json==null) { - StringWriter sw = new StringWriter(); - out.extract(null, sw, saved, options); - json = sw.toString(); - } - return json; - } - } catch (Exception e) { - throw new APIException(e); - } finally { - tt.done(); - } - } + // @Override + public String asString() throws APIException { + 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) { + StringWriter sw = new StringWriter(); + out.extract(null, sw, saved, options); + xml = sw.toString(); + } + return xml; + } else { // is JSON + if(json==null) { + StringWriter sw = new StringWriter(); + out.extract(null, sw, saved, options); + json = sw.toString(); + } + return json; + } + } catch (Exception e) { + throw new APIException(e); + } finally { + tt.done(); + } + } - // @Override - public RosettaData to(OutputStream os) throws APIException, IOException { - 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) { - os.write(xml.getBytes()); - } else if(outType==TYPE.JSON && json!=null) { - os.write(json.getBytes()); - } else { - out.extract(null, os, saved, options); - } - } catch (Exception e) { - throw new APIException(e); - } finally { - tt.done(); - } - return this; - } + // @Override + public RosettaData to(OutputStream os) throws APIException, IOException { + 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) { + os.write(xml.getBytes()); + } else if(outType==TYPE.JSON && json!=null) { + os.write(json.getBytes()); + } else { + out.extract(null, os, saved, options); + } + } catch (Exception e) { + throw new APIException(e); + } finally { + tt.done(); + } + return this; + } - // @Override - public RosettaData to(Writer writer) throws APIException, IOException { - 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) { - writer.append(xml); - } else if(outType==TYPE.JSON && json!=null) { - writer.append(json); - } else { - out.extract(null, writer, saved, options); - } - } catch (Exception e) { - throw new APIException(e); - } finally { - tt.done(); - } - return this; - } - - // @Override - public Class getTypeClass() { - return df.getTypeClass(); - } + // @Override + public RosettaData to(Writer writer) throws APIException, IOException { + 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) { + writer.append(xml); + } else if(outType==TYPE.JSON && json!=null) { + writer.append(json); + } else { + out.extract(null, writer, saved, options); + } + } catch (Exception e) { + throw new APIException(e); + } finally { + tt.done(); + } + return this; + } + + // @Override + public Class 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 in = df.getIn(inType); - Out out = df.getOut(outType); - TimeTaken tt = trans.start(out.logName(),df.logType(outType)); // determine from Out.. without dependency on Env? - try { - out.extract(reader, writer, in,options); - } catch (Exception e) { - throw new APIException(e); - } finally { - tt.done(); - } - } + 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 in = df.getIn(inType); + Out out = df.getOut(outType); + TimeTaken tt = trans.start(out.logName(),df.logType(outType)); // determine from Out.. without dependency on Env? + try { + out.extract(reader, writer, in,options); + } catch (Exception e) { + throw new APIException(e); + } finally { + tt.done(); + } + } - public void direct(T t, Writer writer, boolean ... options) throws APIException, IOException { - 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 - StringWriter sw = new StringWriter(); - df.jaxMar.marshal(trans.debug(), t, sw, options); - out.extract(new StringReader(xml = sw.toString()), writer, df.inXML,options); - } else { - out.extract(t, writer, df.marshal,options); - } - } catch (Exception e) { - throw new APIException(e); - } finally { - tt.done(); - } - } + public void direct(T t, Writer writer, boolean ... options) throws APIException, IOException { + 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 + StringWriter sw = new StringWriter(); + df.jaxMar.marshal(trans.debug(), t, sw, options); + out.extract(new StringReader(xml = sw.toString()), writer, df.inXML,options); + } else { + out.extract(t, writer, df.marshal,options); + } + } catch (Exception e) { + throw new APIException(e); + } finally { + tt.done(); + } + } - public void direct(T t, OutputStream os, boolean ... options) throws APIException, IOException { - 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)) { - df.jaxMar.marshal(trans.debug(), t, os, options); - } else { - StringWriter sw = new StringWriter(); - df.jaxMar.marshal(trans.debug(), t, sw, options); - out.extract(new StringReader(xml = sw.toString()), new OutputStreamWriter(os), df.inXML,options); - } - } else { - out.extract(t, new OutputStreamWriter(os), df.marshal,options); - } + public void direct(T t, OutputStream os, boolean ... options) throws APIException, IOException { + 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)) { + df.jaxMar.marshal(trans.debug(), t, os, options); + } else { + StringWriter sw = new StringWriter(); + df.jaxMar.marshal(trans.debug(), t, sw, options); + out.extract(new StringReader(xml = sw.toString()), new OutputStreamWriter(os), df.inXML,options); + } + } else { + out.extract(t, new OutputStreamWriter(os), df.marshal,options); + } - } catch (Exception e) { - throw new APIException(e); - } finally { - tt.done(); - } - } + } catch (Exception e) { + throw new APIException(e); + } finally { + tt.done(); + } + } - - public void direct(InputStream is, OutputStream os, boolean ... options) throws APIException, IOException { - direct(new InputStreamReader(is),new OutputStreamWriter(os), options); - } + + public void direct(InputStream is, OutputStream os, boolean ... options) throws APIException, IOException { + direct(new InputStreamReader(is),new OutputStreamWriter(os), options); + } - // // @Override - public RosettaData option(int option) { - options[0] = (option&Data.PRETTY)==Data.PRETTY; - options[1] = (option&Data.FRAGMENT)==Data.FRAGMENT; - return this; - } + // // @Override + public RosettaData option(int option) { + options[0] = (option&Data.PRETTY)==Data.PRETTY; + options[1] = (option&Data.FRAGMENT)==Data.FRAGMENT; + return this; + } } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/env/RosettaEnv.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/env/RosettaEnv.java index 05c75b7e..43855d6c 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/env/RosettaEnv.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/env/RosettaEnv.java @@ -39,51 +39,51 @@ import org.onap.aaf.misc.env.APIException; */ public class RosettaEnv extends org.onap.aaf.misc.env.impl.BasicEnv { - public RosettaEnv() { - super(); - } + public RosettaEnv() { + super(); + } - public RosettaEnv(Applet applet, String... tags) { - super(applet, tags); - } + public RosettaEnv(Applet applet, String... tags) { + super(applet, tags); + } - public RosettaEnv(String[] args) { - super(args); - } + public RosettaEnv(String[] args) { + super(args); + } - public RosettaEnv(String tag, String[] args) { - super(tag, args); - } + public RosettaEnv(String tag, String[] args) { + super(tag, args); + } - public RosettaEnv(String tag, Properties props) { - super(tag, props); - } + public RosettaEnv(String tag, Properties props) { + super(tag, props); + } - public RosettaEnv(Properties props) { - super(props); - } - - @SuppressWarnings("unchecked") - @Override - public RosettaDF newDataFactory(Class... classes) throws APIException { - return new RosettaDF(this, null, null, (Class)classes[0]); - } + public RosettaEnv(Properties props) { + super(props); + } + + @SuppressWarnings("unchecked") + @Override + public RosettaDF newDataFactory(Class... classes) throws APIException { + return new RosettaDF(this, null, null, (Class)classes[0]); + } - @SuppressWarnings("unchecked") - @Override - public RosettaDF newDataFactory(Schema schema, Class... classes) throws APIException { - return new RosettaDF(this, schema, null, (Class)classes[0]); - } + @SuppressWarnings("unchecked") + @Override + public RosettaDF newDataFactory(Schema schema, Class... classes) throws APIException { + return new RosettaDF(this, schema, null, (Class)classes[0]); + } - @SuppressWarnings("unchecked") - @Override - public RosettaDF newDataFactory(QName qName, Class ... classes) throws APIException { - return new RosettaDF(this, null, qName.getNamespaceURI(),(Class)classes[0]); - } + @SuppressWarnings("unchecked") + @Override + public RosettaDF newDataFactory(QName qName, Class ... classes) throws APIException { + return new RosettaDF(this, null, qName.getNamespaceURI(),(Class)classes[0]); + } - @SuppressWarnings("unchecked") - @Override - public RosettaDF newDataFactory(Schema schema, QName qName, Class ... classes) throws APIException { - return new RosettaDF(this, schema,qName.getNamespaceURI(),(Class)classes[0]); - } + @SuppressWarnings("unchecked") + @Override + public RosettaDF newDataFactory(Schema schema, QName qName, Class ... classes) throws APIException { + return new RosettaDF(this, schema,qName.getNamespaceURI(),(Class)classes[0]); + } } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/DataWriter.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/DataWriter.java index 1655928d..849a3214 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/DataWriter.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/DataWriter.java @@ -34,106 +34,106 @@ import org.onap.aaf.misc.env.util.Chrono; * @param */ public abstract class DataWriter { - public abstract boolean write(T t, StringBuilder sb); - - public final static DataWriter STRING = new DataWriter() { - @Override - public boolean write(String s, StringBuilder sb) { - sb.append(s); - return true; - } - }; - - public final static DataWriter INTEGER = new DataWriter() { - @Override - public boolean write(Integer i, StringBuilder sb) { - sb.append(i); - return false; - } - }; - - public final static DataWriter LONG = new DataWriter() { - @Override - public boolean write(Long t, StringBuilder sb) { - sb.append(t); - return false; - } - }; + public abstract boolean write(T t, StringBuilder sb); + + public final static DataWriter STRING = new DataWriter() { + @Override + public boolean write(String s, StringBuilder sb) { + sb.append(s); + return true; + } + }; + + public final static DataWriter INTEGER = new DataWriter() { + @Override + public boolean write(Integer i, StringBuilder sb) { + sb.append(i); + return false; + } + }; + + public final static DataWriter LONG = new DataWriter() { + @Override + public boolean write(Long t, StringBuilder sb) { + sb.append(t); + return false; + } + }; - public final static DataWriter BYTE = new DataWriter() { - @Override - public boolean write(Byte t, StringBuilder sb) { - sb.append(t); - return false; - } - }; + public final static DataWriter BYTE = new DataWriter() { + @Override + public boolean write(Byte t, StringBuilder sb) { + sb.append(t); + return false; + } + }; - public final static DataWriter CHAR = new DataWriter() { - @Override - public boolean write(Character t, StringBuilder sb) { - sb.append(t); - return true; - } - }; + public final static DataWriter CHAR = new DataWriter() { + @Override + public boolean write(Character t, StringBuilder sb) { + sb.append(t); + return true; + } + }; - public final static DataWriter BOOL = new DataWriter() { - @Override - public boolean write(Boolean t, StringBuilder sb) { - sb.append(t); - return true; - } - }; + public final static DataWriter BOOL = new DataWriter() { + @Override + public boolean write(Boolean t, StringBuilder sb) { + sb.append(t); + return true; + } + }; - /* - public final static DataWriter BYTE_ARRAY = new DataWriter() { - @Override - public boolean write(byte[] ba, StringBuilder sb) { - ByteArrayInputStream bais = new ByteArrayInputStream(ba); - StringBuilderOutputStream sbos = new StringBuilderOutputStream(sb); -// try { - //TODO find Base64 -// Symm.base64noSplit().encode(bais, sbos); -// } catch (IOException e) { -// // leave blank -// } - return true; - } - - }; - */ + /* + public final static DataWriter BYTE_ARRAY = new DataWriter() { + @Override + public boolean write(byte[] ba, StringBuilder sb) { + ByteArrayInputStream bais = new ByteArrayInputStream(ba); + StringBuilderOutputStream sbos = new StringBuilderOutputStream(sb); +// try { + //TODO find Base64 +// Symm.base64noSplit().encode(bais, sbos); +// } catch (IOException e) { +// // leave blank +// } + return true; + } + + }; + */ - public final static DataWriter DATE = new DataWriter() { - @Override - public boolean write(XMLGregorianCalendar t, StringBuilder sb) { - sb.append(Chrono.dateOnlyStamp(t)); - return true; - } - }; - - public final static DataWriter DATE_TIME = new DataWriter() { - @Override - public boolean write(XMLGregorianCalendar t, StringBuilder sb) { - sb.append(Chrono.dateTime(t)); - return true; - } - }; + public final static DataWriter DATE = new DataWriter() { + @Override + public boolean write(XMLGregorianCalendar t, StringBuilder sb) { + sb.append(Chrono.dateOnlyStamp(t)); + return true; + } + }; + + public final static DataWriter DATE_TIME = new DataWriter() { + @Override + public boolean write(XMLGregorianCalendar t, StringBuilder sb) { + sb.append(Chrono.dateTime(t)); + return true; + } + }; - private static final char[] chars="0123456789ABCDEF".toCharArray(); - public final static DataWriter HEX_BINARY = new DataWriter() { - @Override - public boolean write(byte[] ba, StringBuilder sb) { - // FYI, doing this because don't want intermediate - // String in "HexString" or the processing in - // "String.format" - //sb.append("0x"); - for(int i=0;i>4)]); - sb.append(chars[b&0xF]); - } - return true; - } - }; + private static final char[] chars="0123456789ABCDEF".toCharArray(); + public final static DataWriter HEX_BINARY = new DataWriter() { + @Override + public boolean write(byte[] ba, StringBuilder sb) { + // FYI, doing this because don't want intermediate + // String in "HexString" or the processing in + // "String.format" + //sb.append("0x"); + for(int i=0;i>4)]); + sb.append(chars[b&0xF]); + } + return true; + } + }; } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/DocMarshal.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/DocMarshal.java index 2776546f..6cabe068 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/DocMarshal.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/DocMarshal.java @@ -30,57 +30,57 @@ import org.onap.aaf.misc.rosetta.ParseException; import org.onap.aaf.misc.rosetta.Parsed; public class DocMarshal extends Marshal { - private Marshal root; - - public DocMarshal(Marshal root) { - this.root = root; - } - - @Override - public Parsed parse(T t, Parsed parsed) throws ParseException { - Ladder> ladder = parsed.state.ladder; - Iterator iter = ladder.peek(); - if(iter==null) { - ladder.push(PENDING_ITERATOR); - parsed.event = START_DOC; - } else if (DONE_ITERATOR.equals(iter)) { - } else { - ladder.ascend(); // look at field info - Iterator currFieldIter = ladder.peek(); - if(!DONE_ITERATOR.equals(currFieldIter)){ - parsed = root.parse(t, parsed); - } - ladder.descend(); - if(DONE_ITERATOR.equals(currFieldIter) || parsed.event==NONE) { - parsed.event = END_DOC; - ladder.push(DONE_ITERATOR); - } - } - return parsed; // if unchanged, then it will end process + private Marshal root; + + public DocMarshal(Marshal root) { + this.root = root; + } + + @Override + public Parsed parse(T t, Parsed parsed) throws ParseException { + Ladder> ladder = parsed.state.ladder; + Iterator iter = ladder.peek(); + if(iter==null) { + ladder.push(PENDING_ITERATOR); + parsed.event = START_DOC; + } else if (DONE_ITERATOR.equals(iter)) { + } else { + ladder.ascend(); // look at field info + Iterator currFieldIter = ladder.peek(); + if(!DONE_ITERATOR.equals(currFieldIter)){ + parsed = root.parse(t, parsed); + } + ladder.descend(); + if(DONE_ITERATOR.equals(currFieldIter) || parsed.event==NONE) { + parsed.event = END_DOC; + ladder.push(DONE_ITERATOR); + } + } + return parsed; // if unchanged, then it will end process - } + } - public static final Iterator PENDING_ITERATOR = new Iterator() { - @Override - public boolean hasNext() { - return false; - } + public static final Iterator PENDING_ITERATOR = new Iterator() { + @Override + public boolean hasNext() { + return false; + } - @Override - public Void next() { - if(!hasNext()) { - throw new NoSuchElementException(); - } - return null; - } + @Override + public Void next() { + if(!hasNext()) { + throw new NoSuchElementException(); + } + return null; + } - @Override - public void remove() { - } - }; + @Override + public void remove() { + } + }; - public static DocMarshal root(Marshal m) { - return (DocMarshal)new DocMarshal(m); - } + public static DocMarshal root(Marshal m) { + return (DocMarshal)new DocMarshal(m); + } } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldArray.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldArray.java index 3006f897..48f3608d 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldArray.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldArray.java @@ -31,62 +31,62 @@ import org.onap.aaf.misc.rosetta.Parsed; public abstract class FieldArray extends Marshal { - private DataWriter dataWriter; - private String name; + private DataWriter dataWriter; + private String name; - public FieldArray(String name, DataWriter dw) { - this.name = name; - dataWriter = dw; - } - - @SuppressWarnings("unchecked") - @Override - public Parsed parse(T t, Parsed parsed) throws ParseException { - Ladder> ladder = parsed.state.ladder; - Iterator iter = ladder.peek(); - if(iter==null) { - List list = data(t); - if(list.isEmpty() && parsed.state.smallest) { - ladder.push(DONE_ITERATOR); - } else { - ladder.push(new ListIterator(list)); - parsed.event = START_ARRAY; - parsed.name = name; - } - } else if (DONE_ITERATOR.equals(iter)) { - } else { - ladder.ascend(); // look at field info - Iterator memIter = ladder.peek(); - ListIterator mems = (ListIterator)iter; - S mem; - if(memIter==null) { - mem=mems.next(); - } else if(!DONE_ITERATOR.equals(memIter)) { - mem=mems.peek(); - } else if(iter.hasNext()) { - mem=null; - ladder.push(null); - } else { - mem=null; - } - - if(mem!=null) { - parsed.isString=dataWriter.write(mem, parsed.sb); - parsed.event = NEXT; - } - ladder.descend(); - if(mem==null) { - if(iter.hasNext()) { - parsed.event = NEXT; - } else { - parsed.event = END_ARRAY; - ladder.push(DONE_ITERATOR); - } - } - } - return parsed; // if unchanged, then it will end process - } + public FieldArray(String name, DataWriter dw) { + this.name = name; + dataWriter = dw; + } + + @SuppressWarnings("unchecked") + @Override + public Parsed parse(T t, Parsed parsed) throws ParseException { + Ladder> ladder = parsed.state.ladder; + Iterator iter = ladder.peek(); + if(iter==null) { + List list = data(t); + if(list.isEmpty() && parsed.state.smallest) { + ladder.push(DONE_ITERATOR); + } else { + ladder.push(new ListIterator(list)); + parsed.event = START_ARRAY; + parsed.name = name; + } + } else if (DONE_ITERATOR.equals(iter)) { + } else { + ladder.ascend(); // look at field info + Iterator memIter = ladder.peek(); + ListIterator mems = (ListIterator)iter; + S mem; + if(memIter==null) { + mem=mems.next(); + } else if(!DONE_ITERATOR.equals(memIter)) { + mem=mems.peek(); + } else if(iter.hasNext()) { + mem=null; + ladder.push(null); + } else { + mem=null; + } + + if(mem!=null) { + parsed.isString=dataWriter.write(mem, parsed.sb); + parsed.event = NEXT; + } + ladder.descend(); + if(mem==null) { + if(iter.hasNext()) { + parsed.event = NEXT; + } else { + parsed.event = END_ARRAY; + ladder.push(DONE_ITERATOR); + } + } + } + return parsed; // if unchanged, then it will end process + } - protected abstract List data(T t); + protected abstract List data(T t); } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldBlob.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldBlob.java index 1de14e82..34fa5dd6 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldBlob.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldBlob.java @@ -22,17 +22,17 @@ package org.onap.aaf.misc.rosetta.marshal; public abstract class FieldBlob extends FieldMarshal{ - public FieldBlob(String name) { - super(name); - } + public FieldBlob(String name) { + super(name); + } - protected abstract byte[] data(T t); + protected abstract byte[] data(T t); - @Override - protected boolean data(T t, StringBuilder sb) { - return false; - // unimplemented - //return DataWriter.BYTE_ARRAY.write(data(t),sb); - } + @Override + protected boolean data(T t, StringBuilder sb) { + return false; + // unimplemented + //return DataWriter.BYTE_ARRAY.write(data(t),sb); + } } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldDate.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldDate.java index b3632a14..2418d7af 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldDate.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldDate.java @@ -24,14 +24,14 @@ package org.onap.aaf.misc.rosetta.marshal; import javax.xml.datatype.XMLGregorianCalendar; public abstract class FieldDate extends FieldMarshal { - public FieldDate(String name) { - super(name); - } + public FieldDate(String name) { + super(name); + } - @Override - final protected boolean data(T t, StringBuilder sb) { - return DataWriter.DATE.write(data(t), sb); - } + @Override + final protected boolean data(T t, StringBuilder sb) { + return DataWriter.DATE.write(data(t), sb); + } - protected abstract XMLGregorianCalendar data(T t); + protected abstract XMLGregorianCalendar data(T t); } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldDateTime.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldDateTime.java index 8aa29829..ae125617 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldDateTime.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldDateTime.java @@ -24,14 +24,14 @@ package org.onap.aaf.misc.rosetta.marshal; import javax.xml.datatype.XMLGregorianCalendar; public abstract class FieldDateTime extends FieldMarshal { - public FieldDateTime(String name) { - super(name); - } + public FieldDateTime(String name) { + super(name); + } - @Override - final protected boolean data(T t, StringBuilder sb) { - return DataWriter.DATE_TIME.write(data(t), sb); - } + @Override + final protected boolean data(T t, StringBuilder sb) { + return DataWriter.DATE_TIME.write(data(t), sb); + } - protected abstract XMLGregorianCalendar data(T t); + protected abstract XMLGregorianCalendar data(T t); } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldHexBinary.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldHexBinary.java index 589d0920..fa9e6323 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldHexBinary.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldHexBinary.java @@ -22,14 +22,14 @@ package org.onap.aaf.misc.rosetta.marshal; public abstract class FieldHexBinary extends FieldMarshal{ - public FieldHexBinary(String name) { - super(name); - } + public FieldHexBinary(String name) { + super(name); + } - protected abstract byte[] data(T t); + protected abstract byte[] data(T t); - @Override - protected boolean data(T t, StringBuilder sb) { - return DataWriter.HEX_BINARY.write(data(t), sb); - } + @Override + protected boolean data(T t, StringBuilder sb) { + return DataWriter.HEX_BINARY.write(data(t), sb); + } } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldMarshal.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldMarshal.java index cb8b6557..2e77618b 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldMarshal.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldMarshal.java @@ -27,33 +27,33 @@ import org.onap.aaf.misc.rosetta.Parse; import org.onap.aaf.misc.rosetta.Parsed; public abstract class FieldMarshal extends Marshal { - private String name; + private String name; - public FieldMarshal(String name) { - this.name = name; - } - - public String getName() { - return name; - } - - @Override - public Parsed parse(T t, Parsed parsed) { - parsed.state.ladder.push(DONE_ITERATOR); - parsed.event = Parse.NEXT; - parsed.name = name; - parsed.isString = data(t,parsed.sb); - return parsed; - } + public FieldMarshal(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + @Override + public Parsed parse(T t, Parsed parsed) { + parsed.state.ladder.push(DONE_ITERATOR); + parsed.event = Parse.NEXT; + parsed.name = name; + parsed.isString = data(t,parsed.sb); + return parsed; + } - /** - * Write Value to StringBuilder - * Return true if value looks like a String - * false if it is Numeric - * @param t - * @param sb - * @return - */ - protected abstract boolean data(T t, StringBuilder sb); - + /** + * Write Value to StringBuilder + * Return true if value looks like a String + * false if it is Numeric + * @param t + * @param sb + * @return + */ + protected abstract boolean data(T t, StringBuilder sb); + } \ No newline at end of file diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldNumeric.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldNumeric.java index aac9ac69..0a5c28ad 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldNumeric.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldNumeric.java @@ -22,15 +22,15 @@ package org.onap.aaf.misc.rosetta.marshal; public abstract class FieldNumeric extends FieldMarshal { - public FieldNumeric(String name) { - super(name); - } + public FieldNumeric(String name) { + super(name); + } - @Override - final protected boolean data(T t, StringBuilder sb) { - sb.append(data(t)); - return false; - } + @Override + final protected boolean data(T t, StringBuilder sb) { + sb.append(data(t)); + return false; + } - protected abstract N data(T t); + protected abstract N data(T t); } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldString.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldString.java index 2337c3c9..e96b6967 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldString.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/FieldString.java @@ -22,15 +22,15 @@ package org.onap.aaf.misc.rosetta.marshal; public abstract class FieldString extends FieldMarshal { - public FieldString(String name) { - super(name); - } + public FieldString(String name) { + super(name); + } - protected abstract String data(T t); + protected abstract String data(T t); - @Override - final protected boolean data(T t, StringBuilder sb) { - return DataWriter.STRING.write(data(t), sb); - } + @Override + final protected boolean data(T t, StringBuilder sb) { + return DataWriter.STRING.write(data(t), sb); + } } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/ListIterator.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/ListIterator.java index 6045141d..ed8b98c4 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/ListIterator.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/ListIterator.java @@ -31,29 +31,29 @@ import java.util.List; * @param */ final class ListIterator implements Iterator { - private T curr; - private Iterator delg; - public ListIterator(List list) { - curr = null; - delg = list.iterator(); - } - @Override - public boolean hasNext() { - return delg.hasNext(); - } + private T curr; + private Iterator delg; + public ListIterator(List list) { + curr = null; + delg = list.iterator(); + } + @Override + public boolean hasNext() { + return delg.hasNext(); + } - @Override - public T next() { - return curr = delg.hasNext()?delg.next():null; - } - - public T peek() { - return curr==null?next():curr; - } + @Override + public T next() { + return curr = delg.hasNext()?delg.next():null; + } + + public T peek() { + return curr==null?next():curr; + } - @Override - public void remove() { - delg.remove(); - } - + @Override + public void remove() { + delg.remove(); + } + } \ No newline at end of file diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/ObjArray.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/ObjArray.java index fa95dee5..384e0c98 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/ObjArray.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/ObjArray.java @@ -31,59 +31,59 @@ import org.onap.aaf.misc.rosetta.Parsed; public abstract class ObjArray extends Marshal { - private String name; - private Marshal subMarshaller; + private String name; + private Marshal subMarshaller; - public ObjArray(String name, Marshal subMarshaller) { - this.name = name; - this.subMarshaller = subMarshaller; - } + public ObjArray(String name, Marshal subMarshaller) { + this.name = name; + this.subMarshaller = subMarshaller; + } - @SuppressWarnings("unchecked") - @Override - public Parsed parse(T t, Parsed parsed) throws ParseException { - Ladder> ladder = parsed.state.ladder; - Iterator iter = ladder.peek(); - if(iter==null) { - List list = data(t); - if(list.isEmpty() && parsed.state.smallest) { - ladder.push(DONE_ITERATOR); - } else { - ladder.push(new ListIterator(list)); - parsed.event = START_ARRAY; - parsed.name = name; - } - } else if (!DONE_ITERATOR.equals(iter)) { - ladder.ascend(); // look at field info - Iterator memIter = ladder.peek(); - ListIterator mems = (ListIterator)iter; - S mem; - if(memIter==null) { - mem=mems.next(); - } else if(!DONE_ITERATOR.equals(memIter)) { - mem=mems.peek(); - } else if(iter.hasNext()) { - mem=null; - ladder.push(null); - } else { - mem=null; - } + @SuppressWarnings("unchecked") + @Override + public Parsed parse(T t, Parsed parsed) throws ParseException { + Ladder> ladder = parsed.state.ladder; + Iterator iter = ladder.peek(); + if(iter==null) { + List list = data(t); + if(list.isEmpty() && parsed.state.smallest) { + ladder.push(DONE_ITERATOR); + } else { + ladder.push(new ListIterator(list)); + parsed.event = START_ARRAY; + parsed.name = name; + } + } else if (!DONE_ITERATOR.equals(iter)) { + ladder.ascend(); // look at field info + Iterator memIter = ladder.peek(); + ListIterator mems = (ListIterator)iter; + S mem; + if(memIter==null) { + mem=mems.next(); + } else if(!DONE_ITERATOR.equals(memIter)) { + mem=mems.peek(); + } else if(iter.hasNext()) { + mem=null; + ladder.push(null); + } else { + mem=null; + } - if(mem!=null) - parsed = subMarshaller.parse(mem, parsed); - ladder.descend(); - if(mem==null) { - if(iter.hasNext()) { - parsed.event = NEXT; - } else { - parsed.event = END_ARRAY; - ladder.push(DONE_ITERATOR); - } - } - } - return parsed; // if unchanged, then it will end process - } + if(mem!=null) + parsed = subMarshaller.parse(mem, parsed); + ladder.descend(); + if(mem==null) { + if(iter.hasNext()) { + parsed.event = NEXT; + } else { + parsed.event = END_ARRAY; + ladder.push(DONE_ITERATOR); + } + } + } + return parsed; // if unchanged, then it will end process + } - protected abstract List data(T t); + protected abstract List data(T t); } diff --git a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/ObjMarshal.java b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/ObjMarshal.java index cb2c478a..31e214b5 100644 --- a/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/ObjMarshal.java +++ b/misc/rosetta/src/main/java/org/onap/aaf/misc/rosetta/marshal/ObjMarshal.java @@ -38,94 +38,94 @@ import org.onap.aaf.misc.rosetta.Parsed; * @param */ public abstract class ObjMarshal extends Marshal { - // Note: Not Using List or ArrayList, because there is no "Peek" concept in their iterator. - private Marshal[] pml; - private int end=0; - - /** - * @param pm - */ - @SuppressWarnings("unchecked") - protected void add(Marshal pm) { - if(pml==null) { - pml = new Marshal[Ladder.DEFAULT_INIT_SIZE]; - } else if(end>pml.length) { - Object temp[] = pml; - pml = new Marshal[pml.length+Ladder.DEFAULT_INIT_SIZE]; - System.arraycopy(temp, 0, pml, 0, pml.length); - } - pml[end]=pm; - ++end; - } - - /* (non-Javadoc) - * @see org.onap.aaf.misc.rosetta.Parse#parse(java.lang.Object, org.onap.aaf.misc.rosetta.Parsed) - */ - @SuppressWarnings("unchecked") - @Override - public Parsed parse(T in, Parsed parsed) throws ParseException { - Ladder> ladder = parsed.state.ladder; - Iterator> iter = (Iterator>)ladder.peek(); - if(iter==null) { - if(pml.length>0) { - ladder.push(new FieldsIterator()); - parsed.event = START_OBJ; - } else { - ladder.push(DONE_ITERATOR); - } - } else if (!DONE_ITERATOR.equals(iter)) { - FieldsIterator fields = (FieldsIterator)iter; - ladder.ascend(); // look at field info - Iterator currFieldIter = ladder.peek(); - Marshal marshal; - if(currFieldIter==null) { - marshal=fields.next(); - } else if(!DONE_ITERATOR.equals(currFieldIter)) { - marshal=fields.peek(); - if(marshal==null && fields.hasNext())marshal=fields.next(); - } else if(fields.hasNext()) { - marshal=fields.next(); - ladder.push(null); - } else { - marshal=null; - } + // Note: Not Using List or ArrayList, because there is no "Peek" concept in their iterator. + private Marshal[] pml; + private int end=0; + + /** + * @param pm + */ + @SuppressWarnings("unchecked") + protected void add(Marshal pm) { + if(pml==null) { + pml = new Marshal[Ladder.DEFAULT_INIT_SIZE]; + } else if(end>pml.length) { + Object temp[] = pml; + pml = new Marshal[pml.length+Ladder.DEFAULT_INIT_SIZE]; + System.arraycopy(temp, 0, pml, 0, pml.length); + } + pml[end]=pm; + ++end; + } + + /* (non-Javadoc) + * @see org.onap.aaf.misc.rosetta.Parse#parse(java.lang.Object, org.onap.aaf.misc.rosetta.Parsed) + */ + @SuppressWarnings("unchecked") + @Override + public Parsed parse(T in, Parsed parsed) throws ParseException { + Ladder> ladder = parsed.state.ladder; + Iterator> iter = (Iterator>)ladder.peek(); + if(iter==null) { + if(pml.length>0) { + ladder.push(new FieldsIterator()); + parsed.event = START_OBJ; + } else { + ladder.push(DONE_ITERATOR); + } + } else if (!DONE_ITERATOR.equals(iter)) { + FieldsIterator fields = (FieldsIterator)iter; + ladder.ascend(); // look at field info + Iterator currFieldIter = ladder.peek(); + Marshal marshal; + if(currFieldIter==null) { + marshal=fields.next(); + } else if(!DONE_ITERATOR.equals(currFieldIter)) { + marshal=fields.peek(); + if(marshal==null && fields.hasNext())marshal=fields.next(); + } else if(fields.hasNext()) { + marshal=fields.next(); + ladder.push(null); + } else { + marshal=null; + } - if(marshal!=null) - parsed = marshal.parse(in, parsed); - ladder.descend(); - if(marshal==null || parsed.event==NONE) { - parsed.event = END_OBJ; - ladder.push(DONE_ITERATOR); - } - } - return parsed; // if unchanged, then it will end process - } + if(marshal!=null) + parsed = marshal.parse(in, parsed); + ladder.descend(); + if(marshal==null || parsed.event==NONE) { + parsed.event = END_OBJ; + ladder.push(DONE_ITERATOR); + } + } + return parsed; // if unchanged, then it will end process + } - private class FieldsIterator implements Iterator> { - private int idx = -1; + private class FieldsIterator implements Iterator> { + private int idx = -1; - @Override - public boolean hasNext() { - return idx next() { - if(!hasNext()) { - throw new NoSuchElementException(); - } - return pml[++idx]; - } + @Override + public Marshal next() { + if(!hasNext()) { + throw new NoSuchElementException(); + } + return pml[++idx]; + } - public Marshal peek() { - return idx<0?null:pml[idx]; - } - - @Override - public void remove() { - pml[idx]=null; - } - - } + public Marshal peek() { + return idx<0?null:pml[idx]; + } + + @Override + public void remove() { + pml[idx]=null; + } + + } } diff --git a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_FromJSON.java b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_FromJSON.java index 121deea0..3e12f594 100644 --- a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_FromJSON.java +++ b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_FromJSON.java @@ -44,225 +44,225 @@ import s.xsd.LargerData; import s.xsd.SampleData; public class JU_FromJSON { - private static int ITERATIONS = 10000; - static String str = "{\"SampleData\":[" + - "{\"id\":\"sd object \\\"1\\\"\",\"date\":1316084944213,\"item\":[\"Item 1.1\",\"Item 1.2\"]}," + - "{\"id\":\"sd object \\\"2\\\"\",\"date\":1316084945343,\"item\":[\"Item 2.1\",\"Item 2.2\"]}],\"fluff\":\"MyFluff\"}"; - InJson inJSON = new InJson(); + private static int ITERATIONS = 10000; + static String str = "{\"SampleData\":[" + + "{\"id\":\"sd object \\\"1\\\"\",\"date\":1316084944213,\"item\":[\"Item 1.1\",\"Item 1.2\"]}," + + "{\"id\":\"sd object \\\"2\\\"\",\"date\":1316084945343,\"item\":[\"Item 2.1\",\"Item 2.2\"]}],\"fluff\":\"MyFluff\"}"; + InJson inJSON = new InJson(); - @Test - public void rawParse() throws Exception { - System.out.println("*** PARSE JSON -> RAW Dump ***"); - System.out.println(str); - StringBuilderWriter sbw = new StringBuilderWriter(); - new OutRaw().extract(new StringReader(str),sbw,inJSON); - System.out.println(sbw.getBuffer()); - } - - @Test - public void parseJSON2Dump() throws Exception { - System.out.println("*** PARSE JSON -> Dump ***"); - System.out.println(str); - StringBuilderWriter sbw = new StringBuilderWriter(1024); - - new OutDump().extract(new StringReader(str), sbw, inJSON); - - System.out.println(sbw.getBuffer()); - } - - @Test - public void nonprettyJSON() throws Exception { - System.out.println("*** JSON -> (Intermediate Stream) -> Non-pretty JSON ***"); - System.out.println(str); - StringBuilderWriter sbw = new StringBuilderWriter(1024); + @Test + public void rawParse() throws Exception { + System.out.println("*** PARSE JSON -> RAW Dump ***"); + System.out.println(str); + StringBuilderWriter sbw = new StringBuilderWriter(); + new OutRaw().extract(new StringReader(str),sbw,inJSON); + System.out.println(sbw.getBuffer()); + } + + @Test + public void parseJSON2Dump() throws Exception { + System.out.println("*** PARSE JSON -> Dump ***"); + System.out.println(str); + StringBuilderWriter sbw = new StringBuilderWriter(1024); + + new OutDump().extract(new StringReader(str), sbw, inJSON); + + System.out.println(sbw.getBuffer()); + } + + @Test + public void nonprettyJSON() throws Exception { + System.out.println("*** JSON -> (Intermediate Stream) -> Non-pretty JSON ***"); + System.out.println(str); + StringBuilderWriter sbw = new StringBuilderWriter(1024); - Out jout = new OutJson(); - Trans trans; - Report report = new Report(ITERATIONS,"JSON"); - do { - sbw.reset(); - trans = EnvFactory.newTrans(); - Reader sr = new StringReader(str); - TimeTaken tt = trans.start("Parse JSON", Env.JSON); - try { - jout.extract(sr, sbw, inJSON); - } finally { - tt.done(); - } - report.glean(trans,Env.JSON); - } while(report.go()); - - String result = sbw.toString(); - System.out.println(result); - Assert.assertEquals(result, str); - report.report(sbw); - System.out.println(sbw.toString()); - } - - @Test - public void parseJSON2JSON() throws Exception { - System.out.println("*** JSON -> (Intermediate Stream) -> Pretty JSON ***"); - System.out.println(str); + Out jout = new OutJson(); + Trans trans; + Report report = new Report(ITERATIONS,"JSON"); + do { + sbw.reset(); + trans = EnvFactory.newTrans(); + Reader sr = new StringReader(str); + TimeTaken tt = trans.start("Parse JSON", Env.JSON); + try { + jout.extract(sr, sbw, inJSON); + } finally { + tt.done(); + } + report.glean(trans,Env.JSON); + } while(report.go()); + + String result = sbw.toString(); + System.out.println(result); + Assert.assertEquals(result, str); + report.report(sbw); + System.out.println(sbw.toString()); + } + + @Test + public void parseJSON2JSON() throws Exception { + System.out.println("*** JSON -> (Intermediate Stream) -> Pretty JSON ***"); + System.out.println(str); - StringBuilderWriter sbw = new StringBuilderWriter(1024); - - Out jout = new OutJson(); - Trans trans; - Report report = new Report(ITERATIONS,"JSON"); - do { - sbw.reset(); - trans = EnvFactory.newTrans(); - Reader sr = new StringReader(str); - TimeTaken tt = trans.start("Parse JSON", Env.JSON); - try { - jout.extract(sr, sbw, inJSON,true); - } finally { - tt.done(); - } - report.glean(trans,Env.JSON); - } while(report.go()); - - report.report(sbw); - System.out.println(sbw.toString()); - } + StringBuilderWriter sbw = new StringBuilderWriter(1024); + + Out jout = new OutJson(); + Trans trans; + Report report = new Report(ITERATIONS,"JSON"); + do { + sbw.reset(); + trans = EnvFactory.newTrans(); + Reader sr = new StringReader(str); + TimeTaken tt = trans.start("Parse JSON", Env.JSON); + try { + jout.extract(sr, sbw, inJSON,true); + } finally { + tt.done(); + } + report.glean(trans,Env.JSON); + } while(report.go()); + + report.report(sbw); + System.out.println(sbw.toString()); + } - @Test - public void parseJSON2XML() throws Exception { - System.out.println("*** PARSE JSON -> XML ***"); - System.out.println(str); + @Test + public void parseJSON2XML() throws Exception { + System.out.println("*** PARSE JSON -> XML ***"); + System.out.println(str); - StringBuilderWriter sbw = new StringBuilderWriter(1024); - - Out xout = new OutXML("LargerData","xmlns=urn:s:xsd"); - Trans trans; - Report report = new Report(ITERATIONS,"JSON"); - do { - sbw.reset(); - trans = EnvFactory.newTrans(); - Reader sr = new StringReader(str); - TimeTaken tt = trans.start("Parse JSON", Env.JSON); - try { - xout.extract(sr, sbw, inJSON); - } finally { - tt.done(); - } - report.glean(trans,Env.JSON); - } while(report.go()); - - report.report(sbw); - System.out.println(sbw.toString()); - } + StringBuilderWriter sbw = new StringBuilderWriter(1024); + + Out xout = new OutXML("LargerData","xmlns=urn:s:xsd"); + Trans trans; + Report report = new Report(ITERATIONS,"JSON"); + do { + sbw.reset(); + trans = EnvFactory.newTrans(); + Reader sr = new StringReader(str); + TimeTaken tt = trans.start("Parse JSON", Env.JSON); + try { + xout.extract(sr, sbw, inJSON); + } finally { + tt.done(); + } + report.glean(trans,Env.JSON); + } while(report.go()); + + report.report(sbw); + System.out.println(sbw.toString()); + } - @Test - public void parseJSON2PrettyXML() throws Exception { - System.out.println("*** PARSE JSON -> Pretty XML ***"); - System.out.println(str); + @Test + public void parseJSON2PrettyXML() throws Exception { + System.out.println("*** PARSE JSON -> Pretty XML ***"); + System.out.println(str); - StringBuilderWriter sbw = new StringBuilderWriter(1024); - IndentPrintWriter ipw = new IndentPrintWriter(sbw); - - Out xout = new OutXML("LargerData","xmlns=urn:s:xsd"); - Trans trans; - Report report = new Report(ITERATIONS,"JSON"); - do { - sbw.reset(); - trans = EnvFactory.newTrans(); - Reader sr = new StringReader(str); - TimeTaken tt = trans.start("Parse JSON", Env.JSON); - try { - xout.extract(sr, ipw, inJSON); - } finally { - tt.done(); - } - report.glean(trans,Env.JSON); - } while(report.go()); - - report.report(sbw); - System.out.println(sbw.toString()); - } - - - @Test - public void jaxbObj2XML() throws Exception { - System.out.println("*** JAXB Object -> XML ***"); + StringBuilderWriter sbw = new StringBuilderWriter(1024); + IndentPrintWriter ipw = new IndentPrintWriter(sbw); + + Out xout = new OutXML("LargerData","xmlns=urn:s:xsd"); + Trans trans; + Report report = new Report(ITERATIONS,"JSON"); + do { + sbw.reset(); + trans = EnvFactory.newTrans(); + Reader sr = new StringReader(str); + TimeTaken tt = trans.start("Parse JSON", Env.JSON); + try { + xout.extract(sr, ipw, inJSON); + } finally { + tt.done(); + } + report.glean(trans,Env.JSON); + } while(report.go()); + + report.report(sbw); + System.out.println(sbw.toString()); + } + + + @Test + public void jaxbObj2XML() throws Exception { + System.out.println("*** JAXB Object -> XML ***"); - LargerData ld = new LargerData(); - SampleData sd = new SampleData(); - sd.setDate(System.currentTimeMillis()); - sd.setId("sd object \"1\""); - sd.getItem().add("Item 1.1"); - sd.getItem().add("Item 1.2"); - ld.getSampleData().add(sd); - sd = new SampleData(); - sd.setDate(System.currentTimeMillis()); - sd.setId("sd object \"2\""); - sd.getItem().add("Item 2.1"); - sd.getItem().add("Item 2.2"); - ld.getSampleData().add(sd); - ld.setFluff("MyFluff"); - - JAXBmar jaxBmar = new JAXBmar(LargerData.class); - //jaxBmar.asFragment(true); - //jaxBmar.pretty(true); - StringBuilderWriter sbw = new StringBuilderWriter(1024); + LargerData ld = new LargerData(); + SampleData sd = new SampleData(); + sd.setDate(System.currentTimeMillis()); + sd.setId("sd object \"1\""); + sd.getItem().add("Item 1.1"); + sd.getItem().add("Item 1.2"); + ld.getSampleData().add(sd); + sd = new SampleData(); + sd.setDate(System.currentTimeMillis()); + sd.setId("sd object \"2\""); + sd.getItem().add("Item 2.1"); + sd.getItem().add("Item 2.2"); + ld.getSampleData().add(sd); + ld.setFluff("MyFluff"); + + JAXBmar jaxBmar = new JAXBmar(LargerData.class); + //jaxBmar.asFragment(true); + //jaxBmar.pretty(true); + StringBuilderWriter sbw = new StringBuilderWriter(1024); - Trans trans; - Report report = new Report(ITERATIONS,"XML"); - do { - sbw.reset(); - trans = EnvFactory.newTrans(); - TimeTaken tt = trans.start("JAXB", Env.XML); - try { - jaxBmar.marshal(LogTarget.NULL, ld, sbw); - } finally { - tt.done(); - } - report.glean(trans,Env.XML); - } while(report.go()); - - report.report(sbw); - System.out.println(sbw.toString()); - } + Trans trans; + Report report = new Report(ITERATIONS,"XML"); + do { + sbw.reset(); + trans = EnvFactory.newTrans(); + TimeTaken tt = trans.start("JAXB", Env.XML); + try { + jaxBmar.marshal(LogTarget.NULL, ld, sbw); + } finally { + tt.done(); + } + report.glean(trans,Env.XML); + } while(report.go()); + + report.report(sbw); + System.out.println(sbw.toString()); + } - @Test - public void jaxbObj2PrettyXML() throws Exception { - System.out.println("*** JAXB Object -> Pretty XML ***"); + @Test + public void jaxbObj2PrettyXML() throws Exception { + System.out.println("*** JAXB Object -> Pretty XML ***"); - LargerData ld = new LargerData(); - SampleData sd = new SampleData(); - sd.setDate(System.currentTimeMillis()); - sd.setId("sd object \"1\""); - sd.getItem().add("Item 1.1"); - sd.getItem().add("Item 1.2"); - ld.getSampleData().add(sd); - sd = new SampleData(); - sd.setDate(System.currentTimeMillis()); - sd.setId("sd object \"2\""); - sd.getItem().add("Item 2.1"); - sd.getItem().add("Item 2.2"); - ld.getSampleData().add(sd); - ld.setFluff("MyFluff"); - - JAXBmar jaxBmar = new JAXBmar(LargerData.class); - //jaxBmar.asFragment(true); - jaxBmar.pretty(true); - StringBuilderWriter sbw = new StringBuilderWriter(1024); + LargerData ld = new LargerData(); + SampleData sd = new SampleData(); + sd.setDate(System.currentTimeMillis()); + sd.setId("sd object \"1\""); + sd.getItem().add("Item 1.1"); + sd.getItem().add("Item 1.2"); + ld.getSampleData().add(sd); + sd = new SampleData(); + sd.setDate(System.currentTimeMillis()); + sd.setId("sd object \"2\""); + sd.getItem().add("Item 2.1"); + sd.getItem().add("Item 2.2"); + ld.getSampleData().add(sd); + ld.setFluff("MyFluff"); + + JAXBmar jaxBmar = new JAXBmar(LargerData.class); + //jaxBmar.asFragment(true); + jaxBmar.pretty(true); + StringBuilderWriter sbw = new StringBuilderWriter(1024); - Trans trans; - Report report = new Report(ITERATIONS,"XML"); - do { - sbw.reset(); - trans = EnvFactory.newTrans(); - TimeTaken tt = trans.start("JAXB", Env.XML); - try { - jaxBmar.marshal(LogTarget.NULL, ld, sbw); - } finally { - tt.done(); - } - report.glean(trans,Env.XML); - } while(report.go()); + Trans trans; + Report report = new Report(ITERATIONS,"XML"); + do { + sbw.reset(); + trans = EnvFactory.newTrans(); + TimeTaken tt = trans.start("JAXB", Env.XML); + try { + jaxBmar.marshal(LogTarget.NULL, ld, sbw); + } finally { + tt.done(); + } + report.glean(trans,Env.XML); + } while(report.go()); - report.report(sbw); - System.out.println(sbw.toString()); - } + report.report(sbw); + System.out.println(sbw.toString()); + } } diff --git a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_FromXML.java b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_FromXML.java index 58813621..2a4e3d2d 100644 --- a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_FromXML.java +++ b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_FromXML.java @@ -43,217 +43,217 @@ import org.onap.aaf.misc.rosetta.OutXML; import s.xsd.LargerData; public class JU_FromXML { - private static int ITERATIONS = 1; - ; - - private final static String xml = - "\n" + - "\n" + - " \n" + - " sd object 1\n" + - " 1346765355134\n" + - " Item 1.1\n" + - " Item 1.2\n" + - " \n" + - " \n" + - " sd object 2\n" + - " 1346765355134\n" + - " Item 2.1\n" + - " Item 2.2\n" + - " \n" + - " MyFluff\n" + - "\n"; - - - @Test - public void test() throws Exception { - InXML inXML = new InXML(LargerData.class); - - System.out.println(xml); - StringBuilderWriter sbw = new StringBuilderWriter(1024); - - Reader rdr = new StringReader(xml); - - new OutRaw().extract(rdr, sbw, inXML); - System.out.println(sbw.getBuffer()); - } - + private static int ITERATIONS = 1; + ; + + private final static String xml = + "\n" + + "\n" + + " \n" + + " sd object 1\n" + + " 1346765355134\n" + + " Item 1.1\n" + + " Item 1.2\n" + + " \n" + + " \n" + + " sd object 2\n" + + " 1346765355134\n" + + " Item 2.1\n" + + " Item 2.2\n" + + " \n" + + " MyFluff\n" + + "\n"; + + + @Test + public void test() throws Exception { + InXML inXML = new InXML(LargerData.class); + + System.out.println(xml); + StringBuilderWriter sbw = new StringBuilderWriter(1024); + + Reader rdr = new StringReader(xml); + + new OutRaw().extract(rdr, sbw, inXML); + System.out.println(sbw.getBuffer()); + } + - @Test - public void xml2JSON() throws Exception { - System.out.println("*** XML -> JSON (No Warm up) ***"); - Out jout = new OutJson(); - InXML inXML = new InXML(LargerData.class); + @Test + public void xml2JSON() throws Exception { + System.out.println("*** XML -> JSON (No Warm up) ***"); + Out jout = new OutJson(); + InXML inXML = new InXML(LargerData.class); - StringBuilderWriter sbw = new StringBuilderWriter(1024); - - Trans trans; - Report report = new Report(ITERATIONS,"XML"); - do { - sbw.reset(); - trans = EnvFactory.newTrans(); - Reader sr = new StringReader(xml); - TimeTaken tt = trans.start("Parse XML", Env.XML); - try { - jout.extract(sr, sbw, inXML); - } finally { - tt.done(); - } - report.glean(trans,Env.XML); - } while(report.go()); - - report.report(sbw); - System.out.println(sbw.toString()); - } + StringBuilderWriter sbw = new StringBuilderWriter(1024); + + Trans trans; + Report report = new Report(ITERATIONS,"XML"); + do { + sbw.reset(); + trans = EnvFactory.newTrans(); + Reader sr = new StringReader(xml); + TimeTaken tt = trans.start("Parse XML", Env.XML); + try { + jout.extract(sr, sbw, inXML); + } finally { + tt.done(); + } + report.glean(trans,Env.XML); + } while(report.go()); + + report.report(sbw); + System.out.println(sbw.toString()); + } - @Test - public void xml2XML() throws Exception { - System.out.println("*** XML -> (Event Queue) -> XML (No Warm up) ***"); - Out xout = new OutXML("LargerData"); - InXML inXML = new InXML(LargerData.class); + @Test + public void xml2XML() throws Exception { + System.out.println("*** XML -> (Event Queue) -> XML (No Warm up) ***"); + Out xout = new OutXML("LargerData"); + InXML inXML = new InXML(LargerData.class); - StringBuilderWriter sbw = new StringBuilderWriter(1024); - - Trans trans; - Report report = new Report(ITERATIONS,"XML"); - do { - sbw.reset(); - trans = EnvFactory.newTrans(); - Reader sr = new StringReader(xml); - TimeTaken tt = trans.start("Parse XML", Env.XML); - try { - xout.extract(sr, sbw, inXML); - } finally { - tt.done(); - } - report.glean(trans,Env.XML); - } while(report.go()); - - report.report(sbw); - System.out.println(sbw.toString()); - } - - - @Test - public void warmup() throws Exception { - if(ITERATIONS>20) { - System.out.println("*** Warmup JAXB ***"); - - JAXBumar jaxbUmar = new JAXBumar(LargerData.class); - JAXBmar jaxBmar = new JAXBmar(LargerData.class); - //jaxBmar.asFragment(true); - //jaxBmar.pretty(true); - StringBuilderWriter sbw = new StringBuilderWriter(1024); - + StringBuilderWriter sbw = new StringBuilderWriter(1024); + + Trans trans; + Report report = new Report(ITERATIONS,"XML"); + do { + sbw.reset(); + trans = EnvFactory.newTrans(); + Reader sr = new StringReader(xml); + TimeTaken tt = trans.start("Parse XML", Env.XML); + try { + xout.extract(sr, sbw, inXML); + } finally { + tt.done(); + } + report.glean(trans,Env.XML); + } while(report.go()); + + report.report(sbw); + System.out.println(sbw.toString()); + } + + + @Test + public void warmup() throws Exception { + if(ITERATIONS>20) { + System.out.println("*** Warmup JAXB ***"); + + JAXBumar jaxbUmar = new JAXBumar(LargerData.class); + JAXBmar jaxBmar = new JAXBmar(LargerData.class); + //jaxBmar.asFragment(true); + //jaxBmar.pretty(true); + StringBuilderWriter sbw = new StringBuilderWriter(1024); + - LargerData ld; - Trans trans; - Report report = new Report(ITERATIONS,"XML"); - do { - sbw.reset(); - trans = EnvFactory.newTrans(); - TimeTaken all = trans.start("Combo", Env.SUB); - try { - TimeTaken tt = trans.start("JAXB Unmarshal", Env.XML); - try { - ld = jaxbUmar.unmarshal(LogTarget.NULL, xml); - } finally { - tt.done(); - } - tt = trans.start("JAXB marshal", Env.XML); - try { - jaxBmar.marshal(LogTarget.NULL, ld, sbw); - } finally { - tt.done(); - } - } finally { - all.done(); - } - report.glean(trans,Env.XML); - } while(report.go()); - - report.report(sbw); - System.out.println(sbw.toString()); - } - } - @Test - public void xml2jaxb2xml() throws Exception { - System.out.println("*** XML -> JAXB Object -> XML ***"); - JAXBumar jaxbUmar = new JAXBumar(LargerData.class); - JAXBmar jaxBmar = new JAXBmar(LargerData.class); - //jaxBmar.asFragment(true); - //jaxBmar.pretty(true); - StringBuilderWriter sbw = new StringBuilderWriter(1024); + LargerData ld; + Trans trans; + Report report = new Report(ITERATIONS,"XML"); + do { + sbw.reset(); + trans = EnvFactory.newTrans(); + TimeTaken all = trans.start("Combo", Env.SUB); + try { + TimeTaken tt = trans.start("JAXB Unmarshal", Env.XML); + try { + ld = jaxbUmar.unmarshal(LogTarget.NULL, xml); + } finally { + tt.done(); + } + tt = trans.start("JAXB marshal", Env.XML); + try { + jaxBmar.marshal(LogTarget.NULL, ld, sbw); + } finally { + tt.done(); + } + } finally { + all.done(); + } + report.glean(trans,Env.XML); + } while(report.go()); + + report.report(sbw); + System.out.println(sbw.toString()); + } + } + @Test + public void xml2jaxb2xml() throws Exception { + System.out.println("*** XML -> JAXB Object -> XML ***"); + JAXBumar jaxbUmar = new JAXBumar(LargerData.class); + JAXBmar jaxBmar = new JAXBmar(LargerData.class); + //jaxBmar.asFragment(true); + //jaxBmar.pretty(true); + StringBuilderWriter sbw = new StringBuilderWriter(1024); - LargerData ld; - Trans trans; - Report report = new Report(ITERATIONS,"XML"); - do { - sbw.reset(); - trans = EnvFactory.newTrans(); - TimeTaken all = trans.start("Combo", Env.SUB); - try { - TimeTaken tt = trans.start("JAXB Unmarshal", Env.XML); - try { - ld = jaxbUmar.unmarshal(LogTarget.NULL, xml); - } finally { - tt.done(); - } - tt = trans.start("JAXB marshal", Env.XML); - try { - jaxBmar.marshal(LogTarget.NULL, ld, sbw); - } finally { - tt.done(); - } - } finally { - all.done(); - } - report.glean(trans,Env.XML); - } while(report.go()); - - report.report(sbw); - System.out.println(sbw.toString()); } + LargerData ld; + Trans trans; + Report report = new Report(ITERATIONS,"XML"); + do { + sbw.reset(); + trans = EnvFactory.newTrans(); + TimeTaken all = trans.start("Combo", Env.SUB); + try { + TimeTaken tt = trans.start("JAXB Unmarshal", Env.XML); + try { + ld = jaxbUmar.unmarshal(LogTarget.NULL, xml); + } finally { + tt.done(); + } + tt = trans.start("JAXB marshal", Env.XML); + try { + jaxBmar.marshal(LogTarget.NULL, ld, sbw); + } finally { + tt.done(); + } + } finally { + all.done(); + } + report.glean(trans,Env.XML); + } while(report.go()); + + report.report(sbw); + System.out.println(sbw.toString()); } - @Test - public void xml2jaxb2PrettyXml() throws Exception { - System.out.println("*** XML -> JAXB Object -> Pretty XML ***"); - JAXBumar jaxbUmar = new JAXBumar(LargerData.class); - JAXBmar jaxBmar = new JAXBmar(LargerData.class); - //jaxBmar.asFragment(true); - jaxBmar.pretty(true); - StringBuilderWriter sbw = new StringBuilderWriter(1024); + @Test + public void xml2jaxb2PrettyXml() throws Exception { + System.out.println("*** XML -> JAXB Object -> Pretty XML ***"); + JAXBumar jaxbUmar = new JAXBumar(LargerData.class); + JAXBmar jaxBmar = new JAXBmar(LargerData.class); + //jaxBmar.asFragment(true); + jaxBmar.pretty(true); + StringBuilderWriter sbw = new StringBuilderWriter(1024); - Trans trans = EnvFactory.newTrans(); - LargerData ld; - for(int i=0;i20) { - m = trans.auditTrail(0,null); - } else { - m = trans.auditTrail(0, sbw.getBuffer()); - System.out.println(sbw.getBuffer()); - } - System.out.println(ITERATIONS + " entries, Total Time: " + m.total + "ms, Avg Time: " + m.total/ITERATIONS + "ms"); - } + Trans trans = EnvFactory.newTrans(); + LargerData ld; + for(int i=0;i20) { + m = trans.auditTrail(0,null); + } else { + m = trans.auditTrail(0, sbw.getBuffer()); + System.out.println(sbw.getBuffer()); + } + System.out.println(ITERATIONS + " entries, Total Time: " + m.total + "ms, Avg Time: " + m.total/ITERATIONS + "ms"); + } } diff --git a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_JSON.java b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_JSON.java index 080fc973..9ab06e7c 100644 --- a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_JSON.java +++ b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_JSON.java @@ -38,99 +38,99 @@ import org.onap.aaf.misc.rosetta.ParseException; public class JU_JSON { - @Test - public void test() throws IOException, ParseException { - InJson jin = new InJson(); - Out jout = new OutJson(); - - go(jin, jout, "{\"id\":\"Me, Myself\",\"date\":1353094689100}"); - - go(jin, jout, "{\"id\":\"My ID 1\",\"desc\":\"My Description 1\",\"comment\":[\"My Comment 1\"],\"utc\":1360418381310}"); - go(jin, jout, "{\"id\":\"My ID 1\",\"desc\":\"My Description 1\",\"comment\":[\"My Comment 1\",\"My Comment 2\"],\"utc\":1360418381310}"); - - go(jin, jout, "{\"SampleData\":[" + - "{\"id\":\"sd object \\\"1\\\"\",\"date\":1316084944213,\"item\":[\"Item 1.1\",\"Item 1.2\"]}," + - "{\"id\":\"sd object \\\"2\\\"\",\"date\":1316084945343,\"item\":[\"Item 2.1\",\"Item 2.2\"]}],\"fluff\":\"MyFluff\"}" - ); - - go(jin, jout, "{\"SampleData\":[{\"date\":1316084945343}],\"fluff\":\"MyFluff\"}"); - - go(jin, jout, "{\"id\":\"Me,[}[eg[)(:x,\\\" Myself\",\"date\":1353094689100}"); - - // TODO: Clean out AT&T specific data - go(jin,jout, "{\"userid\":\"xk3233\",\"timestamp\":1353097388531,\"item\":[{\"tag\":\"color\",\"value\":\"Mauve\"},{\"tag\":\"shirtsize\",\"value\":\"Xtra Large\"}]}"); - //go() - //"xk32331353082669667"); - - // 3/11/2015 Jonathan found a case with missing comma - go(jin,jout, "{\"start\":\"2015-03-11T18:18:05.580-05:00\",\"end\":\"2015-09-11-05:00\",\"force\":\"false\",\"perm\":{\"type\":\"org.osaaf.myns.mytype\",\"instance\":\"myInstance\",\"action\":\"myAction\"}" - + ",\"role\":\"org.osaaf.myns.myrole\"}"); - - // 3/12/2015 Jonathan Kurt Schurenberg noticed an issue of object names in an array. This is valid code. - go(jin,jout, "{\"role\":[{\"name\":\"org.osaaf.myns.myrole\",\"perms\":[{\"type\":\"org.osaaf.myns.mytype\",\"instance\":\"myAction\"},{\"type\":\"org.osaaf.myns.mytype\",\"instance\":\"myOtherAction\"}]}" - + ",{\"name\":\"org.osaaf.myns.myOtherRole\",\"perms\":[{\"type\":\"org.osaaf.myns.myOtherType\",\"instance\":\"myAction\"},{\"type\":\"org.osaaf.myns.myOthertype\",\"instance\":\"myOtherAction\"}]}]}"); - - // 3/13/2015 - discovered with complex Response - go(jin,jout, "{\"meth\":\"GET\",\"path\":\"/authz/perms/:type\",\"desc\":\"GetPermsByType\",\"comments\":[\"List All Permissions that match :type listed\"]," - + "\"contentType\":[\"application/Permissions+json;q=1.0;charset=utf-8;version=1.1,application/json;q=1.0;version=1.1\"" - + ",\"application/Perms+xml;q=1.0;charset=utf-8;version=2.0,text/xml;q=1.0;version=2.0\",\"application/Perms+json;q=1.0;charset=utf-8;version=2.0,application/json;q=1.0;version=2.0,*/*;q=1.0\"" - + ",\"application/Permissions+xml;q=1.0;charset=utf-8;version=1.1,text/xml;q=1.0;version=1.1\"]}"); - - - // Test a Windoze "Pretty Print", validate skipping of Windoze characters as well as other odd control characters listed - // in json.org - StringWriter sw = new StringWriter(); - jout.extract(new StringReader( - "{\b\f\n\r\t \"id\"" - + ":\"Me, \b\f\n\r\tMyself\",\"date\":1353094689100" - + "\b\f\n\r\t }" - ),sw,jin); - Assert.assertEquals("{\"id\":\"Me, \b\f\n\r\tMyself\",\"date\":1353094689100}",sw.toString()); - System.out.println(sw.toString()); - - // 10/01/2015 Jonathan AAF-703 Ron Gallagher, this response is ok - go(jin,jout, "{\"perm\":[{\"type\":\"org.osaaf.myns.myPerm\",\"action\":\"myAction\",\"description\":\"something\"}]}"); - // but when description:"" causes extra comma at end - go(jin,jout, "{\"perm\":[{\"type\":\"org.osaaf.myns.myPerm\",\"action\":\"myAction\",\"description\":\"\"}]}","{\"perm\":[{\"type\":\"org.osaaf.myns.myPerm\",\"action\":\"myAction\"}]}"); - // Test other empty string scenarios - go(jin,jout, "{\"perm\":[{\"type\":\"\",\"action\":\"\",\"description\":\"\"}]}","{\"perm\":[{}]}"); - go(jin,jout, "{\"perm\":[{\"type\":\"\",\"action\":\"\",\"description\":\"hi\"}]}","{\"perm\":[{\"description\":\"hi\"}]}"); - go(jin,jout, "{\"perm\":[{\"type\":\"\",\"action\":\"myAction\",\"description\":\"\"}]}","{\"perm\":[{\"action\":\"myAction\"}]}"); - - - go(jin,jout, "{\"perm\":[{\"type\":\"org.osaaf.myns.myPerm\",\"action\":,\"description\":\"something\"}]}","{\"perm\":[{\"type\":\"org.osaaf.myns.myPerm\",\"description\":\"something\"}]}"); - - go(jin, jout, "{\"name\":\"\\\"hello\\\"\"}"); - - go(jin, jout, "{\"name\":\"\\\\\"}"); - - go(jin, jout, "{\"role\":\"org.osaaf.scamper.UserStory0152 7_IT-00323-a-admin\",\"perm\":{\"type\":\"org.osaaf.scamper.application\",\"instance\":\"_()`!@#\\\\$%^=+][{}<>/.-valid.app.name-is_good\",\"action\":\"Administrator\"}}"); - - - } - - - private void go(Parse in, Out out, String str) throws IOException, ParseException { - go(in,out,str,str); - } - - - private void go(Parse in, Out out, String str, String cmp) throws IOException, ParseException { - - System.out.println(str); - StringWriter sw = new StringWriter(1024); - out.extract(new StringReader(str), sw, in); - System.out.println(sw); - String result = sw.toString(); - - if(!result.equals(cmp)) { - sw.getBuffer().setLength(0); - new OutRaw().extract(new StringReader(str), sw, in); - System.out.println(sw); - } - - Assert.assertEquals(cmp,result); - System.out.println(); - - } + @Test + public void test() throws IOException, ParseException { + InJson jin = new InJson(); + Out jout = new OutJson(); + + go(jin, jout, "{\"id\":\"Me, Myself\",\"date\":1353094689100}"); + + go(jin, jout, "{\"id\":\"My ID 1\",\"desc\":\"My Description 1\",\"comment\":[\"My Comment 1\"],\"utc\":1360418381310}"); + go(jin, jout, "{\"id\":\"My ID 1\",\"desc\":\"My Description 1\",\"comment\":[\"My Comment 1\",\"My Comment 2\"],\"utc\":1360418381310}"); + + go(jin, jout, "{\"SampleData\":[" + + "{\"id\":\"sd object \\\"1\\\"\",\"date\":1316084944213,\"item\":[\"Item 1.1\",\"Item 1.2\"]}," + + "{\"id\":\"sd object \\\"2\\\"\",\"date\":1316084945343,\"item\":[\"Item 2.1\",\"Item 2.2\"]}],\"fluff\":\"MyFluff\"}" + ); + + go(jin, jout, "{\"SampleData\":[{\"date\":1316084945343}],\"fluff\":\"MyFluff\"}"); + + go(jin, jout, "{\"id\":\"Me,[}[eg[)(:x,\\\" Myself\",\"date\":1353094689100}"); + + // TODO: Clean out AT&T specific data + go(jin,jout, "{\"userid\":\"xk3233\",\"timestamp\":1353097388531,\"item\":[{\"tag\":\"color\",\"value\":\"Mauve\"},{\"tag\":\"shirtsize\",\"value\":\"Xtra Large\"}]}"); + //go() + //"xk32331353082669667"); + + // 3/11/2015 Jonathan found a case with missing comma + go(jin,jout, "{\"start\":\"2015-03-11T18:18:05.580-05:00\",\"end\":\"2015-09-11-05:00\",\"force\":\"false\",\"perm\":{\"type\":\"org.osaaf.myns.mytype\",\"instance\":\"myInstance\",\"action\":\"myAction\"}" + + ",\"role\":\"org.osaaf.myns.myrole\"}"); + + // 3/12/2015 Jonathan Kurt Schurenberg noticed an issue of object names in an array. This is valid code. + go(jin,jout, "{\"role\":[{\"name\":\"org.osaaf.myns.myrole\",\"perms\":[{\"type\":\"org.osaaf.myns.mytype\",\"instance\":\"myAction\"},{\"type\":\"org.osaaf.myns.mytype\",\"instance\":\"myOtherAction\"}]}" + + ",{\"name\":\"org.osaaf.myns.myOtherRole\",\"perms\":[{\"type\":\"org.osaaf.myns.myOtherType\",\"instance\":\"myAction\"},{\"type\":\"org.osaaf.myns.myOthertype\",\"instance\":\"myOtherAction\"}]}]}"); + + // 3/13/2015 - discovered with complex Response + go(jin,jout, "{\"meth\":\"GET\",\"path\":\"/authz/perms/:type\",\"desc\":\"GetPermsByType\",\"comments\":[\"List All Permissions that match :type listed\"]," + + "\"contentType\":[\"application/Permissions+json;q=1.0;charset=utf-8;version=1.1,application/json;q=1.0;version=1.1\"" + + ",\"application/Perms+xml;q=1.0;charset=utf-8;version=2.0,text/xml;q=1.0;version=2.0\",\"application/Perms+json;q=1.0;charset=utf-8;version=2.0,application/json;q=1.0;version=2.0,*/*;q=1.0\"" + + ",\"application/Permissions+xml;q=1.0;charset=utf-8;version=1.1,text/xml;q=1.0;version=1.1\"]}"); + + + // Test a Windoze "Pretty Print", validate skipping of Windoze characters as well as other odd control characters listed + // in json.org + StringWriter sw = new StringWriter(); + jout.extract(new StringReader( + "{\b\f\n\r\t \"id\"" + + ":\"Me, \b\f\n\r\tMyself\",\"date\":1353094689100" + + "\b\f\n\r\t }" + ),sw,jin); + Assert.assertEquals("{\"id\":\"Me, \b\f\n\r\tMyself\",\"date\":1353094689100}",sw.toString()); + System.out.println(sw.toString()); + + // 10/01/2015 Jonathan AAF-703 Ron Gallagher, this response is ok + go(jin,jout, "{\"perm\":[{\"type\":\"org.osaaf.myns.myPerm\",\"action\":\"myAction\",\"description\":\"something\"}]}"); + // but when description:"" causes extra comma at end + go(jin,jout, "{\"perm\":[{\"type\":\"org.osaaf.myns.myPerm\",\"action\":\"myAction\",\"description\":\"\"}]}","{\"perm\":[{\"type\":\"org.osaaf.myns.myPerm\",\"action\":\"myAction\"}]}"); + // Test other empty string scenarios + go(jin,jout, "{\"perm\":[{\"type\":\"\",\"action\":\"\",\"description\":\"\"}]}","{\"perm\":[{}]}"); + go(jin,jout, "{\"perm\":[{\"type\":\"\",\"action\":\"\",\"description\":\"hi\"}]}","{\"perm\":[{\"description\":\"hi\"}]}"); + go(jin,jout, "{\"perm\":[{\"type\":\"\",\"action\":\"myAction\",\"description\":\"\"}]}","{\"perm\":[{\"action\":\"myAction\"}]}"); + + + go(jin,jout, "{\"perm\":[{\"type\":\"org.osaaf.myns.myPerm\",\"action\":,\"description\":\"something\"}]}","{\"perm\":[{\"type\":\"org.osaaf.myns.myPerm\",\"description\":\"something\"}]}"); + + go(jin, jout, "{\"name\":\"\\\"hello\\\"\"}"); + + go(jin, jout, "{\"name\":\"\\\\\"}"); + + go(jin, jout, "{\"role\":\"org.osaaf.scamper.UserStory0152 7_IT-00323-a-admin\",\"perm\":{\"type\":\"org.osaaf.scamper.application\",\"instance\":\"_()`!@#\\\\$%^=+][{}<>/.-valid.app.name-is_good\",\"action\":\"Administrator\"}}"); + + + } + + + private void go(Parse in, Out out, String str) throws IOException, ParseException { + go(in,out,str,str); + } + + + private void go(Parse in, Out out, String str, String cmp) throws IOException, ParseException { + + System.out.println(str); + StringWriter sw = new StringWriter(1024); + out.extract(new StringReader(str), sw, in); + System.out.println(sw); + String result = sw.toString(); + + if(!result.equals(cmp)) { + sw.getBuffer().setLength(0); + new OutRaw().extract(new StringReader(str), sw, in); + System.out.println(sw); + } + + Assert.assertEquals(cmp,result); + System.out.println(); + + } } diff --git a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_Ladder.java b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_Ladder.java index f72b6e69..229f1bf4 100644 --- a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_Ladder.java +++ b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_Ladder.java @@ -28,49 +28,49 @@ import static org.junit.Assert.*; public class JU_Ladder { - @Test - public void test() { - Ladder ladder = new Ladder(); - - for(int i=0;i<30;++i) { - for(int j=0;j ladder = new Ladder(); + + for(int i=0;i<30;++i) { + for(int j=0;j df = env.newDataFactory(LargerData.class); - df.out(Data.TYPE.JSON); - LargerData urr = new LargerData(); - SampleData sd = new SampleData(); - sd.setDate(1444125487798L); - sd.setId(null); - urr.getSampleData().add(sd); - urr.setFluff(null); - RosettaData data = df.newData(); -// StringWriter sw = new StringWriter(); -// df.direct(trans, urr, sw); -// System.out.println(sw.toString()); - data.load(urr); - System.out.println(data.asString()); - Assert.assertEquals("{\"SampleData\":[{\"date\":1444125487798}]}", data.asString()); - - System.out.println(data.out(Data.TYPE.RAW).asString()); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - } + @Test + public void test() { + RosettaEnv env = new RosettaEnv(); + try { + RosettaDF df = env.newDataFactory(LargerData.class); + df.out(Data.TYPE.JSON); + LargerData urr = new LargerData(); + SampleData sd = new SampleData(); + sd.setDate(1444125487798L); + sd.setId(null); + urr.getSampleData().add(sd); + urr.setFluff(null); + RosettaData data = df.newData(); +// StringWriter sw = new StringWriter(); +// df.direct(trans, urr, sw); +// System.out.println(sw.toString()); + data.load(urr); + System.out.println(data.asString()); + Assert.assertEquals("{\"SampleData\":[{\"date\":1444125487798}]}", data.asString()); + + System.out.println(data.out(Data.TYPE.RAW).asString()); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } } diff --git a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_RosettaDF.java b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_RosettaDF.java index 07c73196..1a5f86f3 100644 --- a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_RosettaDF.java +++ b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_RosettaDF.java @@ -41,122 +41,122 @@ import s.xsd.Multi; import s.xsd.SampleData; public class JU_RosettaDF { - public static int ITERATIONS = 1; - - @Test - public void testCached() throws Exception { - RosettaEnv env = new RosettaEnv(); - RosettaDF df = env.newDataFactory(LargerData.class); - JAXBmar jmar = new JAXBmar(LargerData.class); - - StringBuilderWriter sbw = new StringBuilderWriter(1024); - Trans trans = EnvFactory.newTrans(); - - Report report = new Report(ITERATIONS,"Load JSON","Extract JAXB", "JAXB Marshal", "Cached to XML", "Cached to JSON"); - do { - sbw.reset(); - trans = EnvFactory.newTrans(); - Data data; - TimeTaken tt = trans.start("Load JSON", 1); - try { - data = df.newData(trans).out(Data.TYPE.JSON).in(Data.TYPE.JSON).load(JU_FromJSON.str); - } finally { - tt.done(); - } - LargerData ld; - tt = trans.start("Extract JAXB", 2); - try { - ld = data.asObject(); - } finally { - tt.done(); - } - - tt = trans.start("JAXB marshal", 3); - try { - jmar.marshal(trans.debug(), ld, sbw); - } finally { - tt.done(); - } - sbw.append('\n'); - - tt = trans.start("To XML from Cache",4); - try { - data.out(Data.TYPE.XML).to(sbw); - } finally { - tt.done(); - } - - sbw.append('\n'); - - tt = trans.start("To JSON from Cache",5); - try { - data.out(Data.TYPE.JSON).to(sbw); - } finally { - tt.done(); - } - report.glean(trans, 1,2,3,4,5); - } while(report.go()); - - report.report(sbw); - System.out.println(sbw); - - } - - @Test - public void testDirect() throws Exception { - RosettaEnv env = new RosettaEnv(); - RosettaDF df = env.newDataFactory(LargerData.class); - - StringBuilderWriter sbw = new StringBuilderWriter(1024); - Trans trans = EnvFactory.newTrans(); - - Report report = new Report(ITERATIONS); - do { - sbw.reset(); - trans = EnvFactory.newTrans(); - RosettaData data = df.newData(trans).in(Data.TYPE.JSON).out(Data.TYPE.XML); - data.direct(new StringReader(JU_FromJSON.str), sbw); - report.glean(trans); - } while(report.go()); - - report.report(sbw); - System.out.println(sbw); - - } - - @Test - public void testMulti() throws Exception { - RosettaEnv env = new RosettaEnv(); - RosettaDF df = env.newDataFactory(Multi.class); - -// StringBuilderWriter sbw = new StringBuilderWriter(1024); -// Trans trans = EnvFactory.newTrans(); - - Multi m = new Multi(); - m.getF1().add("String1"); - m.getF2().add("String2"); - - System.out.println(df.newData().load(m).out(TYPE.RAW).asString()); - System.out.println(df.newData().load(m).out(TYPE.JSON).asString()); - - } - - @Test - public void testQuotes() throws Exception { - RosettaEnv env = new RosettaEnv(); - RosettaDF df = env.newDataFactory(SampleData.class); - - SampleData sd = new SampleData(); - sd.setId("\"AT&T Services, Inc.\""); - System.out.println(sd.getId()); - String out =df.newData().load(sd).out(TYPE.JSON).asString(); - System.out.println(out); - Assert.assertEquals( - "{\"id\":\"\\\"AT&T Services, Inc.\\\"\",\"date\":0}", - out); - - SampleData sd2 = df.newData().in(TYPE.JSON).load(out).asObject(); - System.out.println(sd2.getId()); - Assert.assertEquals(sd.getId(),sd2.getId()); - } + public static int ITERATIONS = 1; + + @Test + public void testCached() throws Exception { + RosettaEnv env = new RosettaEnv(); + RosettaDF df = env.newDataFactory(LargerData.class); + JAXBmar jmar = new JAXBmar(LargerData.class); + + StringBuilderWriter sbw = new StringBuilderWriter(1024); + Trans trans = EnvFactory.newTrans(); + + Report report = new Report(ITERATIONS,"Load JSON","Extract JAXB", "JAXB Marshal", "Cached to XML", "Cached to JSON"); + do { + sbw.reset(); + trans = EnvFactory.newTrans(); + Data data; + TimeTaken tt = trans.start("Load JSON", 1); + try { + data = df.newData(trans).out(Data.TYPE.JSON).in(Data.TYPE.JSON).load(JU_FromJSON.str); + } finally { + tt.done(); + } + LargerData ld; + tt = trans.start("Extract JAXB", 2); + try { + ld = data.asObject(); + } finally { + tt.done(); + } + + tt = trans.start("JAXB marshal", 3); + try { + jmar.marshal(trans.debug(), ld, sbw); + } finally { + tt.done(); + } + sbw.append('\n'); + + tt = trans.start("To XML from Cache",4); + try { + data.out(Data.TYPE.XML).to(sbw); + } finally { + tt.done(); + } + + sbw.append('\n'); + + tt = trans.start("To JSON from Cache",5); + try { + data.out(Data.TYPE.JSON).to(sbw); + } finally { + tt.done(); + } + report.glean(trans, 1,2,3,4,5); + } while(report.go()); + + report.report(sbw); + System.out.println(sbw); + + } + + @Test + public void testDirect() throws Exception { + RosettaEnv env = new RosettaEnv(); + RosettaDF df = env.newDataFactory(LargerData.class); + + StringBuilderWriter sbw = new StringBuilderWriter(1024); + Trans trans = EnvFactory.newTrans(); + + Report report = new Report(ITERATIONS); + do { + sbw.reset(); + trans = EnvFactory.newTrans(); + RosettaData data = df.newData(trans).in(Data.TYPE.JSON).out(Data.TYPE.XML); + data.direct(new StringReader(JU_FromJSON.str), sbw); + report.glean(trans); + } while(report.go()); + + report.report(sbw); + System.out.println(sbw); + + } + + @Test + public void testMulti() throws Exception { + RosettaEnv env = new RosettaEnv(); + RosettaDF df = env.newDataFactory(Multi.class); + +// StringBuilderWriter sbw = new StringBuilderWriter(1024); +// Trans trans = EnvFactory.newTrans(); + + Multi m = new Multi(); + m.getF1().add("String1"); + m.getF2().add("String2"); + + System.out.println(df.newData().load(m).out(TYPE.RAW).asString()); + System.out.println(df.newData().load(m).out(TYPE.JSON).asString()); + + } + + @Test + public void testQuotes() throws Exception { + RosettaEnv env = new RosettaEnv(); + RosettaDF df = env.newDataFactory(SampleData.class); + + SampleData sd = new SampleData(); + sd.setId("\"AT&T Services, Inc.\""); + System.out.println(sd.getId()); + String out =df.newData().load(sd).out(TYPE.JSON).asString(); + System.out.println(out); + Assert.assertEquals( + "{\"id\":\"\\\"AT&T Services, Inc.\\\"\",\"date\":0}", + out); + + SampleData sd2 = df.newData().in(TYPE.JSON).load(out).asObject(); + System.out.println(sd2.getId()); + Assert.assertEquals(sd.getId(),sd2.getId()); + } } diff --git a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_Saved.java b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_Saved.java index 47953007..de1b5500 100644 --- a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_Saved.java +++ b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_Saved.java @@ -38,67 +38,67 @@ import org.onap.aaf.misc.rosetta.Saved; import s.xsd.LargerData; public class JU_Saved { - private static int ITERATIONS = 100000; + private static int ITERATIONS = 100000; - @Test - public void test() throws Exception { - InJson inJSON = new InJson(); - OutDump dump = new OutDump(); - JaxInfo ji = JaxInfo.build(LargerData.class); - OutXML xml = new OutXML(ji);; - OutJson json = new OutJson(); - - Saved saved = new Saved(); - - StringBuilderWriter sbw = new StringBuilderWriter(1024); - - Trans trans; - Report report = new Report(ITERATIONS,"Save","Dump","XML ","JSON"); - do { - sbw.reset(); - trans = EnvFactory.newTrans(); - Reader sr = new StringReader(JU_FromJSON.str); - TimeTaken tt = trans.start("Parse Text, and Save", 1); - try { - saved.load(sr, inJSON); - } finally { - tt.done(); - } + @Test + public void test() throws Exception { + InJson inJSON = new InJson(); + OutDump dump = new OutDump(); + JaxInfo ji = JaxInfo.build(LargerData.class); + OutXML xml = new OutXML(ji);; + OutJson json = new OutJson(); + + Saved saved = new Saved(); + + StringBuilderWriter sbw = new StringBuilderWriter(1024); + + Trans trans; + Report report = new Report(ITERATIONS,"Save","Dump","XML ","JSON"); + do { + sbw.reset(); + trans = EnvFactory.newTrans(); + Reader sr = new StringReader(JU_FromJSON.str); + TimeTaken tt = trans.start("Parse Text, and Save", 1); + try { + saved.load(sr, inJSON); + } finally { + tt.done(); + } -// sbw.append("==== Start Direct Raw =====\n"); -// new OutRaw().extract(new StringReader(JU_FromJSON.str), sbw, inJSON); -// -// sbw.append("==== Start Raw from Saved =====\n"); -// new OutRaw().extract(null,sbw,saved); +// sbw.append("==== Start Direct Raw =====\n"); +// new OutRaw().extract(new StringReader(JU_FromJSON.str), sbw, inJSON); +// +// sbw.append("==== Start Raw from Saved =====\n"); +// new OutRaw().extract(null,sbw,saved); - sbw.append("==== Start Dump from Saved =====\n"); - tt = trans.start("Dump", 2); - try { - dump.extract(null,sbw,saved); - } finally { - tt.done(); - } - - sbw.append("\n==== Start XML =====\n"); - tt = trans.start("XML", 3); - try { - xml.extract(null,sbw,saved); - } finally { - tt.done(); - } - - sbw.append("\n==== Start JSON =====\n"); - tt = trans.start("JSON", 4); - try { - json.extract(null,sbw,saved); - } finally { - tt.done(); - } - report.glean(trans,1,2,3,4); - } while(report.go()); - - report.report(sbw); - System.out.println(sbw.toString()); + sbw.append("==== Start Dump from Saved =====\n"); + tt = trans.start("Dump", 2); + try { + dump.extract(null,sbw,saved); + } finally { + tt.done(); + } + + sbw.append("\n==== Start XML =====\n"); + tt = trans.start("XML", 3); + try { + xml.extract(null,sbw,saved); + } finally { + tt.done(); + } + + sbw.append("\n==== Start JSON =====\n"); + tt = trans.start("JSON", 4); + try { + json.extract(null,sbw,saved); + } finally { + tt.done(); + } + report.glean(trans,1,2,3,4); + } while(report.go()); + + report.report(sbw); + System.out.println(sbw.toString()); - } + } } diff --git a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_Stream2Obj.java b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_Stream2Obj.java index 6047c03c..b0fc29a2 100644 --- a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_Stream2Obj.java +++ b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_Stream2Obj.java @@ -46,78 +46,78 @@ import org.onap.aaf.misc.rosetta.ParseException; public class JU_Stream2Obj { - /* - - - - myDerivedA_1 - 1432 - mda_1 - value_1 - value_2 - - - - {"base":[{"__extension":"derivedA","name":"myDerivedA_1","num":1432,"shortName":"mda_1","value":["value_1","value_2"]}]} - */ - - @Test - public void json2Obj() throws APIException, SecurityException, NoSuchFieldException, ClassNotFoundException, ParseException, IOException { - DerivedA da = new DerivedA(); - da.setName("myDerivedA_1"); - da.setNum((short)1432); - da.setShortName("mda_1"); - da.getValue().add("value_1"); - da.getValue().add("value_2"); - - Root root = new Root(); - root.getBase().add(da); - - da = new DerivedA(); - da.setName("myDerivedA_2"); - da.setNum((short)1432); - da.setShortName("mda_2"); - da.getValue().add("value_2.1"); - da.getValue().add("value_2.2"); - root.getBase().add(da); - - EnvJAXB env = new BasicEnv(); - DataFactory rootDF = env.newDataFactory(Root.class); - - String xml = rootDF.newData(env).out(Data.TYPE.XML).load(root).option(Data.PRETTY).asString(); - System.out.println(xml); - - InXML inXML; - Parse in = inXML = new InXML(Root.class); - Out out = new OutRaw(); - - StringWriter sw = new StringWriter(); - out.extract(new StringReader(xml), sw, in); - System.out.println(sw.toString()); - - - out = new OutJson(); - - sw = new StringWriter(); - out.extract(new StringReader(xml), sw, in); - String json; - System.out.println(json = sw.toString()); - - in = new InJson(); - out = new OutRaw(); - - sw = new StringWriter(); - out.extract(new StringReader(json), sw, in); - System.out.println(sw.toString()); - - out = new OutXML(inXML); - - sw = new StringWriter(); - out.extract(new StringReader(json), sw, in, true); - System.out.println(sw.toString()); - - System.out.flush(); - - } + /* + + + + myDerivedA_1 + 1432 + mda_1 + value_1 + value_2 + + + + {"base":[{"__extension":"derivedA","name":"myDerivedA_1","num":1432,"shortName":"mda_1","value":["value_1","value_2"]}]} + */ + + @Test + public void json2Obj() throws APIException, SecurityException, NoSuchFieldException, ClassNotFoundException, ParseException, IOException { + DerivedA da = new DerivedA(); + da.setName("myDerivedA_1"); + da.setNum((short)1432); + da.setShortName("mda_1"); + da.getValue().add("value_1"); + da.getValue().add("value_2"); + + Root root = new Root(); + root.getBase().add(da); + + da = new DerivedA(); + da.setName("myDerivedA_2"); + da.setNum((short)1432); + da.setShortName("mda_2"); + da.getValue().add("value_2.1"); + da.getValue().add("value_2.2"); + root.getBase().add(da); + + EnvJAXB env = new BasicEnv(); + DataFactory rootDF = env.newDataFactory(Root.class); + + String xml = rootDF.newData(env).out(Data.TYPE.XML).load(root).option(Data.PRETTY).asString(); + System.out.println(xml); + + InXML inXML; + Parse in = inXML = new InXML(Root.class); + Out out = new OutRaw(); + + StringWriter sw = new StringWriter(); + out.extract(new StringReader(xml), sw, in); + System.out.println(sw.toString()); + + + out = new OutJson(); + + sw = new StringWriter(); + out.extract(new StringReader(xml), sw, in); + String json; + System.out.println(json = sw.toString()); + + in = new InJson(); + out = new OutRaw(); + + sw = new StringWriter(); + out.extract(new StringReader(json), sw, in); + System.out.println(sw.toString()); + + out = new OutXML(inXML); + + sw = new StringWriter(); + out.extract(new StringReader(json), sw, in, true); + System.out.println(sw.toString()); + + System.out.flush(); + + } } diff --git a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_Struct.java b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_Struct.java index 1209e77d..7e767e5d 100644 --- a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_Struct.java +++ b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_Struct.java @@ -27,47 +27,47 @@ import org.onap.aaf.misc.rosetta.JaxInfo; import s.xsd.LargerData; public class JU_Struct { - public final static String XML ="\n" + - "\n" + - "sd object 1\n" + - "1346439215932\n" + - "Item 1.1\n" + - "Item 1.2\n" + - "\n" + - "\n" + - "sd object 2\n" + - "1346439215932\n" + - "Item 2.1\n" + - "Item 2.2\n" + - "\n" + - "MyFluff\n" + - "\n"; - -// @Test -// public void test2() throws Exception { + public final static String XML ="\n" + + "\n" + + "sd object 1\n" + + "1346439215932\n" + + "Item 1.1\n" + + "Item 1.2\n" + + "\n" + + "\n" + + "sd object 2\n" + + "1346439215932\n" + + "Item 2.1\n" + + "Item 2.2\n" + + "\n" + + "MyFluff\n" + + "\n"; + +// @Test +// public void test2() throws Exception { // -// SampleData sd = new SampleData(); -// sd.setDate(new Date().getTime()); -// sd.setId("myId"); -// sd.getItem().add("Item 1.1"); -// -// InObj inObj = new InObj(SampleData.class); +// SampleData sd = new SampleData(); +// sd.setDate(new Date().getTime()); +// sd.setId("myId"); +// sd.getItem().add("Item 1.1"); +// +// InObj inObj = new InObj(SampleData.class); // -// JaxSet jaxSet = JaxSet.get(SampleData.class); -// Setter setter = jaxSet.setter("id"); -// setter.set(sd, "Your ID"); -// -// for(Entry> es : jaxSet.getters()) { -// System.out.print(es.getKey()); -// System.out.print(' '); -// System.out.println(es.getValue().get(sd)); -// } -// } - - @Test - public void test() throws Exception { - JaxInfo ji = JaxInfo.build(LargerData.class); - System.out.println(ji); - } +// JaxSet jaxSet = JaxSet.get(SampleData.class); +// Setter setter = jaxSet.setter("id"); +// setter.set(sd, "Your ID"); +// +// for(Entry> es : jaxSet.getters()) { +// System.out.print(es.getKey()); +// System.out.print(' '); +// System.out.println(es.getValue().get(sd)); +// } +// } + + @Test + public void test() throws Exception { + JaxInfo ji = JaxInfo.build(LargerData.class); + System.out.println(ji); + } } diff --git a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_Types.java b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_Types.java index 5d76e3cb..032f9f1c 100644 --- a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_Types.java +++ b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/JU_Types.java @@ -51,251 +51,251 @@ import types.xsd.Multi.Single; public class JU_Types { - @Test - public void single() throws Exception { - Single single = setSData(); - SingleMarshal psingle = new SingleMarshal(); - - OutRaw raw = new OutRaw(); - OutJson json = new OutJson(); - OutXML xml = new OutXML("Single","xmlns=urn:types:xsd"); - - - System.out.println("===== RAW ====="); - raw.extract(single, System.out, psingle); + @Test + public void single() throws Exception { + Single single = setSData(); + SingleMarshal psingle = new SingleMarshal(); + + OutRaw raw = new OutRaw(); + OutJson json = new OutJson(); + OutXML xml = new OutXML("Single","xmlns=urn:types:xsd"); + + + System.out.println("===== RAW ====="); + raw.extract(single, System.out, psingle); - System.out.println("\n===== JSON ====="); - json.extract(single, System.out, psingle); - - System.out.println("\n\n===== Pretty JSON ====="); - json.extract(single, System.out, psingle, true); + System.out.println("\n===== JSON ====="); + json.extract(single, System.out, psingle); + + System.out.println("\n\n===== Pretty JSON ====="); + json.extract(single, System.out, psingle, true); - System.out.println("\n\n===== XML ====="); - xml.extract(single, System.out, psingle,false); + System.out.println("\n\n===== XML ====="); + xml.extract(single, System.out, psingle,false); - System.out.println("\n\n===== Pretty XML ====="); - xml.extract(single, System.out, psingle, true); + System.out.println("\n\n===== Pretty XML ====="); + xml.extract(single, System.out, psingle, true); - RosettaEnv env = new RosettaEnv(); - StringWriter sw = new StringWriter(); - xml.extract(single, sw, psingle, true); - JAXBumar jumar = new JAXBumar(single.getClass()); - JAXBmar jmar = new JAXBmar(new QName("Single","urn.types.xsd"),single.getClass()); - jmar.pretty(true); - sw = new StringWriter(); - jmar.marshal(env.info(), single, sw); - System.out.println(sw); - Single news = jumar.unmarshal(env.info(), sw.toString()); -// System.out.println(news.getDatetime()); -// sw = new StringWriter(); -// news.setDatetime(Chrono.timeStamp()); -// xml.extract(single, sw, psingle, true); - news = jumar.unmarshal(env.info(), sw.toString()); - System.out.println(sw.toString()); - - String sample = "" - + "\n" - + "\nMyString" - + "\n2147483647" - + "\n9223372036854775807" - + "\n2015-05-27-05:00" - + "\n2015-05-27T07:05:04.234-05:00" - + "\nFF00FF0E082507807F" - + "\nString 1" - + "\nString 2" - + "\n"; - System.out.println(sample); - news = jumar.unmarshal(env.info(), sample); + RosettaEnv env = new RosettaEnv(); + StringWriter sw = new StringWriter(); + xml.extract(single, sw, psingle, true); + JAXBumar jumar = new JAXBumar(single.getClass()); + JAXBmar jmar = new JAXBmar(new QName("Single","urn.types.xsd"),single.getClass()); + jmar.pretty(true); + sw = new StringWriter(); + jmar.marshal(env.info(), single, sw); + System.out.println(sw); + Single news = jumar.unmarshal(env.info(), sw.toString()); +// System.out.println(news.getDatetime()); +// sw = new StringWriter(); +// news.setDatetime(Chrono.timeStamp()); +// xml.extract(single, sw, psingle, true); + news = jumar.unmarshal(env.info(), sw.toString()); + System.out.println(sw.toString()); + + String sample = "" + + "\n" + + "\nMyString" + + "\n2147483647" + + "\n9223372036854775807" + + "\n2015-05-27-05:00" + + "\n2015-05-27T07:05:04.234-05:00" + + "\nFF00FF0E082507807F" + + "\nString 1" + + "\nString 2" + + "\n"; + System.out.println(sample); + news = jumar.unmarshal(env.info(), sample); - System.out.println(news.getDatetime()); + System.out.println(news.getDatetime()); - } - - @Test - public void multi() throws Exception { - OutRaw raw = new OutRaw(); - OutJson json = new OutJson(); - OutXML xml = new OutXML("Multi","xmlns=urn:types:xsd"); + } + + @Test + public void multi() throws Exception { + OutRaw raw = new OutRaw(); + OutJson json = new OutJson(); + OutXML xml = new OutXML("Multi","xmlns=urn:types:xsd"); - Multi multi = new Multi(); - MultiMarshal pmulti = new MultiMarshal(); - - for(int i=0;i<10;++i) { - System.out.println("===== Multi Iteration " + i + " ====="); - if(i>0) { - multi.getSingle().add(setSData()); - } - System.out.println(" ===== RAW ====="); - raw.extract(multi, System.out, pmulti); - - System.out.println("\n ===== JSON ====="); - json.extract(multi, System.out, pmulti); - - System.out.println("\n\n ===== Pretty JSON ====="); - json.extract(multi, System.out, pmulti, true); - - System.out.println("\n\n ===== XML ====="); - xml.extract(multi, System.out, pmulti,false); - - System.out.println("\n\n ===== Pretty XML ====="); - xml.extract(multi, System.out, pmulti, true); - } - } + Multi multi = new Multi(); + MultiMarshal pmulti = new MultiMarshal(); + + for(int i=0;i<10;++i) { + System.out.println("===== Multi Iteration " + i + " ====="); + if(i>0) { + multi.getSingle().add(setSData()); + } + System.out.println(" ===== RAW ====="); + raw.extract(multi, System.out, pmulti); + + System.out.println("\n ===== JSON ====="); + json.extract(multi, System.out, pmulti); + + System.out.println("\n\n ===== Pretty JSON ====="); + json.extract(multi, System.out, pmulti, true); + + System.out.println("\n\n ===== XML ====="); + xml.extract(multi, System.out, pmulti,false); + + System.out.println("\n\n ===== Pretty XML ====="); + xml.extract(multi, System.out, pmulti, true); + } + } - @Test - public void doc() throws Exception { - OutRaw raw = new OutRaw(); - OutJson json = new OutJson(); - OutXML xml = new OutXML("Multi","xmlns=urn:types:xsd"); + @Test + public void doc() throws Exception { + OutRaw raw = new OutRaw(); + OutJson json = new OutJson(); + OutXML xml = new OutXML("Multi","xmlns=urn:types:xsd"); - Multi multi = new Multi(); - DocMarshal doc = DocMarshal.root(new MultiMarshal()); - - for(int i=0;i<3;++i) { - System.out.println("===== Multi Iteration " + i + " ====="); - if(i>0) { - multi.getSingle().add(setSData()); - } - System.out.println(" ===== RAW ====="); - raw.extract(multi, System.out, doc); - - System.out.println("\n ===== JSON ====="); - json.extract(multi, System.out, doc); - - System.out.println("\n\n ===== Pretty JSON ====="); - json.extract(multi, System.out, doc, true); - - System.out.println("\n\n ===== XML ====="); - xml.extract(multi, System.out, doc,false); - - System.out.println("\n\n ===== Pretty XML ====="); - xml.extract(multi, System.out, doc, true); - } - } + Multi multi = new Multi(); + DocMarshal doc = DocMarshal.root(new MultiMarshal()); + + for(int i=0;i<3;++i) { + System.out.println("===== Multi Iteration " + i + " ====="); + if(i>0) { + multi.getSingle().add(setSData()); + } + System.out.println(" ===== RAW ====="); + raw.extract(multi, System.out, doc); + + System.out.println("\n ===== JSON ====="); + json.extract(multi, System.out, doc); + + System.out.println("\n\n ===== Pretty JSON ====="); + json.extract(multi, System.out, doc, true); + + System.out.println("\n\n ===== XML ====="); + xml.extract(multi, System.out, doc,false); + + System.out.println("\n\n ===== Pretty XML ====="); + xml.extract(multi, System.out, doc, true); + } + } -// @Test -// public void saved() throws Exception { -// Saved saved = new Saved(); -// saved.extract(in, ignore, parser, options); -// } - - @Test - public void df() throws Exception { - RosettaEnv env = new RosettaEnv(); - RosettaDF df = env.newDataFactory(Multi.class); - df.out(TYPE.JSON).option(Data.PRETTY); - - Multi multi = new Multi(); - multi.getSingle().add(setSData()); - +// @Test +// public void saved() throws Exception { +// Saved saved = new Saved(); +// saved.extract(in, ignore, parser, options); +// } + + @Test + public void df() throws Exception { + RosettaEnv env = new RosettaEnv(); + RosettaDF df = env.newDataFactory(Multi.class); + df.out(TYPE.JSON).option(Data.PRETTY); + + Multi multi = new Multi(); + multi.getSingle().add(setSData()); + - System.out.println("========== Original loading"); - Trans trans = env.newTrans(); - RosettaData data = df.newData(trans); - // Prime pump - for(int i=0;i<100;++i) { - data.load(multi); - } - trans = env.newTrans(); - data = df.newData(trans); - - int iters = 10000; - for(int i=0;i data = df.newData(trans); + // Prime pump + for(int i=0;i<100;++i) { + data.load(multi); + } + trans = env.newTrans(); + data = df.newData(trans); + + int iters = 10000; + for(int i=0;i jin = new InJson(); -// Out jout = new OutJson(); +// @Test +// public void jsonInOut() throws IOException, ParseException { +// Parse jin = new InJson(); +// Out jout = new OutJson(); // -//// go(jin, jout, "{\"id\":\"Me, Myself\",\"date\":1353094689100}"); -// -// } - - - /* - private void go(Parse in, Out out, String str) throws IOException, ParseException { - - System.out.println(str); - StringWriter sw = new StringWriter(1024); - out.extract(new StringReader(str), sw, in); - System.out.println(sw); - String result = sw.toString(); - - if(!result.equals(str)) { - sw.getBuffer().setLength(0); - new OutRaw().extract(new StringReader(str), sw, in); - System.out.println(sw); - } +//// go(jin, jout, "{\"id\":\"Me, Myself\",\"date\":1353094689100}"); +// +// } + + + /* + private void go(Parse in, Out out, String str) throws IOException, ParseException { + + System.out.println(str); + StringWriter sw = new StringWriter(1024); + out.extract(new StringReader(str), sw, in); + System.out.println(sw); + String result = sw.toString(); + + if(!result.equals(str)) { + sw.getBuffer().setLength(0); + new OutRaw().extract(new StringReader(str), sw, in); + System.out.println(sw); + } - Assert.assertEquals(str,result); - System.out.println(); + Assert.assertEquals(str,result); + System.out.println(); - } - */ + } + */ } diff --git a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/OutDump.java b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/OutDump.java index ab0c921a..6ebd07a3 100644 --- a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/OutDump.java +++ b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/OutDump.java @@ -32,60 +32,60 @@ import org.onap.aaf.misc.rosetta.Parsed; public class OutDump extends Out{ - @Override - public void extract(IN in, Writer writer, Parse prs, boolean ... options) throws IOException, ParseException { - IndentPrintWriter ipw = writer instanceof IndentPrintWriter?(IndentPrintWriter)writer:new IndentPrintWriter(writer); + @Override + public void extract(IN in, Writer writer, Parse prs, boolean ... options) throws IOException, ParseException { + IndentPrintWriter ipw = writer instanceof IndentPrintWriter?(IndentPrintWriter)writer:new IndentPrintWriter(writer); - Parsed p = prs.newParsed(); - - while((p = prs.parse(in,p.reuse())).valid()) { - switch(p.event) { - case Parse.START_OBJ: - ipw.append("Start Object "); - ipw.append(p.name); - ipw.inc(); - break; - case Parse.END_OBJ: - printData(ipw,p); - ipw.dec(); - ipw.append("End Object "); - ipw.append(p.name); - break; - case Parse.START_ARRAY: - ipw.inc(); - ipw.append("Start Array "); - ipw.append(p.name); - ipw.append('\n'); - break; - case Parse.END_ARRAY: - printData(ipw,p); - ipw.dec(); - ipw.append("End Array "); - ipw.append('\n'); - break; - case Parse.NEXT: - printData(ipw,p); - break; - } - } - } - - private void printData(IndentPrintWriter ipw, Parsed parsed) { - if(parsed.hasData()) { - ipw.append("Data:["); - if(parsed.hasName()) { - ipw.append(parsed.name); - ipw.append(" : "); - } - ipw.append(parsed.sb); - ipw.append("]"); - ipw.append('\n'); - } - } + Parsed p = prs.newParsed(); + + while((p = prs.parse(in,p.reuse())).valid()) { + switch(p.event) { + case Parse.START_OBJ: + ipw.append("Start Object "); + ipw.append(p.name); + ipw.inc(); + break; + case Parse.END_OBJ: + printData(ipw,p); + ipw.dec(); + ipw.append("End Object "); + ipw.append(p.name); + break; + case Parse.START_ARRAY: + ipw.inc(); + ipw.append("Start Array "); + ipw.append(p.name); + ipw.append('\n'); + break; + case Parse.END_ARRAY: + printData(ipw,p); + ipw.dec(); + ipw.append("End Array "); + ipw.append('\n'); + break; + case Parse.NEXT: + printData(ipw,p); + break; + } + } + } + + private void printData(IndentPrintWriter ipw, Parsed parsed) { + if(parsed.hasData()) { + ipw.append("Data:["); + if(parsed.hasName()) { + ipw.append(parsed.name); + ipw.append(" : "); + } + ipw.append(parsed.sb); + ipw.append("]"); + ipw.append('\n'); + } + } - @Override - public String logName() { - return "Rosetta OutDump"; - } + @Override + public String logName() { + return "Rosetta OutDump"; + } } diff --git a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/Report.java b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/Report.java index 5c709adc..df4fec07 100644 --- a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/Report.java +++ b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/Report.java @@ -28,40 +28,40 @@ import org.onap.aaf.misc.env.Trans; import org.onap.aaf.misc.env.Trans.Metric; public class Report { - float total; - float buckets[]; - String[] names; - private int iterations; - private int count; - - public Report(int iters, String ... names) { - iterations = iters; - buckets = new float[names.length]; - this.names = names; - total=0; - count = 0; - } - - public void glean(Trans trans, int ... type) { - Metric m = trans.auditTrail(0, null, type); - total+=m.total; - int min = Math.min(buckets.length, m.buckets.length); - for(int b=0;b { - public MultiMarshal() { - add(new ObjArray("single",new SingleMarshal()) { - @Override - protected List data(Multi t) { - return t.getSingle(); - } - }); - } + public MultiMarshal() { + add(new ObjArray("single",new SingleMarshal()) { + @Override + protected List data(Multi t) { + return t.getSingle(); + } + }); + } } \ No newline at end of file diff --git a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/obj/SingleMarshal.java b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/obj/SingleMarshal.java index 932277de..bde91c9e 100644 --- a/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/obj/SingleMarshal.java +++ b/misc/rosetta/src/test/java/org/onap/aaf/misc/rosetta/test/obj/SingleMarshal.java @@ -37,55 +37,55 @@ import org.onap.aaf.misc.rosetta.marshal.ObjMarshal; import types.xsd.Multi.Single; public class SingleMarshal extends ObjMarshal { - public SingleMarshal() { - add(new FieldString("str") { - @Override - protected String data(Single t) { - return t.getStr(); - } - }); - - add(new FieldNumeric("int") { - @Override - protected Integer data(Single t) { - return t.getInt(); - } - }); - - add(new FieldNumeric("long") { - @Override - protected Long data(Single t) { - return t.getLong(); - } - }); + public SingleMarshal() { + add(new FieldString("str") { + @Override + protected String data(Single t) { + return t.getStr(); + } + }); + + add(new FieldNumeric("int") { + @Override + protected Integer data(Single t) { + return t.getInt(); + } + }); + + add(new FieldNumeric("long") { + @Override + protected Long data(Single t) { + return t.getLong(); + } + }); - add(new FieldDate("date") { - @Override - protected XMLGregorianCalendar data(Single t) { - return t.getDate(); - } - }); + add(new FieldDate("date") { + @Override + protected XMLGregorianCalendar data(Single t) { + return t.getDate(); + } + }); - add(new FieldDateTime("datetime") { - @Override - protected XMLGregorianCalendar data(Single t) { - return t.getDate(); - } - }); - - add(new FieldHexBinary("binary") { - @Override - protected byte[] data(Single t) { - return t.getBinary(); - } - }); - - add(new FieldArray("array", DataWriter.STRING) { - @Override - protected List data(Single t) { - return t.getArray(); - } - }); + add(new FieldDateTime("datetime") { + @Override + protected XMLGregorianCalendar data(Single t) { + return t.getDate(); + } + }); + + add(new FieldHexBinary("binary") { + @Override + protected byte[] data(Single t) { + return t.getBinary(); + } + }); + + add(new FieldArray("array", DataWriter.STRING) { + @Override + protected List data(Single t) { + return t.getArray(); + } + }); - } + } } \ No newline at end of file diff --git a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/Back.java b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/Back.java index 342e3ace..5bd24b02 100644 --- a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/Back.java +++ b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/Back.java @@ -22,13 +22,13 @@ package org.onap.aaf.misc.xgen; public class Back { - public String str; - public boolean dec; - public boolean cr; - - public Back(String string, boolean decrement, boolean newline) { - str = string; - dec = decrement; - cr = newline; - } + public String str; + public boolean dec; + public boolean cr; + + public Back(String string, boolean decrement, boolean newline) { + str = string; + dec = decrement; + cr = newline; + } } \ No newline at end of file diff --git a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/Cache.java b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/Cache.java index ce90bd13..0f6b0d9c 100644 --- a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/Cache.java +++ b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/Cache.java @@ -23,15 +23,15 @@ package org.onap.aaf.misc.xgen; public interface Cache> { - public void dynamic(G hgen, Code code); - - public static class Null> implements Cache { - @Override - public void dynamic(N hgen, Code code) {} // NO_OP, no matter what type + public void dynamic(G hgen, Code code); + + public static class Null> implements Cache { + @Override + public void dynamic(N hgen, Code code) {} // NO_OP, no matter what type - @SuppressWarnings("rawtypes") - private static Null singleton = new Null(); - public static Null singleton() { return singleton;} - } + @SuppressWarnings("rawtypes") + private static Null singleton = new Null(); + public static Null singleton() { return singleton;} + } } \ No newline at end of file diff --git a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/CacheGen.java b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/CacheGen.java index 417f80b7..3edf8b60 100644 --- a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/CacheGen.java +++ b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/CacheGen.java @@ -35,97 +35,97 @@ import org.onap.aaf.misc.xgen.html.Thematic; public abstract class CacheGen> { - public static final int NO_FLAGS = 0x0; - public final static int PRETTY = 0x1; - public final static int XML = 0x2; - public final static int HTML4 = 0x4; - public final static int HTML5 = 0x8; + public static final int NO_FLAGS = 0x0; + public final static int PRETTY = 0x1; + public final static int XML = 0x2; + public final static int HTML4 = 0x4; + public final static int HTML5 = 0x8; - - private ArrayList> sections = new ArrayList<>(); - private int flags; - private final Thematic thematic; + + private ArrayList> sections = new ArrayList<>(); + private int flags; + private final Thematic thematic; - public CacheGen(int flags, Code code) throws APIException, IOException { - this.flags = flags; - final XGenBuff buff = new XGenBuff(flags,this); - // Run to gather Strings and Code Class Segments - buff.run(new Cache() { - @Override - public void dynamic(G hgen, Code code) { - sections.add(buff.newSection()); - sections.add(new Dynamic(hgen.getIndent(),code)); - } - },code); - sections.add(buff.newSection()); - - // If Code implements thematic, set for later - thematic = code instanceof Thematic?(Thematic)code:null; + public CacheGen(int flags, Code code) throws APIException, IOException { + this.flags = flags; + final XGenBuff buff = new XGenBuff(flags,this); + // Run to gather Strings and Code Class Segments + buff.run(new Cache() { + @Override + public void dynamic(G hgen, Code code) { + sections.add(buff.newSection()); + sections.add(new Dynamic(hgen.getIndent(),code)); + } + },code); + sections.add(buff.newSection()); + + // If Code implements thematic, set for later + thematic = code instanceof Thematic?(Thematic)code:null; - } - - public abstract G create(int htmlStyle, Writer w); + } + + public abstract G create(int htmlStyle, Writer w); - public void replay(State state, Trans trans, OutputStream os, String theme) throws IOException, APIException { - replay(state, trans, new OutputStreamWriter(os), theme); - } - - public void replay(State state, Trans trans,Writer w, String theme) throws IOException, APIException { - if(thematic!=null) { - theme = thematic.themeResolve(theme); - } - /* Theme - trans.setTheme(theme); - int htmlStyle = state.htmlVer(theme); - */ - - XGenBuff buff = new XGenBuff(flags,this); - - // forward - int indent = 0; - Section s; - int i=0; - @SuppressWarnings("unchecked") - Section[] reverse = new Section[sections.size()]; - for(Section section : sections) { - s = section.use(state, trans, buff); // note, doesn't change cached, only dynamic, which is created for thread - int tempIndent = s.getIndent(); - s.setIndent(indent); - s.forward(w); - s.setIndent(tempIndent); - indent = tempIndent; - reverse[i++]=s; - } + public void replay(State state, Trans trans, OutputStream os, String theme) throws IOException, APIException { + replay(state, trans, new OutputStreamWriter(os), theme); + } + + public void replay(State state, Trans trans,Writer w, String theme) throws IOException, APIException { + if(thematic!=null) { + theme = thematic.themeResolve(theme); + } + /* Theme + trans.setTheme(theme); + int htmlStyle = state.htmlVer(theme); + */ + + XGenBuff buff = new XGenBuff(flags,this); + + // forward + int indent = 0; + Section s; + int i=0; + @SuppressWarnings("unchecked") + Section[] reverse = new Section[sections.size()]; + for(Section section : sections) { + s = section.use(state, trans, buff); // note, doesn't change cached, only dynamic, which is created for thread + int tempIndent = s.getIndent(); + s.setIndent(indent); + s.forward(w); + s.setIndent(tempIndent); + indent = tempIndent; + reverse[i++]=s; + } - for(--i;i>=0;--i) { - reverse[i].back(w); - } - w.flush(); - } - - private class Dynamic extends Section { - private Code code; - - public Dynamic(int indent, Code code) { - this.code = code; - this.indent = indent; - } + for(--i;i>=0;--i) { + reverse[i].back(w); + } + w.flush(); + } + + private class Dynamic extends Section { + private Code code; + + public Dynamic(int indent, Code code) { + this.code = code; + this.indent = indent; + } - @SuppressWarnings("unchecked") - public Section use(State state, Trans trans, XGenBuff buff) throws APIException, IOException { - // Clone Dynamic to make Thread Safe - Dynamic d = new Dynamic(indent,code); - buff.setIndent(indent); - if(code instanceof DynamicCode) { - buff.run(state,trans,Cache.Null.singleton(), (DynamicCode)code); - } else { - buff.run((Cache)Cache.Null.singleton(), code); - } - Section s = buff.newSection(); - d.indent = s.indent; - d.forward = s.forward; - d.backward = s.backward; - return d; - } - } + @SuppressWarnings("unchecked") + public Section use(State state, Trans trans, XGenBuff buff) throws APIException, IOException { + // Clone Dynamic to make Thread Safe + Dynamic d = new Dynamic(indent,code); + buff.setIndent(indent); + if(code instanceof DynamicCode) { + buff.run(state,trans,Cache.Null.singleton(), (DynamicCode)code); + } else { + buff.run((Cache)Cache.Null.singleton(), code); + } + Section s = buff.newSection(); + d.indent = s.indent; + d.forward = s.forward; + d.backward = s.backward; + return d; + } + } } diff --git a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/Code.java b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/Code.java index 68048431..971a56e4 100644 --- a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/Code.java +++ b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/Code.java @@ -26,5 +26,5 @@ import java.io.IOException; import org.onap.aaf.misc.env.APIException; public interface Code> { - public void code(Cache cache, G xgen) throws APIException, IOException; + public void code(Cache cache, G xgen) throws APIException, IOException; } \ No newline at end of file diff --git a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/DynamicCode.java b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/DynamicCode.java index a4194b97..8d4f4eec 100644 --- a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/DynamicCode.java +++ b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/DynamicCode.java @@ -35,10 +35,10 @@ import org.onap.aaf.misc.xgen.html.State; * */ public abstract class DynamicCode, AS extends State, TRANS extends Trans> implements Code { - public abstract void code(final AS state, final TRANS trans, final Cache cache, final G xgen) throws APIException, IOException; - - // We expect not to have this section of the code engaged at any time - public void code(final Cache cache, final G xgen) throws APIException, IOException { - code(null, null,cache,xgen); - } + public abstract void code(final AS state, final TRANS trans, final Cache cache, final G xgen) throws APIException, IOException; + + // We expect not to have this section of the code engaged at any time + public void code(final Cache cache, final G xgen) throws APIException, IOException { + code(null, null,cache,xgen); + } } diff --git a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/Mark.java b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/Mark.java index 80b0680d..f9c06c40 100644 --- a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/Mark.java +++ b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/Mark.java @@ -22,19 +22,19 @@ package org.onap.aaf.misc.xgen; public class Mark { - // package on purpose - int spot = 0; - public String comment; - - public Mark() { - comment = null; - } - - public Mark(String string) { - comment = string; - } + // package on purpose + int spot = 0; + public String comment; + + public Mark() { + comment = null; + } + + public Mark(String string) { + comment = string; + } - public void spot(int spot) { - this.spot = spot; - } + public void spot(int spot) { + this.spot = spot; + } } \ No newline at end of file diff --git a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/Section.java b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/Section.java index e73512c3..9f1f2a38 100644 --- a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/Section.java +++ b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/Section.java @@ -30,32 +30,32 @@ import org.onap.aaf.misc.env.Trans; import org.onap.aaf.misc.xgen.html.State; public class Section> { - protected int indent; - protected String forward; - protected String backward; - - // Default is to use the set Strings (static) - public Section use(State state, Trans trans, XGenBuff buff) throws APIException, IOException { - return this; - } - - public int getIndent() { - return indent; - } + protected int indent; + protected String forward; + protected String backward; + + // Default is to use the set Strings (static) + public Section use(State state, Trans trans, XGenBuff buff) throws APIException, IOException { + return this; + } + + public int getIndent() { + return indent; + } - public void setIndent(int indent) { - this.indent = indent; - } + public void setIndent(int indent) { + this.indent = indent; + } - public void forward(Writer w) throws IOException { - w.write(forward); - } - - public void back(Writer w) throws IOException { - w.write(backward); - } - - public String toString() { - return forward; - } + public void forward(Writer w) throws IOException { + w.write(forward); + } + + public void back(Writer w) throws IOException { + w.write(backward); + } + + public String toString() { + return forward; + } } \ No newline at end of file diff --git a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/XGen.java b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/XGen.java index 4bb6ee28..7b0a4263 100644 --- a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/XGen.java +++ b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/XGen.java @@ -30,267 +30,267 @@ import org.onap.aaf.misc.env.util.StringBuilderWriter; public class XGen> { - private static final int COMMENT_COLUMN = 40; - private StringBuilder backSB = new StringBuilder(); - private Stack backStack = new Stack(); - - protected XGen(Writer w) { - forward = new IndentPrintWriter(w); - } - - public int pushBack(Back b) { - int rv = backStack.size(); - backStack.push(b); - return rv; - } - - public boolean pretty = false; - protected IndentPrintWriter forward; - - public IndentPrintWriter getWriter() { - return forward; - } - - protected PrintWriter back = new PrintWriter( - new StringBuilderWriter(backSB)); - - @SuppressWarnings("unchecked") - public RT pretty() { - pretty = true; - return (RT) this; - } - - protected void prettyln(PrintWriter pw) { - if(pretty)pw.println(); - } - - public RT leaf(Mark mark, String tag, String ... args) { - mark.spot = backStack.size(); - return leaf(tag, args); - } - - @SuppressWarnings("unchecked") - public RT leaf(String tag, String ... attrs) { - forward.append('<'); - forward.append(tag); - addAttrs(attrs); - forward.append('>'); - back.append("'); - backStack.push(new Back(backSB.toString(), false, true)); - backSB.setLength(0); - return (RT)this; - } - - public RT incr(String tag, String ... args) { - return incr(null, tag, false, args); - } - - public RT incr(String tag, boolean oneLine, String ... args) { - return incr(null, tag, oneLine, args); - } - - public RT incr(Mark mark) { - return incr(mark,mark.comment, false, new String[0]); - } - - public RT incr(Mark mark, String tag, String ... attrs) { - return incr(mark, tag, false, attrs); - } - - @SuppressWarnings("unchecked") - public RT incr(Mark mark, String tag, boolean oneLine, String ... attrs) { - forward.append('<'); - forward.append(tag); - addAttrs(attrs); - forward.append('>'); - - back.append("'); - - if(pretty) { - if(mark!=null && mark.comment!=null) { - int fi = forward.getIndent()*IndentPrintWriter.INDENT_MULTIPLIER; - for(int i = fi+backSB.length();i<=COMMENT_COLUMN;++i) { - back.append(' '); - } - back.append(""); - - forward.toCol(COMMENT_COLUMN); - forward.append(""); - } - forward.inc(); - if(!oneLine) { - forward.println(); - } - back.println(); - } - if(mark!=null)mark.spot = backStack.size(); - backStack.push(new Back(backSB.toString(),true, false)); - backSB.setLength(0); - return (RT)this; - } - - @SuppressWarnings("unchecked") - public RT tagOnly(String tag, String ... attrs) { - forward.append('<'); - forward.append(tag); - addAttrs(attrs); - forward.append(" />"); - if(pretty) { - forward.println(); - } - return (RT)this; - } - - @SuppressWarnings("unchecked") - public RT text(String txt) { - forward.append(txt); - return (RT)this; - } - - @SuppressWarnings("unchecked") - public RT xml(String txt) { - for(int i=0; i': - forward.append(">"); - break; - case '&': - forward.append("&"); - break; - default: - forward.append(c); - } - } - return (RT)this; - } - - - @SuppressWarnings("unchecked") - public RT textCR(int tabs, String txt) { - for(int i=0;i0) { - forward.append(' '); - String[] split = attr.split("=",2); - switch(split.length) { - case 0: - break; - case 1: - forward.append(split[0]); -// forward.append("=\"\""); - break; - default: - forward.append(split[0]); - forward.append("=\""); - forward.append(split[1]); - forward.append('"'); - break; - } - } - } - } - } - - @SuppressWarnings("unchecked") - public RT comment(String string) { - if(pretty) { - forward.print(""); - } - return (RT)this; - } - - public void setIndent(int indent) { - forward.setIndent(indent); - forward.toIndent(); - } - - public int getIndent() { - return forward.getIndent(); - } + private static final int COMMENT_COLUMN = 40; + private StringBuilder backSB = new StringBuilder(); + private Stack backStack = new Stack(); + + protected XGen(Writer w) { + forward = new IndentPrintWriter(w); + } + + public int pushBack(Back b) { + int rv = backStack.size(); + backStack.push(b); + return rv; + } + + public boolean pretty = false; + protected IndentPrintWriter forward; + + public IndentPrintWriter getWriter() { + return forward; + } + + protected PrintWriter back = new PrintWriter( + new StringBuilderWriter(backSB)); + + @SuppressWarnings("unchecked") + public RT pretty() { + pretty = true; + return (RT) this; + } + + protected void prettyln(PrintWriter pw) { + if(pretty)pw.println(); + } + + public RT leaf(Mark mark, String tag, String ... args) { + mark.spot = backStack.size(); + return leaf(tag, args); + } + + @SuppressWarnings("unchecked") + public RT leaf(String tag, String ... attrs) { + forward.append('<'); + forward.append(tag); + addAttrs(attrs); + forward.append('>'); + back.append("'); + backStack.push(new Back(backSB.toString(), false, true)); + backSB.setLength(0); + return (RT)this; + } + + public RT incr(String tag, String ... args) { + return incr(null, tag, false, args); + } + + public RT incr(String tag, boolean oneLine, String ... args) { + return incr(null, tag, oneLine, args); + } + + public RT incr(Mark mark) { + return incr(mark,mark.comment, false, new String[0]); + } + + public RT incr(Mark mark, String tag, String ... attrs) { + return incr(mark, tag, false, attrs); + } + + @SuppressWarnings("unchecked") + public RT incr(Mark mark, String tag, boolean oneLine, String ... attrs) { + forward.append('<'); + forward.append(tag); + addAttrs(attrs); + forward.append('>'); + + back.append("'); + + if(pretty) { + if(mark!=null && mark.comment!=null) { + int fi = forward.getIndent()*IndentPrintWriter.INDENT_MULTIPLIER; + for(int i = fi+backSB.length();i<=COMMENT_COLUMN;++i) { + back.append(' '); + } + back.append(""); + + forward.toCol(COMMENT_COLUMN); + forward.append(""); + } + forward.inc(); + if(!oneLine) { + forward.println(); + } + back.println(); + } + if(mark!=null)mark.spot = backStack.size(); + backStack.push(new Back(backSB.toString(),true, false)); + backSB.setLength(0); + return (RT)this; + } + + @SuppressWarnings("unchecked") + public RT tagOnly(String tag, String ... attrs) { + forward.append('<'); + forward.append(tag); + addAttrs(attrs); + forward.append(" />"); + if(pretty) { + forward.println(); + } + return (RT)this; + } + + @SuppressWarnings("unchecked") + public RT text(String txt) { + forward.append(txt); + return (RT)this; + } + + @SuppressWarnings("unchecked") + public RT xml(String txt) { + for(int i=0; i': + forward.append(">"); + break; + case '&': + forward.append("&"); + break; + default: + forward.append(c); + } + } + return (RT)this; + } + + + @SuppressWarnings("unchecked") + public RT textCR(int tabs, String txt) { + for(int i=0;i0) { + forward.append(' '); + String[] split = attr.split("=",2); + switch(split.length) { + case 0: + break; + case 1: + forward.append(split[0]); +// forward.append("=\"\""); + break; + default: + forward.append(split[0]); + forward.append("=\""); + forward.append(split[1]); + forward.append('"'); + break; + } + } + } + } + } + + @SuppressWarnings("unchecked") + public RT comment(String string) { + if(pretty) { + forward.print(""); + } + return (RT)this; + } + + public void setIndent(int indent) { + forward.setIndent(indent); + forward.toIndent(); + } + + public int getIndent() { + return forward.getIndent(); + } } diff --git a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/XGenBuff.java b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/XGenBuff.java index d2578a34..5f11e4db 100644 --- a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/XGenBuff.java +++ b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/XGenBuff.java @@ -30,57 +30,57 @@ import org.onap.aaf.misc.env.util.StringBuilderWriter; import org.onap.aaf.misc.xgen.html.State; public class XGenBuff> { - private G xgen; - private StringBuilder sb; - // private String forward, backward; - - public XGenBuff(int flags, CacheGen cg) { - sb = new StringBuilder(); - xgen = cg.create(flags, new StringBuilderWriter(sb)); - } + private G xgen; + private StringBuilder sb; + // private String forward, backward; + + public XGenBuff(int flags, CacheGen cg) { + sb = new StringBuilder(); + xgen = cg.create(flags, new StringBuilderWriter(sb)); + } - /** - * Normal case of building up Cached HTML without transaction info - * - * @param cache - * @param code - * @throws APIException - * @throws IOException - */ - public void run(Cache cache, Code code) throws APIException, IOException { - code.code(cache, xgen); - } + /** + * Normal case of building up Cached HTML without transaction info + * + * @param cache + * @param code + * @throws APIException + * @throws IOException + */ + public void run(Cache cache, Code code) throws APIException, IOException { + code.code(cache, xgen); + } - /** - * Special Case where code is dynamic, so give access to State and Trans info - * - * @param state - * @param trans - * @param cache - * @param code - * @throws APIException - * @throws IOException - */ - @SuppressWarnings({ "unchecked", "rawtypes" }) - public void run(State state, Trans trans, Cache cache, DynamicCode code) throws APIException, IOException { - code.code(state, trans, cache, xgen); - } - - public int getIndent() { - return xgen.getIndent(); - } + /** + * Special Case where code is dynamic, so give access to State and Trans info + * + * @param state + * @param trans + * @param cache + * @param code + * @throws APIException + * @throws IOException + */ + @SuppressWarnings({ "unchecked", "rawtypes" }) + public void run(State state, Trans trans, Cache cache, DynamicCode code) throws APIException, IOException { + code.code(state, trans, cache, xgen); + } + + public int getIndent() { + return xgen.getIndent(); + } - public void setIndent(int indent) { - xgen.setIndent(indent); - } + public void setIndent(int indent) { + xgen.setIndent(indent); + } - public Section newSection() { - Section s = new Section(); - s.indent = xgen.getIndent(); - s.forward = sb.toString(); - sb.setLength(0); - s.backward = sb.toString(); - sb.setLength(0); - return s; - } + public Section newSection() { + Section s = new Section(); + s.indent = xgen.getIndent(); + s.forward = sb.toString(); + sb.setLength(0); + s.backward = sb.toString(); + sb.setLength(0); + return s; + } } diff --git a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/html/HTML4Gen.java b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/html/HTML4Gen.java index 34d798d5..16ac60ae 100644 --- a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/html/HTML4Gen.java +++ b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/html/HTML4Gen.java @@ -26,118 +26,118 @@ import java.io.Writer; import org.onap.aaf.misc.xgen.Mark; public class HTML4Gen extends HTMLGen { - private final static String DOCTYPE = - /* - ""; - ""; - */ - ""; + private final static String DOCTYPE = + /* + ""; + ""; + */ + ""; - public HTML4Gen(Writer w) { - super(w); - } + public HTML4Gen(Writer w) { + super(w); + } - @Override - public HTMLGen html(String ... attrib) { - forward.println(DOCTYPE); - return incr("html","xmlns=http://www.w3.org/1999/xhtml","xml:lang=en","lang=en"); - - } + @Override + public HTMLGen html(String ... attrib) { + forward.println(DOCTYPE); + return incr("html","xmlns=http://www.w3.org/1999/xhtml","xml:lang=en","lang=en"); + + } - @Override - public Mark head() { - Mark head = new Mark("head"); - incr(head); - return head; - } + @Override + public Mark head() { + Mark head = new Mark("head"); + incr(head); + return head; + } - @Override - public Mark body(String ... attrs) { - Mark body = new Mark("body"); - incr(body,"body",attrs); - return body; - } - - @Override - public HTML4Gen charset(String charset) { - forward.append(""); - prettyln(forward); - return this; - } + @Override + public Mark body(String ... attrs) { + Mark body = new Mark("body"); + incr(body,"body",attrs); + return body; + } + + @Override + public HTML4Gen charset(String charset) { + forward.append(""); + prettyln(forward); + return this; + } - @Override - public Mark header(String ... attribs) { - String[] a = new String[attribs.length+1]; - a[0]="header"; - System.arraycopy(attribs, 0, a, 1, attribs.length); - return divID(a); - } + @Override + public Mark header(String ... attribs) { + String[] a = new String[attribs.length+1]; + a[0]="header"; + System.arraycopy(attribs, 0, a, 1, attribs.length); + return divID(a); + } - @Override - public Mark footer(String ... attribs) { - String[] a = new String[attribs.length+1]; - a[0]="footer"; - System.arraycopy(attribs, 0, a, 1, attribs.length); - return divID(a); - } + @Override + public Mark footer(String ... attribs) { + String[] a = new String[attribs.length+1]; + a[0]="footer"; + System.arraycopy(attribs, 0, a, 1, attribs.length); + return divID(a); + } - @Override - public Mark section(String ... attribs) { - String[] a = new String[attribs.length+1]; - a[0]="section"; - System.arraycopy(attribs, 0, a, 1, attribs.length); - return divID(a); - } + @Override + public Mark section(String ... attribs) { + String[] a = new String[attribs.length+1]; + a[0]="section"; + System.arraycopy(attribs, 0, a, 1, attribs.length); + return divID(a); + } - @Override - public Mark article(String ... attribs) { - String[] a = new String[attribs.length+1]; - a[0]="attrib"; - System.arraycopy(attribs, 0, a, 1, attribs.length); - return divID(a); - } + @Override + public Mark article(String ... attribs) { + String[] a = new String[attribs.length+1]; + a[0]="attrib"; + System.arraycopy(attribs, 0, a, 1, attribs.length); + return divID(a); + } - @Override - public Mark aside(String ... attribs) { - String[] a = new String[attribs.length+1]; - a[0]="aside"; - System.arraycopy(attribs, 0, a, 1, attribs.length); - return divID(a); - } + @Override + public Mark aside(String ... attribs) { + String[] a = new String[attribs.length+1]; + a[0]="aside"; + System.arraycopy(attribs, 0, a, 1, attribs.length); + return divID(a); + } - @Override - public Mark nav(String ... attribs) { - String[] a = new String[attribs.length+1]; - a[0]="nav"; - System.arraycopy(attribs, 0, a, 1, attribs.length); - return divID(a); - } + @Override + public Mark nav(String ... attribs) { + String[] a = new String[attribs.length+1]; + a[0]="nav"; + System.arraycopy(attribs, 0, a, 1, attribs.length); + return divID(a); + } -// @Override -// protected void importCSS(Imports imports) { -// if(imports.css.size()==1) { -// cssInline(imports.css.get(0)); -// } else { -// text(""); -// prettyln(forward); -// } -// } - +// @Override +// protected void importCSS(Imports imports) { +// if(imports.css.size()==1) { +// cssInline(imports.css.get(0)); +// } else { +// text(""); +// prettyln(forward); +// } +// } + } diff --git a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/html/HTML5Gen.java b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/html/HTML5Gen.java index f155a65e..5e4cee7e 100644 --- a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/html/HTML5Gen.java +++ b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/html/HTML5Gen.java @@ -26,130 +26,130 @@ import java.io.Writer; import org.onap.aaf.misc.xgen.Mark; public class HTML5Gen extends HTMLGen { - public HTML5Gen(Writer w) { - super(w); - } - - @Override - public HTMLGen html(String ... attrib) { - //forward.println(""); - incr("html",attrib); - return this; - } - - @Override - public Mark head() { - Mark head = new Mark("head"); - incr(head).directive("meta","charset=utf-8"); - return head; - } - - @Override - public Mark body(String ... attrs) { - Mark body = new Mark("body"); - incr(body,"body",attrs); - //chromeFrame(); - return body; - } - - @Override - public HTML5Gen charset(String charset) { - forward.append(""); - prettyln(forward); - return this; - } - - @Override - public Mark header(String ... attribs) { - Mark mark = new Mark("header"); - incr(mark, mark.comment, attribs); - return mark; - } - - @Override - public Mark footer(String ... attribs) { - Mark mark = new Mark("footer"); - incr(mark, mark.comment, attribs); - return mark; - } - - @Override - public Mark section(String ... attribs) { - Mark mark = new Mark("section"); - incr(mark, mark.comment,attribs); - return mark; - } - - @Override - public Mark article(String ... attribs) { - Mark mark = new Mark("article"); - incr(mark, mark.comment,attribs); - return mark; - } - - @Override - public Mark aside(String ... attribs) { - Mark mark = new Mark("aside"); - incr(mark, mark.comment,attribs); - return mark; - } - - @Override - public Mark nav(String ... attribs) { - Mark mark = new Mark("nav"); - incr(mark, mark.comment,attribs); - return mark; - } - - -// @Override -// protected void importCSS(Imports imports) { -// if(imports.css.size() == 1) { -// cssInline(imports.css.get(0)); -// } else { -// for(String str : imports.css) { -// forward.print(""); -// } -// } -// } + public HTML5Gen(Writer w) { + super(w); + } + + @Override + public HTMLGen html(String ... attrib) { + //forward.println(""); + incr("html",attrib); + return this; + } + + @Override + public Mark head() { + Mark head = new Mark("head"); + incr(head).directive("meta","charset=utf-8"); + return head; + } + + @Override + public Mark body(String ... attrs) { + Mark body = new Mark("body"); + incr(body,"body",attrs); + //chromeFrame(); + return body; + } + + @Override + public HTML5Gen charset(String charset) { + forward.append(""); + prettyln(forward); + return this; + } + + @Override + public Mark header(String ... attribs) { + Mark mark = new Mark("header"); + incr(mark, mark.comment, attribs); + return mark; + } + + @Override + public Mark footer(String ... attribs) { + Mark mark = new Mark("footer"); + incr(mark, mark.comment, attribs); + return mark; + } + + @Override + public Mark section(String ... attribs) { + Mark mark = new Mark("section"); + incr(mark, mark.comment,attribs); + return mark; + } + + @Override + public Mark article(String ... attribs) { + Mark mark = new Mark("article"); + incr(mark, mark.comment,attribs); + return mark; + } + + @Override + public Mark aside(String ... attribs) { + Mark mark = new Mark("aside"); + incr(mark, mark.comment,attribs); + return mark; + } + + @Override + public Mark nav(String ... attribs) { + Mark mark = new Mark("nav"); + incr(mark, mark.comment,attribs); + return mark; + } + + +// @Override +// protected void importCSS(Imports imports) { +// if(imports.css.size() == 1) { +// cssInline(imports.css.get(0)); +// } else { +// for(String str : imports.css) { +// forward.print(""); +// } +// } +// } // - /* - public void chromeFrame() { - this.textCR(0,""); - } - */ + /* + public void chromeFrame() { + this.textCR(0,""); + } + */ } diff --git a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/html/HTMLCacheGen.java b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/html/HTMLCacheGen.java index 74c5a000..0c94d837 100644 --- a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/html/HTMLCacheGen.java +++ b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/html/HTMLCacheGen.java @@ -29,31 +29,31 @@ import org.onap.aaf.misc.xgen.CacheGen; import org.onap.aaf.misc.xgen.Code; public class HTMLCacheGen extends CacheGen { - protected int flags; - - public HTMLCacheGen(int flags, Code code) throws APIException,IOException { - super(flags, code); - this.flags = flags; - } - - @Override - public HTMLGen create(int htmlStyle, Writer w) { - HTMLGen hg; - switch(htmlStyle&(CacheGen.HTML4|CacheGen.HTML5)) { - case CacheGen.HTML4: - hg = new HTML4Gen(w); - break; - case CacheGen.HTML5: - default: - hg = new HTML5Gen(w); - break; - - } - hg.pretty = (htmlStyle&CacheGen.PRETTY)>0; - return hg; - } - - protected HTMLGen clone(Writer w) { - return create(flags,w); - } + protected int flags; + + public HTMLCacheGen(int flags, Code code) throws APIException,IOException { + super(flags, code); + this.flags = flags; + } + + @Override + public HTMLGen create(int htmlStyle, Writer w) { + HTMLGen hg; + switch(htmlStyle&(CacheGen.HTML4|CacheGen.HTML5)) { + case CacheGen.HTML4: + hg = new HTML4Gen(w); + break; + case CacheGen.HTML5: + default: + hg = new HTML5Gen(w); + break; + + } + hg.pretty = (htmlStyle&CacheGen.PRETTY)>0; + return hg; + } + + protected HTMLGen clone(Writer w) { + return create(flags,w); + } } diff --git a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/html/HTMLGen.java b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/html/HTMLGen.java index c3359745..b2fb81d1 100644 --- a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/html/HTMLGen.java +++ b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/html/HTMLGen.java @@ -27,214 +27,214 @@ import org.onap.aaf.misc.xgen.Mark; import org.onap.aaf.misc.xgen.XGen; public abstract class HTMLGen extends XGen { - public static final String A = "a"; - public static final String P = "p"; - public static final String LI = "li"; - public static final String OL = "ol"; - public static final String UL = "ul"; - - - public static final String TABLE = "table"; - public static final String THEAD = "thead"; - public static final String TBODY = "tbody"; - public static final String TR = "tr"; - public static final String TH = "th"; - public static final String TD = "td"; - - public static final String TITLE = "title"; - public static final String H1 = "h1"; - public static final String H2 = "h2"; - public static final String H3 = "h3"; - public static final String H4 = "h4"; - public static final String H5 = "h5"; - - - - // --------------------------- HTML Version Specific ----------------------- - public abstract HTMLGen html(String ... attributes); - public abstract HTMLGen charset(String charset); - public abstract Mark head(); - public abstract Mark body(String ... attribs); - - - // HTML 5 has simplified sectioning - public abstract Mark header(String ... attribs); - public abstract Mark footer(String ... attribs); - public abstract Mark section(String ... attribs); - public abstract Mark article(String ... attribs); - public abstract Mark aside(String ... attribs); - public abstract Mark nav(String ... attribs); - - // --------------------------- HTML Version Specific ----------------------- - - public HTMLGen imports(Imports imports) { - //this.imports=imports; - for(String str : imports.css) { - forward.print(""); - } - - for(String str : imports.js) { - forward.print(""); - } - return this; - } - - public HTMLGen jsVars(String ... attrs) { - forward.println(""); - return this; - } - - public HTMLGen(Writer w) { - super(w); - } - - /** - * Use "directive" to handle non-ended HTML tags like and - * @param tag - * @param attrs - * @return - */ - public HTMLGen directive(String tag, String ... attrs) { - forward.append('<'); - forward.append(tag); - addAttrs(attrs); - forward.append('>'); - if(pretty) { - forward.println(); - } - return this; - } - - public Mark divID(String ... attrs) { - Mark div; - if(attrs.length>0) { - div = new Mark(attrs[0]); - attrs[0]="id="+attrs[0]; - } else { - div = new Mark(); - } - incr(div, "div", attrs); - return div; - } - - public HTMLGen img(String ... attrs) { - return tagOnly("img", attrs); - } - - /** - * Input Cheesecake... creates a Label and Field in the form of Table Rows. - * Make sure you create a table first, ie. incr(HTMLGen.TABLE); - * - * Setting Required to "true" will add required Attribute to both Label and Field. In HTML5, "required" in the input will - * validate there is data in the fields before submitting. "required" does nothing for label, but allows for - * easy CSS coding... "label[required] { ... }", so that colors can be changed - * - * @param id - * @param label - * @param required - * @param attrs - * @return - */ - public HTMLGen input(String id, String label, boolean required, String ... attrs) { - Mark mtr = new Mark(TR); - Mark mtd = new Mark(TD); - incr(mtr); - incr(mtd); - incr("label",true, "for="+id,required?"required":null).text(label).end(); - end(mtd); - String nattrs[] = new String[attrs.length+(required?3:2)]; - nattrs[0]="id="+id; - nattrs[1]="name="+id; - System.arraycopy(attrs, 0, nattrs, 2, attrs.length); - if(required) { - nattrs[nattrs.length-1]="required"; - } - incr(mtd); - tagOnly("input",nattrs); - end(mtr); - return this; - } - - // Common tags that do not have standard endings. These are here to help people who don't know to pick directive - public HTMLGen br() { - forward.append("
"); - if(pretty) { - forward.println(); - } - return this; - } - - public HTMLGen p(String ... text) { - forward.append("

"); - for(String s : text) { - forward.append(s); - } - if(pretty) { - forward.println(); - } - return this; - } - - public HTMLGen hr() { - forward.append("


"); - if(pretty) { - forward.println(); - } - return this; - } - - public JSGen js(Mark mark) { - return new JSGen(mark, this); - } - - public JSGen js() { - return js(null); - } + public static final String A = "a"; + public static final String P = "p"; + public static final String LI = "li"; + public static final String OL = "ol"; + public static final String UL = "ul"; + + + public static final String TABLE = "table"; + public static final String THEAD = "thead"; + public static final String TBODY = "tbody"; + public static final String TR = "tr"; + public static final String TH = "th"; + public static final String TD = "td"; + + public static final String TITLE = "title"; + public static final String H1 = "h1"; + public static final String H2 = "h2"; + public static final String H3 = "h3"; + public static final String H4 = "h4"; + public static final String H5 = "h5"; + + + + // --------------------------- HTML Version Specific ----------------------- + public abstract HTMLGen html(String ... attributes); + public abstract HTMLGen charset(String charset); + public abstract Mark head(); + public abstract Mark body(String ... attribs); + + + // HTML 5 has simplified sectioning + public abstract Mark header(String ... attribs); + public abstract Mark footer(String ... attribs); + public abstract Mark section(String ... attribs); + public abstract Mark article(String ... attribs); + public abstract Mark aside(String ... attribs); + public abstract Mark nav(String ... attribs); + + // --------------------------- HTML Version Specific ----------------------- + + public HTMLGen imports(Imports imports) { + //this.imports=imports; + for(String str : imports.css) { + forward.print(""); + } + + for(String str : imports.js) { + forward.print(""); + } + return this; + } + + public HTMLGen jsVars(String ... attrs) { + forward.println(""); + return this; + } + + public HTMLGen(Writer w) { + super(w); + } + + /** + * Use "directive" to handle non-ended HTML tags like and + * @param tag + * @param attrs + * @return + */ + public HTMLGen directive(String tag, String ... attrs) { + forward.append('<'); + forward.append(tag); + addAttrs(attrs); + forward.append('>'); + if(pretty) { + forward.println(); + } + return this; + } + + public Mark divID(String ... attrs) { + Mark div; + if(attrs.length>0) { + div = new Mark(attrs[0]); + attrs[0]="id="+attrs[0]; + } else { + div = new Mark(); + } + incr(div, "div", attrs); + return div; + } + + public HTMLGen img(String ... attrs) { + return tagOnly("img", attrs); + } + + /** + * Input Cheesecake... creates a Label and Field in the form of Table Rows. + * Make sure you create a table first, ie. incr(HTMLGen.TABLE); + * + * Setting Required to "true" will add required Attribute to both Label and Field. In HTML5, "required" in the input will + * validate there is data in the fields before submitting. "required" does nothing for label, but allows for + * easy CSS coding... "label[required] { ... }", so that colors can be changed + * + * @param id + * @param label + * @param required + * @param attrs + * @return + */ + public HTMLGen input(String id, String label, boolean required, String ... attrs) { + Mark mtr = new Mark(TR); + Mark mtd = new Mark(TD); + incr(mtr); + incr(mtd); + incr("label",true, "for="+id,required?"required":null).text(label).end(); + end(mtd); + String nattrs[] = new String[attrs.length+(required?3:2)]; + nattrs[0]="id="+id; + nattrs[1]="name="+id; + System.arraycopy(attrs, 0, nattrs, 2, attrs.length); + if(required) { + nattrs[nattrs.length-1]="required"; + } + incr(mtd); + tagOnly("input",nattrs); + end(mtr); + return this; + } + + // Common tags that do not have standard endings. These are here to help people who don't know to pick directive + public HTMLGen br() { + forward.append("
"); + if(pretty) { + forward.println(); + } + return this; + } + + public HTMLGen p(String ... text) { + forward.append("

"); + for(String s : text) { + forward.append(s); + } + if(pretty) { + forward.println(); + } + return this; + } + + public HTMLGen hr() { + forward.append("


"); + if(pretty) { + forward.println(); + } + return this; + } + + public JSGen js(Mark mark) { + return new JSGen(mark, this); + } + + public JSGen js() { + return js(null); + } // -// protected void cssInline(String filename) { -// File file = new File(imports.webDir,filename); -// try { -// String line; -// BufferedReader br = new BufferedReader(new FileReader(file)); -// try { -// forward.print(""); -// prettyln(forward); -// br.close(); -// } -// } catch (IOException e) { -// e.printStackTrace(); -// // Can't read, suffice to import normally? -// // for now, just skip -// } -// } - +// protected void cssInline(String filename) { +// File file = new File(imports.webDir,filename); +// try { +// String line; +// BufferedReader br = new BufferedReader(new FileReader(file)); +// try { +// forward.print(""); +// prettyln(forward); +// br.close(); +// } +// } catch (IOException e) { +// e.printStackTrace(); +// // Can't read, suffice to import normally? +// // for now, just skip +// } +// } + } diff --git a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/html/Imports.java b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/html/Imports.java index 17678b3f..00e7f30f 100644 --- a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/html/Imports.java +++ b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/html/Imports.java @@ -25,73 +25,73 @@ import java.util.ArrayList; import java.util.List; public class Imports implements Thematic{ - List css; - List js; - public final int backdots; - private String theme; - - public Imports(int backdots) { - - css = new ArrayList<>(); - js = new ArrayList<>(); - this.backdots = backdots; - theme = ""; - } - - public Imports css(String str) { - css.add(str); - return this; - } - - public Imports js(String str) { - js.add(str); - return this; - } + List css; + List js; + public final int backdots; + private String theme; + + public Imports(int backdots) { + + css = new ArrayList<>(); + js = new ArrayList<>(); + this.backdots = backdots; + theme = ""; + } + + public Imports css(String str) { + css.add(str); + return this; + } + + public Imports js(String str) { + js.add(str); + return this; + } - public Imports theme(String str) { - theme = str==null?"":str; - return this; - } + public Imports theme(String str) { + theme = str==null?"":str; + return this; + } - /** - * Pass in a possible Theme. If it is "" or null, it will resolve to default Theme set in Imports - * - * @param theTheme - * @return - */ - @Override - public String themePath(String theTheme) { - StringBuilder src = dots(new StringBuilder()); - if(theTheme==null||theTheme.length()==0) { - src.append(theme); - if(theme.length()>0)src.append('/'); - } else { - src.append(theTheme); - src.append('/'); - } + /** + * Pass in a possible Theme. If it is "" or null, it will resolve to default Theme set in Imports + * + * @param theTheme + * @return + */ + @Override + public String themePath(String theTheme) { + StringBuilder src = dots(new StringBuilder()); + if(theTheme==null||theTheme.length()==0) { + src.append(theme); + if(theme.length()>0)src.append('/'); + } else { + src.append(theTheme); + src.append('/'); + } - return src.toString(); - } - - /** - * Pass in a possible Theme. If it is "" or null, it will resolve to default Theme set in Imports - * - * @param theTheme - * @return - */ - @Override - public String themeResolve(String theTheme) { - return (theTheme==null||theTheme.length()==0) - ?theme - :theTheme; - } + return src.toString(); + } + + /** + * Pass in a possible Theme. If it is "" or null, it will resolve to default Theme set in Imports + * + * @param theTheme + * @return + */ + @Override + public String themeResolve(String theTheme) { + return (theTheme==null||theTheme.length()==0) + ?theme + :theTheme; + } - public StringBuilder dots(StringBuilder src) { - for(int i=0;i0) ipw.print(' '); - ipw.print(el); - } - } - ipw.println(); - } else { - ipw.print(line.trim()); - } - } - } finally { - htmlGen.setIndent(indent); - try { - br.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - return this; - } - - public JSGen pst(String ... lines) { - return pst(null, lines); - } - - public JSGen pst(Mark jm, String ... lines) { - if(lines.length>0) ipw.append(lines[0]); - ipw.append('('); - for(int i=1;i0) ipw.print(' '); + ipw.print(el); + } + } + ipw.println(); + } else { + ipw.print(line.trim()); + } + } + } finally { + htmlGen.setIndent(indent); + try { + br.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + return this; + } + + public JSGen pst(String ... lines) { + return pst(null, lines); + } + + public JSGen pst(Mark jm, String ... lines) { + if(lines.length>0) ipw.append(lines[0]); + ipw.append('('); + for(int i=1;i0)ipw.println(); - ipw.print(lines[i]); - } - ipw.setIndent(current); - ipw.append(';'); - if(htmlGen.pretty)ipw.println(); - return this; - } - - public JSGen text(String text) { - ipw.append(text); - if(htmlGen.pretty)ipw.println(); - return this; - } + if(htmlGen.pretty) { + back = new Back(");\n",false,false); + } else { + back = new Back(");",false,false); + } + int spot = htmlGen.pushBack(back); + if(jm!=null)jm.spot(spot); + return this; + } + + public JSGen li(String ... lines) { + int current = ipw.getIndent(); + for(int i=0;i0)ipw.println(); + ipw.print(lines[i]); + } + ipw.setIndent(current); + ipw.append(';'); + if(htmlGen.pretty)ipw.println(); + return this; + } + + public JSGen text(String text) { + ipw.append(text); + if(htmlGen.pretty)ipw.println(); + return this; + } - public JSGen function(String name, String ... params) { - return function(null, name, params); - } - - public JSGen jqfunc(Mark mark, String name, String ... params) { - pst(mark,"$").function(name, params); - return this; - } - - public JSGen function(Mark jm, String name, String ... params) { - ipw.print("function "); - ipw.print(name); - ipw.print('('); - for(int i=0;i0)ipw.println(); - ipw.print(lines[i]); - } - ipw.setIndent(current); - ipw.print('{'); - if(htmlGen.pretty) { - ipw.println(); - ipw.inc(); - } - int spot = htmlGen.pushBack(new Back("}",true,true)); - if(jm!=null)jm.spot(spot); - return this; + public JSGen cb(Mark jm, String ... lines) { + int current = ipw.getIndent(); + for(int i=0;i0)ipw.println(); + ipw.print(lines[i]); + } + ipw.setIndent(current); + ipw.print('{'); + if(htmlGen.pretty) { + ipw.println(); + ipw.inc(); + } + int spot = htmlGen.pushBack(new Back("}",true,true)); + if(jm!=null)jm.spot(spot); + return this; - } + } - - public JSGen comment(String ... lines) { - if(htmlGen.pretty) { - for(int i=0;i { - public XMLCacheGen(int flags, Code code) throws APIException, - IOException { - super(flags, code); - } + public XMLCacheGen(int flags, Code code) throws APIException, + IOException { + super(flags, code); + } - @Override - public XMLGen create(int style, Writer w) { - XMLGen xg = new XMLGen(w); - xg.pretty = (style & PRETTY)==PRETTY; - return xg; - } + @Override + public XMLGen create(int style, Writer w) { + XMLGen xg = new XMLGen(w); + xg.pretty = (style & PRETTY)==PRETTY; + return xg; + } } diff --git a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/xml/XMLGen.java b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/xml/XMLGen.java index 6683c627..a5d75453 100644 --- a/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/xml/XMLGen.java +++ b/misc/xgen/src/main/java/org/onap/aaf/misc/xgen/xml/XMLGen.java @@ -26,19 +26,19 @@ import java.io.Writer; import org.onap.aaf.misc.xgen.XGen;; public class XMLGen extends XGen { - private final String XML_TAG; - - public XMLGen(Writer w) { - this(w,"UTF-8"); - } - - public XMLGen(Writer w, String encoding) { - super(w); - XML_TAG=""; - } + private final String XML_TAG; + + public XMLGen(Writer w) { + this(w,"UTF-8"); + } + + public XMLGen(Writer w, String encoding) { + super(w); + XML_TAG=""; + } - public XMLGen xml() { - forward.println(XML_TAG); - return this; - } + public XMLGen xml() { + forward.println(XML_TAG); + return this; + } } diff --git a/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/JU_BackTest.java b/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/JU_BackTest.java index 6a3eb15e..aa877966 100644 --- a/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/JU_BackTest.java +++ b/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/JU_BackTest.java @@ -26,12 +26,12 @@ import org.junit.Test; public class JU_BackTest { - @Test - public void testBackConstructor() { - Back back = new Back("String", true, false); + @Test + public void testBackConstructor() { + Back back = new Back("String", true, false); - assertEquals(back.str, "String"); - assertEquals(back.dec, true); - assertEquals(back.cr, false); - } + assertEquals(back.str, "String"); + assertEquals(back.dec, true); + assertEquals(back.cr, false); + } } \ No newline at end of file diff --git a/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/JU_DynamicCodeTest.java b/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/JU_DynamicCodeTest.java index 5aead073..2a66f851 100644 --- a/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/JU_DynamicCodeTest.java +++ b/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/JU_DynamicCodeTest.java @@ -37,29 +37,29 @@ import org.onap.aaf.misc.xgen.html.State; public class JU_DynamicCodeTest { - @Test - public void test() throws APIException, IOException { - final Cache cache1 = new Cache() { + @Test + public void test() throws APIException, IOException { + final Cache cache1 = new Cache() { - @Override - public void dynamic(HTMLGen hgen, Code code) { - } - }; + @Override + public void dynamic(HTMLGen hgen, Code code) { + } + }; - final HTMLGen xgen1 = new HTML4Gen(new PrintWriter(System.out)); - DynamicCode, Trans> g = new DynamicCode, Trans>() { + final HTMLGen xgen1 = new HTML4Gen(new PrintWriter(System.out)); + DynamicCode, Trans> g = new DynamicCode, Trans>() { - @Override - public void code(State state, Trans trans, Cache cache, HTMLGen xgen) - throws APIException, IOException { - assertNull(state); - assertNull(trans); - assertEquals(cache, cache1); - assertEquals(xgen, xgen1); - } - }; + @Override + public void code(State state, Trans trans, Cache cache, HTMLGen xgen) + throws APIException, IOException { + assertNull(state); + assertNull(trans); + assertEquals(cache, cache1); + assertEquals(xgen, xgen1); + } + }; - g.code(cache1, xgen1); - } + g.code(cache1, xgen1); + } } diff --git a/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/JU_MarkTest.java b/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/JU_MarkTest.java index 200bde6e..9a5378a7 100644 --- a/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/JU_MarkTest.java +++ b/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/JU_MarkTest.java @@ -26,16 +26,16 @@ import org.junit.Test; public class JU_MarkTest { - @Test - public void testMark() { - Mark mark = new Mark(); - assertEquals(mark.spot, 0); - assertEquals(mark.comment, null); + @Test + public void testMark() { + Mark mark = new Mark(); + assertEquals(mark.spot, 0); + assertEquals(mark.comment, null); - mark = new Mark("New Comment"); - mark.spot(10); - assertEquals(mark.spot, 10); - assertEquals(mark.comment, "New Comment"); + mark = new Mark("New Comment"); + mark.spot(10); + assertEquals(mark.spot, 10); + assertEquals(mark.comment, "New Comment"); - } + } } \ No newline at end of file diff --git a/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/JU_NullCacheTest.java b/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/JU_NullCacheTest.java index 5b5f816a..0f996d5c 100644 --- a/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/JU_NullCacheTest.java +++ b/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/JU_NullCacheTest.java @@ -27,9 +27,9 @@ import org.onap.aaf.misc.xgen.Cache.Null; public class JU_NullCacheTest { - @Test - public void testNullIsSingleton() { - Null singleton = Cache.Null.singleton(); - assertEquals(singleton, Cache.Null.singleton()); - } + @Test + public void testNullIsSingleton() { + Null singleton = Cache.Null.singleton(); + assertEquals(singleton, Cache.Null.singleton()); + } } diff --git a/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/JU_SectionTest.java b/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/JU_SectionTest.java index a45ea158..44ca3a14 100644 --- a/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/JU_SectionTest.java +++ b/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/JU_SectionTest.java @@ -34,31 +34,31 @@ import org.onap.aaf.misc.env.APIException; public class JU_SectionTest { - @Mock - private Writer writer; + @Mock + private Writer writer; - @Before - public void setup() { - writer = mock(Writer.class); - } + @Before + public void setup() { + writer = mock(Writer.class); + } - @Test - @SuppressWarnings({ "rawtypes", "unchecked" }) - public void test() throws APIException, IOException { - Section section = new Section(); - section.forward = "Forward"; - section.backward = "Backward"; + @Test + @SuppressWarnings({ "rawtypes", "unchecked" }) + public void test() throws APIException, IOException { + Section section = new Section(); + section.forward = "Forward"; + section.backward = "Backward"; - section.setIndent(10); - section.forward(writer); - section.back(writer); + section.setIndent(10); + section.forward(writer); + section.back(writer); - assertEquals(section.use(null, null, null), section); - assertEquals(section.getIndent(), 10); - assertEquals(section.toString(), "Forward"); + assertEquals(section.use(null, null, null), section); + assertEquals(section.getIndent(), 10); + assertEquals(section.toString(), "Forward"); - verify(writer).write("Forward"); - verify(writer).write("Backward"); - } + verify(writer).write("Forward"); + verify(writer).write("Backward"); + } } diff --git a/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/html/JU_HTML4GenTest.java b/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/html/JU_HTML4GenTest.java index 9160095d..6fa2afb8 100644 --- a/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/html/JU_HTML4GenTest.java +++ b/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/html/JU_HTML4GenTest.java @@ -36,280 +36,280 @@ import org.mockito.Mock; public class JU_HTML4GenTest { - private final static String DOCTYPE = ""; + private final static String DOCTYPE = ""; - private String charset = "utf-8"; + private String charset = "utf-8"; - private final String CHARSET_LINE = ""; + private final String CHARSET_LINE = ""; - @Mock - Writer w; + @Mock + Writer w; - @Before - public void setUp() throws Exception { + @Before + public void setUp() throws Exception { - w = mock(Writer.class); - } + w = mock(Writer.class); + } - @Test - public void testHTML() throws IOException { + @Test + public void testHTML() throws IOException { - HTML4Gen gen = new HTML4Gen(w); + HTML4Gen gen = new HTML4Gen(w); - gen.html("attributes"); + gen.html("attributes"); - Map map = new TreeMap<>(); - for (char ch : DOCTYPE.toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + Map map = new TreeMap<>(); + for (char ch : DOCTYPE.toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : "html".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "html".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : map.keySet()) { - verify(w, atLeast(map.get(ch))).write(ch); - } - verify(w, atLeast(1)).write(anyInt()); - } + for (char ch : map.keySet()) { + verify(w, atLeast(map.get(ch))).write(ch); + } + verify(w, atLeast(1)).write(anyInt()); + } - @Test - public void testHead() throws IOException { + @Test + public void testHead() throws IOException { - HTML4Gen gen = new HTML4Gen(w); + HTML4Gen gen = new HTML4Gen(w); - gen.head(); + gen.head(); - Map map = new TreeMap<>(); + Map map = new TreeMap<>(); - for (char ch : "head".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "head".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : map.keySet()) { - verify(w, atLeast(map.get(ch))).write(ch); - } - } + for (char ch : map.keySet()) { + verify(w, atLeast(map.get(ch))).write(ch); + } + } - @Test - public void testBody() throws IOException { + @Test + public void testBody() throws IOException { - HTML4Gen gen = new HTML4Gen(w); + HTML4Gen gen = new HTML4Gen(w); - gen.body("attributes"); + gen.body("attributes"); - Map map = new TreeMap<>(); + Map map = new TreeMap<>(); - for (char ch : "body".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } - for (char ch : "attributes".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "body".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } + for (char ch : "attributes".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : map.keySet()) { - verify(w, atLeast(map.get(ch))).write(ch); - } - } + for (char ch : map.keySet()) { + verify(w, atLeast(map.get(ch))).write(ch); + } + } - @Test - public void testCharSet() throws IOException { + @Test + public void testCharSet() throws IOException { - HTML4Gen gen = new HTML4Gen(w); + HTML4Gen gen = new HTML4Gen(w); - gen.charset(charset); + gen.charset(charset); - Map map = new TreeMap<>(); + Map map = new TreeMap<>(); - for (char ch : CHARSET_LINE.toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : CHARSET_LINE.toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : map.keySet()) { - verify(w, atLeast(map.get(ch))).write(ch); - } - } + for (char ch : map.keySet()) { + verify(w, atLeast(map.get(ch))).write(ch); + } + } - @Test - public void testHeader() throws IOException { + @Test + public void testHeader() throws IOException { - HTML4Gen gen = new HTML4Gen(w); + HTML4Gen gen = new HTML4Gen(w); - gen.header("attributes"); + gen.header("attributes"); - Map map = new TreeMap<>(); + Map map = new TreeMap<>(); - for (char ch : "header".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "header".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : "div".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "div".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : "attributes".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "attributes".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : map.keySet()) { - verify(w, atLeast(map.get(ch))).write(ch); - } - } + for (char ch : map.keySet()) { + verify(w, atLeast(map.get(ch))).write(ch); + } + } - @Test - public void testFooter() throws IOException { + @Test + public void testFooter() throws IOException { - HTML4Gen gen = new HTML4Gen(w); + HTML4Gen gen = new HTML4Gen(w); - gen.footer("attributes"); + gen.footer("attributes"); - Map map = new TreeMap<>(); + Map map = new TreeMap<>(); - for (char ch : "footer".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "footer".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : "div".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "div".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : "attributes".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "attributes".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : map.keySet()) { - verify(w, atLeast(map.get(ch))).write(ch); - } - } + for (char ch : map.keySet()) { + verify(w, atLeast(map.get(ch))).write(ch); + } + } - @Test - public void testSection() throws IOException { + @Test + public void testSection() throws IOException { - HTML4Gen gen = new HTML4Gen(w); + HTML4Gen gen = new HTML4Gen(w); - gen.section("attributes"); + gen.section("attributes"); - Map map = new TreeMap<>(); + Map map = new TreeMap<>(); - for (char ch : "section".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "section".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : "div".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "div".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : "attributes".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "attributes".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : map.keySet()) { - verify(w, atLeast(map.get(ch))).write(ch); - } - } + for (char ch : map.keySet()) { + verify(w, atLeast(map.get(ch))).write(ch); + } + } - @Test - public void testArticle() throws IOException { + @Test + public void testArticle() throws IOException { - HTML4Gen gen = new HTML4Gen(w); + HTML4Gen gen = new HTML4Gen(w); - gen.article("attributes"); + gen.article("attributes"); - Map map = new TreeMap<>(); + Map map = new TreeMap<>(); - for (char ch : "attrib".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "attrib".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : "div".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "div".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : "attributes".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "attributes".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : map.keySet()) { - verify(w, atLeast(map.get(ch))).write(ch); - } - } + for (char ch : map.keySet()) { + verify(w, atLeast(map.get(ch))).write(ch); + } + } - @Test - public void testAside() throws IOException { + @Test + public void testAside() throws IOException { - HTML4Gen gen = new HTML4Gen(w); + HTML4Gen gen = new HTML4Gen(w); - gen.aside("attributes"); + gen.aside("attributes"); - Map map = new TreeMap<>(); + Map map = new TreeMap<>(); - for (char ch : "aside".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "aside".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : "div".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "div".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : "attributes".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "attributes".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : map.keySet()) { - verify(w, atLeast(map.get(ch))).write(ch); - } - } + for (char ch : map.keySet()) { + verify(w, atLeast(map.get(ch))).write(ch); + } + } - @Test - public void testNav() throws IOException { + @Test + public void testNav() throws IOException { - HTML4Gen gen = new HTML4Gen(w); + HTML4Gen gen = new HTML4Gen(w); - gen.nav("attributes"); + gen.nav("attributes"); - Map map = new TreeMap<>(); + Map map = new TreeMap<>(); - for (char ch : "nav".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "nav".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : "div".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "div".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : "attributes".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "attributes".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : map.keySet()) { - verify(w, atLeast(map.get(ch))).write(ch); - } - } + for (char ch : map.keySet()) { + verify(w, atLeast(map.get(ch))).write(ch); + } + } } diff --git a/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/html/JU_HTML5GenTest.java b/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/html/JU_HTML5GenTest.java index 69ebf89b..6426fae5 100644 --- a/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/html/JU_HTML5GenTest.java +++ b/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/html/JU_HTML5GenTest.java @@ -36,100 +36,100 @@ import org.mockito.Mock; public class JU_HTML5GenTest { -// private final static String DOCTYPE = ""; +// private final static String DOCTYPE = ""; - private String charset = "utf-8"; + private String charset = "utf-8"; - private final String CHARSET_LINE = ""; + private final String CHARSET_LINE = ""; - @Mock - Writer w; + @Mock + Writer w; - @Before - public void setUp() throws Exception { + @Before + public void setUp() throws Exception { - w = mock(Writer.class); - } + w = mock(Writer.class); + } - @Test - public void testHTML() throws IOException { + @Test + public void testHTML() throws IOException { - HTML5Gen gen = new HTML5Gen(w); + HTML5Gen gen = new HTML5Gen(w); - gen.html("attributes"); + gen.html("attributes"); - Map map = new TreeMap<>(); + Map map = new TreeMap<>(); - for (char ch : "html".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "html".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : map.keySet()) { - verify(w, atLeast(map.get(ch))).write(ch); - } - verify(w, atLeast(1)).write(anyInt()); - } + for (char ch : map.keySet()) { + verify(w, atLeast(map.get(ch))).write(ch); + } + verify(w, atLeast(1)).write(anyInt()); + } - @Test - public void testHead() throws IOException { + @Test + public void testHead() throws IOException { - HTML5Gen gen = new HTML5Gen(w); + HTML5Gen gen = new HTML5Gen(w); - gen.head(); + gen.head(); - Map map = new TreeMap<>(); + Map map = new TreeMap<>(); - for (char ch : "head".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "head".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : map.keySet()) { - verify(w, atLeast(map.get(ch))).write(ch); - } - } + for (char ch : map.keySet()) { + verify(w, atLeast(map.get(ch))).write(ch); + } + } - @Test - public void testBody() throws IOException { + @Test + public void testBody() throws IOException { - HTML5Gen gen = new HTML5Gen(w); + HTML5Gen gen = new HTML5Gen(w); - gen.body("attributes"); + gen.body("attributes"); - Map map = new TreeMap<>(); + Map map = new TreeMap<>(); - for (char ch : "body".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } - for (char ch : "attributes".toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : "body".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } + for (char ch : "attributes".toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : map.keySet()) { - verify(w, atLeast(map.get(ch))).write(ch); - } - } + for (char ch : map.keySet()) { + verify(w, atLeast(map.get(ch))).write(ch); + } + } - @Test - public void testCharSet() throws IOException { + @Test + public void testCharSet() throws IOException { - HTML5Gen gen = new HTML5Gen(w); + HTML5Gen gen = new HTML5Gen(w); - gen.charset(charset); + gen.charset(charset); - Map map = new TreeMap<>(); + Map map = new TreeMap<>(); - for (char ch : CHARSET_LINE.toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : CHARSET_LINE.toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : map.keySet()) { - verify(w, atLeast(map.get(ch))).write(ch); - } - } + for (char ch : map.keySet()) { + verify(w, atLeast(map.get(ch))).write(ch); + } + } } diff --git a/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/html/JU_ImportsTest.java b/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/html/JU_ImportsTest.java index 4a6ce6b8..c9de2d14 100644 --- a/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/html/JU_ImportsTest.java +++ b/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/html/JU_ImportsTest.java @@ -27,28 +27,28 @@ import org.junit.Test; public class JU_ImportsTest { - @Before - public void setUp() throws Exception { - } - - @Test - public void test() { - Imports imports = new Imports(2); - imports.css("styles.css"); - imports.js("main.js"); - imports.theme("New Theme"); - - assertEquals("New Theme", imports.themeResolve(null)); - assertEquals("New Theme", imports.themeResolve("")); - assertEquals("The Theme", imports.themeResolve("The Theme")); - - assertEquals("build/../../", imports.dots(new StringBuilder("build/")).toString()); - assertEquals("../../Theme/", imports.themePath("Theme")); - assertEquals("../../New Theme/", imports.themePath("")); - assertEquals("../../New Theme/", imports.themePath(null)); - - imports.theme(null); - assertEquals("../../", imports.themePath(null)); - } + @Before + public void setUp() throws Exception { + } + + @Test + public void test() { + Imports imports = new Imports(2); + imports.css("styles.css"); + imports.js("main.js"); + imports.theme("New Theme"); + + assertEquals("New Theme", imports.themeResolve(null)); + assertEquals("New Theme", imports.themeResolve("")); + assertEquals("The Theme", imports.themeResolve("The Theme")); + + assertEquals("build/../../", imports.dots(new StringBuilder("build/")).toString()); + assertEquals("../../Theme/", imports.themePath("Theme")); + assertEquals("../../New Theme/", imports.themePath("")); + assertEquals("../../New Theme/", imports.themePath(null)); + + imports.theme(null); + assertEquals("../../", imports.themePath(null)); + } } diff --git a/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/html/JU_JSGenTest.java b/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/html/JU_JSGenTest.java index 8bf811be..a52dae3d 100644 --- a/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/html/JU_JSGenTest.java +++ b/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/html/JU_JSGenTest.java @@ -39,176 +39,176 @@ import org.onap.aaf.misc.xgen.Mark; public class JU_JSGenTest { - @Mock - private HTMLGen hg; - @Mock - private Mark mark; - @Mock - private IndentPrintWriter writer; - @Mock - private Mark jm; - - @Before - public void setup() { - MockitoAnnotations.initMocks(this); - } - - @Test - public void testFileNotFoundException() { - JSGen gen = new JSGen(mark, hg); - - try { - gen.inline("JSScript", 2); - fail("This file should not be found."); - } catch (Exception e) { - - } - } - - @Test - public void testJSRead() throws IOException { - when(hg.getWriter()).thenReturn(writer); - JSGen gen = new JSGen(mark, hg); - - gen.inline("./sampletest.js", 2); - - verify(writer).print("function myFunction() {"); - verify(writer).print("document.getElementById(\"demo\").innerHTML = \"Paragraph changed.\";"); - verify(writer).print("}"); - verify(writer, times(0)).println(); - } - - @Test - public void testJSReadPrettyPrint() throws IOException { - when(hg.getWriter()).thenReturn(writer); - hg.pretty = true; - JSGen gen = new JSGen(mark, hg); - - gen.inline("./sampletest.js", 2); - - verify(writer).print("function myFunction() {"); - verify(writer).print("document.getElementById(\"demo\").innerHTML = \"Paragraph changed.\";"); - verify(writer).print("}"); - verify(writer, times(3)).println(); - verify(hg).setIndent(0); - } - - @Test - public void testPst() throws IOException { - when(hg.getWriter()).thenReturn(writer); - when(hg.pushBack(any(Back.class))).thenReturn(3); - hg.pretty = true; - JSGen gen = new JSGen(mark, hg); - - gen.pst("line 1", "line 2"); - - verify(writer).append('('); - verify(writer).append("line 1"); - verify(writer).print("line 2"); - verify(writer, times(1)).print(", "); - } - - @Test - public void testPstWithMark() throws IOException { - when(hg.getWriter()).thenReturn(writer); - when(hg.pushBack(any(Back.class))).thenReturn(3); - JSGen gen = new JSGen(mark, hg); - - gen.pst(jm, "line 1", "line 2"); - - verify(writer).append('('); - verify(writer).append("line 1"); - verify(writer).print("line 2"); - verify(writer, times(1)).print(", "); - } - - @Test - public void testPstWithNoLines() throws IOException { - when(hg.getWriter()).thenReturn(writer); - when(hg.pushBack(any(Back.class))).thenReturn(3); - JSGen gen = new JSGen(mark, hg); - - gen.pst(jm); - - verify(writer).append('('); - } - - @Test - public void testLi() throws IOException { - when(hg.getWriter()).thenReturn(writer); - when(writer.getIndent()).thenReturn(3); - - JSGen gen = new JSGen(mark, hg); - - gen.li("line 1", "line 2"); - - verify(writer).setIndent(3); - verify(writer).inc(); - verify(writer).println(); - verify(writer).print("line 1"); - verify(writer).print("line 2"); - - hg.pretty = true; - gen.li("line 1", "line 2"); - verify(writer, times(3)).println(); - } - - @Test - public void testText() throws IOException { - when(hg.getWriter()).thenReturn(writer); - hg.pretty = true; - JSGen gen = new JSGen(mark, hg); - - gen.text("line 1"); - - verify(writer).append("line 1"); - verify(writer).println(); - - hg.pretty = false; - gen.text("line 1"); - - verify(writer, times(2)).append("line 1"); - } - - @Test - public void testFunction() throws IOException { - when(hg.getWriter()).thenReturn(writer); - when(hg.pushBack(any(Back.class))).thenReturn(3); - hg.pretty = true; - JSGen gen = new JSGen(mark, hg); - - gen.function("line 1", "line 2", "line 3"); - - verify(writer).print("function "); - verify(writer).print("line 1"); - verify(writer).print('('); - - verify(writer).print("line 2"); - verify(writer).print("line 3"); - verify(writer, times(1)).print(", "); - verify(writer).print(") {"); - verify(writer).inc(); - verify(writer).println(); - } - - @Test - public void testFunctionWithMark() throws IOException { - when(hg.getWriter()).thenReturn(writer); - when(hg.pushBack(any(Back.class))).thenReturn(3); - JSGen gen = new JSGen(mark, hg); - - gen.function(jm, "line 1", "line 2", "line 3"); - - verify(writer).print("function "); - verify(writer).print("line 1"); - verify(writer).print('('); - - verify(writer).print("line 2"); - verify(writer).print("line 3"); - verify(writer, times(1)).print(", "); - verify(writer).print(") {"); - verify(writer, times(0)).inc(); - verify(writer, times(0)).println(); - } + @Mock + private HTMLGen hg; + @Mock + private Mark mark; + @Mock + private IndentPrintWriter writer; + @Mock + private Mark jm; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testFileNotFoundException() { + JSGen gen = new JSGen(mark, hg); + + try { + gen.inline("JSScript", 2); + fail("This file should not be found."); + } catch (Exception e) { + + } + } + + @Test + public void testJSRead() throws IOException { + when(hg.getWriter()).thenReturn(writer); + JSGen gen = new JSGen(mark, hg); + + gen.inline("./sampletest.js", 2); + + verify(writer).print("function myFunction() {"); + verify(writer).print("document.getElementById(\"demo\").innerHTML = \"Paragraph changed.\";"); + verify(writer).print("}"); + verify(writer, times(0)).println(); + } + + @Test + public void testJSReadPrettyPrint() throws IOException { + when(hg.getWriter()).thenReturn(writer); + hg.pretty = true; + JSGen gen = new JSGen(mark, hg); + + gen.inline("./sampletest.js", 2); + + verify(writer).print("function myFunction() {"); + verify(writer).print("document.getElementById(\"demo\").innerHTML = \"Paragraph changed.\";"); + verify(writer).print("}"); + verify(writer, times(3)).println(); + verify(hg).setIndent(0); + } + + @Test + public void testPst() throws IOException { + when(hg.getWriter()).thenReturn(writer); + when(hg.pushBack(any(Back.class))).thenReturn(3); + hg.pretty = true; + JSGen gen = new JSGen(mark, hg); + + gen.pst("line 1", "line 2"); + + verify(writer).append('('); + verify(writer).append("line 1"); + verify(writer).print("line 2"); + verify(writer, times(1)).print(", "); + } + + @Test + public void testPstWithMark() throws IOException { + when(hg.getWriter()).thenReturn(writer); + when(hg.pushBack(any(Back.class))).thenReturn(3); + JSGen gen = new JSGen(mark, hg); + + gen.pst(jm, "line 1", "line 2"); + + verify(writer).append('('); + verify(writer).append("line 1"); + verify(writer).print("line 2"); + verify(writer, times(1)).print(", "); + } + + @Test + public void testPstWithNoLines() throws IOException { + when(hg.getWriter()).thenReturn(writer); + when(hg.pushBack(any(Back.class))).thenReturn(3); + JSGen gen = new JSGen(mark, hg); + + gen.pst(jm); + + verify(writer).append('('); + } + + @Test + public void testLi() throws IOException { + when(hg.getWriter()).thenReturn(writer); + when(writer.getIndent()).thenReturn(3); + + JSGen gen = new JSGen(mark, hg); + + gen.li("line 1", "line 2"); + + verify(writer).setIndent(3); + verify(writer).inc(); + verify(writer).println(); + verify(writer).print("line 1"); + verify(writer).print("line 2"); + + hg.pretty = true; + gen.li("line 1", "line 2"); + verify(writer, times(3)).println(); + } + + @Test + public void testText() throws IOException { + when(hg.getWriter()).thenReturn(writer); + hg.pretty = true; + JSGen gen = new JSGen(mark, hg); + + gen.text("line 1"); + + verify(writer).append("line 1"); + verify(writer).println(); + + hg.pretty = false; + gen.text("line 1"); + + verify(writer, times(2)).append("line 1"); + } + + @Test + public void testFunction() throws IOException { + when(hg.getWriter()).thenReturn(writer); + when(hg.pushBack(any(Back.class))).thenReturn(3); + hg.pretty = true; + JSGen gen = new JSGen(mark, hg); + + gen.function("line 1", "line 2", "line 3"); + + verify(writer).print("function "); + verify(writer).print("line 1"); + verify(writer).print('('); + + verify(writer).print("line 2"); + verify(writer).print("line 3"); + verify(writer, times(1)).print(", "); + verify(writer).print(") {"); + verify(writer).inc(); + verify(writer).println(); + } + + @Test + public void testFunctionWithMark() throws IOException { + when(hg.getWriter()).thenReturn(writer); + when(hg.pushBack(any(Back.class))).thenReturn(3); + JSGen gen = new JSGen(mark, hg); + + gen.function(jm, "line 1", "line 2", "line 3"); + + verify(writer).print("function "); + verify(writer).print("line 1"); + verify(writer).print('('); + + verify(writer).print("line 2"); + verify(writer).print("line 3"); + verify(writer, times(1)).print(", "); + verify(writer).print(") {"); + verify(writer, times(0)).inc(); + verify(writer, times(0)).println(); + } } diff --git a/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/xml/JU_XMLCacheGenTest.java b/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/xml/JU_XMLCacheGenTest.java index c8014dda..5e15fa67 100644 --- a/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/xml/JU_XMLCacheGenTest.java +++ b/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/xml/JU_XMLCacheGenTest.java @@ -34,30 +34,30 @@ import org.onap.aaf.misc.xgen.Code; public class JU_XMLCacheGenTest { - @Mock - Writer writer; + @Mock + Writer writer; - @Mock - Code code; + @Mock + Code code; - @Before - public void setup() { + @Before + public void setup() { - code = mock(Code.class); - writer = mock(Writer.class); - } + code = mock(Code.class); + writer = mock(Writer.class); + } - @Test - public void test() throws APIException, IOException { - XMLCacheGen cacheGen = new XMLCacheGen(0, code); - assertEquals(cacheGen.PRETTY, 1); + @Test + public void test() throws APIException, IOException { + XMLCacheGen cacheGen = new XMLCacheGen(0, code); + assertEquals(cacheGen.PRETTY, 1); - XMLGen xgen = cacheGen.create(1, writer); - assertEquals(0, xgen.getIndent()); + XMLGen xgen = cacheGen.create(1, writer); + assertEquals(0, xgen.getIndent()); - xgen.setIndent(10); - assertEquals(10, xgen.getIndent()); - xgen.comment("Comment"); - } + xgen.setIndent(10); + assertEquals(10, xgen.getIndent()); + xgen.comment("Comment"); + } } diff --git a/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/xml/JU_XMLGenTest.java b/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/xml/JU_XMLGenTest.java index 1c00b452..18b82393 100644 --- a/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/xml/JU_XMLGenTest.java +++ b/misc/xgen/src/test/java/org/onap/aaf/misc/xgen/xml/JU_XMLGenTest.java @@ -36,31 +36,31 @@ import org.mockito.Mock; public class JU_XMLGenTest { - @Mock - private Writer writer; + @Mock + private Writer writer; - String XML_TAG = ""; + String XML_TAG = ""; - Map map = new TreeMap<>(); + Map map = new TreeMap<>(); - @Before - public void setUp() throws Exception { - writer = mock(Writer.class); - } + @Before + public void setUp() throws Exception { + writer = mock(Writer.class); + } - @Test - public void testXMLGenWriter() throws IOException { - XMLGen xmlGen = new XMLGen(writer); + @Test + public void testXMLGenWriter() throws IOException { + XMLGen xmlGen = new XMLGen(writer); - xmlGen.xml(); + xmlGen.xml(); - for (char ch : XML_TAG.toCharArray()) { - Integer times = map.get(ch); - map.put(ch, (times == null ? 0 : times) + 1); - } + for (char ch : XML_TAG.toCharArray()) { + Integer times = map.get(ch); + map.put(ch, (times == null ? 0 : times) + 1); + } - for (char ch : map.keySet()) { - verify(writer, times(map.get(ch))).write(ch); - } - } + for (char ch : map.keySet()) { + verify(writer, times(map.get(ch))).write(ch); + } + } } \ No newline at end of file -- cgit 1.2.3-korg