diff options
author | Smokowski, Kevin (ks6305) <kevin.smokowski@att.com> | 2019-02-05 19:29:22 +0000 |
---|---|---|
committer | Smokowski, Kevin (ks6305) <kevin.smokowski@att.com> | 2019-02-05 19:29:22 +0000 |
commit | 1120a398b0e9cb2e1da7e12e45f9a14d4ac61ba3 (patch) | |
tree | 2457d6ce0b4b1d42acc03dd212a8d79bfa53c352 /template-node/provider/src/main/java | |
parent | a51e307659b1b3853e1d081064159572070a9a47 (diff) |
template node patch
Remove HideNullJson directive and update missing properties message
Change-Id: I8eb1404d3844284fe28ed0d49226ad166e185656
Issue-ID: CCSDK-1040
Signed-off-by: Smokowski, Kevin (ks6305) <kevin.smokowski@att.com>
Diffstat (limited to 'template-node/provider/src/main/java')
2 files changed, 1 insertions, 100 deletions
diff --git a/template-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/template/HideNullJson.java b/template-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/template/HideNullJson.java deleted file mode 100755 index d39d7e40..00000000 --- a/template-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/template/HideNullJson.java +++ /dev/null @@ -1,98 +0,0 @@ - -package org.onap.ccsdk.sli.plugins.template; - -import java.io.IOException; -import java.io.Writer; - -import org.apache.velocity.context.InternalContextAdapter; -import org.apache.velocity.exception.MethodInvocationException; -import org.apache.velocity.exception.ParseErrorException; -import org.apache.velocity.exception.ResourceNotFoundException; -import org.apache.velocity.runtime.directive.Directive; -import org.apache.velocity.runtime.parser.node.Node; - -// This directive can be used when handling optional json attributes in a template -// If an attribute value is null the entire name-value pair will not be rendered -// If an attribute value is not null the name-value pair will be rendered -// Additional optional parameters decide which values are quoted and if a comma and or newline should be appended -public class HideNullJson extends Directive { - - public String getName() { - return "hideNullJson"; - } - - public int getType() { - return BLOCK; - } - - // The first parameter is the json key - // The second parameter is the json value - // This directive handles placing the colon between the json key and json value - // The third parameter is a boolean, when true the json key is surrounded in double quotes by this directive - // The third parameter is true by default and is optional - // The fourth parameter is a boolean when true the json value is surrounded in double quotes by this directive - // The fourth parameter is true by default and is optional - // The fifth parameter is a boolean when true a comma is appended to the end - // The fifth parameter is true by default and is optional - // The sixth parameter is a boolean when true a newline is appended to the end - // The sixth parameter is true by default and is optional - public boolean render(InternalContextAdapter context, Writer writer, Node node) - throws IOException, ResourceNotFoundException, ParseErrorException, MethodInvocationException { - String tagValue = null; - Object tagValueObject = node.jjtGetChild(1).value(context); - if (tagValueObject == null) { - return true; - } - tagValue = String.valueOf(tagValueObject); - - String tagName = String.valueOf(node.jjtGetChild(0).value(context)); - - Boolean quoteTagName = getBooleanParameter(true,node,2,context); - Boolean quoteTagValue = getBooleanParameter(true,node,3,context); - Boolean appendComma = getBooleanParameter(true,node,4,context); - Boolean appendNewLine = getBooleanParameter(true,node,5,context); - - StringBuilder sb = new StringBuilder(); - - if (quoteTagName) { - appendQuotedString(tagName,sb); - }else { - sb.append(tagName); - } - - sb.append(":"); - - if (quoteTagValue) { - appendQuotedString(tagValue,sb); - }else { - sb.append(tagValue); - } - - if(appendComma) { - sb.append(","); - } - - if(appendNewLine) { - sb.append("\n"); - } - writer.write(sb.toString()); - return true; - } - - private Boolean getBooleanParameter(Boolean defaultBool, Node node, int parameterPostion, InternalContextAdapter context) { - if (node.jjtGetNumChildren() > parameterPostion && node.jjtGetChild(parameterPostion) != null) { - Object val = node.jjtGetChild(parameterPostion).value(context); - if (val != null) { - return (Boolean) val; - } - } - return defaultBool; - } - - private void appendQuotedString(String str, StringBuilder sb) { - sb.append("\""); - sb.append(str); - sb.append("\""); - } - -}
\ No newline at end of file diff --git a/template-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/template/TemplateNode.java b/template-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/template/TemplateNode.java index a78b81e9..a36d1a51 100755 --- a/template-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/template/TemplateNode.java +++ b/template-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/template/TemplateNode.java @@ -53,7 +53,6 @@ public class TemplateNode implements SvcLogicJavaPlugin { ve = new VelocityEngine(); setProperties(); ve.init(); - ve.loadDirective("org.onap.ccsdk.sli.plugins.template.HideNullJson"); } protected void setProperties() { @@ -63,7 +62,7 @@ public class TemplateNode implements SvcLogicJavaPlugin { try (FileInputStream in = new FileInputStream(configDir + "/" + TEMPLATE_PROPERTIES_FILE_NAME)) { props.load(in); } catch (Exception e) { - logger.error("Caught exception loading properties!", e); + logger.warn("Properties not loaded for template node, using sensible defaults", e); } // give sensible defaults for required properties |