aboutsummaryrefslogtreecommitdiffstats
path: root/template-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/template/HideNullJson.java
diff options
context:
space:
mode:
Diffstat (limited to 'template-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/template/HideNullJson.java')
-rwxr-xr-xtemplate-node/provider/src/main/java/org/onap/ccsdk/sli/plugins/template/HideNullJson.java98
1 files changed, 0 insertions, 98 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