TCA: Support for VES/A&AI enrichment
[dcaegen2/analytics/tca.git] / dcae-analytics-cdap-plugins / src / main / java / org / openecomp / dcae / apod / analytics / cdap / plugins / domain / config / filter / JsonPathFilterPluginConfig.java
index 8bb768f..d8a224d 100644 (file)
-/*
- * ===============================LICENSE_START======================================
- *  dcae-analytics
- * ================================================================================
- *    Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *   You may obtain a copy of the License at
- *
- *          http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *  ============================LICENSE_END===========================================
- */
-
-package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.filter;
-
-import co.cask.cdap.api.annotation.Description;
-import co.cask.cdap.api.annotation.Macro;
-import co.cask.cdap.api.annotation.Name;
-import com.google.common.base.Objects;
-import org.openecomp.dcae.apod.analytics.cdap.common.settings.CDAPBasePluginConfig;
-
-/**
- * Configuration for Json Path Filter Plugin
- *
- * @author Rajiv Singla . Creation Date: 3/2/2017.
- */
-public class JsonPathFilterPluginConfig extends CDAPBasePluginConfig {
-
-    private static final long serialVersionUID = 1L;
-
-    @Name("incomingJsonFieldName")
-    @Description("Input schema field name that contain JSON used for filtering")
-    @Macro
-    protected String incomingJsonFieldName;
-
-
-    @Name("outputSchemaFieldName")
-    @Description("Name of the nullable boolean schema field name that will contain result of the filter matching")
-    @Macro
-    protected String outputSchemaFieldName;
-
-
-    @Name("jsonFilterMappings")
-    @Macro
-    @Description("Filters incoming JSON based on given filter mappings - in terms of JSON path and expected values." +
-            "Right hand side contains JSON path. Left hand side contains semicolon (';') separated expected values " +
-            "for that JSON Path. If all provided JSON Path mappings and corresponding values matches - " +
-            "output schema field will be marked as true")
-    protected String jsonFilterMappings;
-
-
-    @Name("schema")
-    @Description("Output Schema")
-    protected String schema;
-
-
-    public JsonPathFilterPluginConfig(final String referenceName, final String incomingJsonFieldName,
-                                      final String outputSchemaFieldName, final String jsonFilterMappings,
-                                      final String schema) {
-        this.referenceName = referenceName;
-        this.incomingJsonFieldName = incomingJsonFieldName;
-        this.outputSchemaFieldName = outputSchemaFieldName;
-        this.jsonFilterMappings = jsonFilterMappings;
-        this.schema = schema;
-    }
-
-    /**
-     * Provides incoming plugin schema field name which contains json used to apply filter
-     *
-     * @return  name of incoming schema field containing JSON to be filtered
-     */
-    public String getIncomingJsonFieldName() {
-        return incomingJsonFieldName;
-    }
-
-    /**
-     * Provides plugin output schema filed name that will contain result of filter application
-     * It must be nullable and boolean type
-     *
-     * @return name of outgoing schema filed name that will contain filtering result
-     */
-    public String getOutputSchemaFieldName() {
-        return outputSchemaFieldName;
-    }
-
-    /**
-     * Provides JSON filter mappings. LHS contains JSON path value and RHS contains expected
-     * values separated by semicolon
-     *
-     *
-     * @return String for JSON filter mappings
-     */
-    public String getJsonFilterMappings() {
-        return jsonFilterMappings;
-    }
-
-    /**
-     * Output Schema
-     *
-     * @return output schema string
-     */
-    public String getSchema() {
-        return schema;
-    }
-
-
-    @Override
-    public String toString() {
-        return Objects.toStringHelper(this)
-                .add("referenceName", referenceName)
-                .add("incomingJsonFieldName", incomingJsonFieldName)
-                .add("outputSchemaFieldName", outputSchemaFieldName)
-                .add("jsonFilterMappings", jsonFilterMappings)
-                .add("schema", schema)
-                .toString();
-    }
-
-}
+/*\r
+ * ===============================LICENSE_START======================================\r
+ *  dcae-analytics\r
+ * ================================================================================\r
+ *    Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
+ * ================================================================================\r
+ *  Licensed under the Apache License, Version 2.0 (the "License");\r
+ *  you may not use this file except in compliance with the License.\r
+ *   You may obtain a copy of the License at\r
+ *\r
+ *          http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ *  Unless required by applicable law or agreed to in writing, software\r
+ *  distributed under the License is distributed on an "AS IS" BASIS,\r
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ *  See the License for the specific language governing permissions and\r
+ *  limitations under the License.\r
+ *  ============================LICENSE_END===========================================\r
+ */\r
+\r
+package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.filter;\r
+\r
+import co.cask.cdap.api.annotation.Description;\r
+import co.cask.cdap.api.annotation.Macro;\r
+import co.cask.cdap.api.annotation.Name;\r
+import com.google.common.base.Objects;\r
+import org.openecomp.dcae.apod.analytics.cdap.common.settings.CDAPBasePluginConfig;\r
+\r
+/**\r
+ * Configuration for Json Path Filter Plugin\r
+ *\r
+ * @author Rajiv Singla . Creation Date: 3/2/2017.\r
+ */\r
+public class JsonPathFilterPluginConfig extends CDAPBasePluginConfig {\r
+\r
+    private static final long serialVersionUID = 1L;\r
+\r
+    @Name("incomingJsonFieldName")\r
+    @Description("Input schema field name that contain JSON used for filtering")\r
+    @Macro\r
+    protected String incomingJsonFieldName;\r
+\r
+\r
+    @Name("outputSchemaFieldName")\r
+    @Description("Name of the nullable boolean schema field name that will contain result of the filter matching")\r
+    @Macro\r
+    protected String outputSchemaFieldName;\r
+\r
+\r
+    @Name("jsonFilterMappings")\r
+    @Macro\r
+    @Description("Filters incoming JSON based on given filter mappings - in terms of JSON path and expected values." +\r
+            "Right hand side contains JSON path. Left hand side contains semicolon (';') separated expected values " +\r
+            "for that JSON Path. If all provided JSON Path mappings and corresponding values matches - " +\r
+            "output schema field will be marked as true")\r
+    protected String jsonFilterMappings;\r
+\r
+\r
+    @Name("schema")\r
+    @Description("Output Schema")\r
+    protected String schema;\r
+\r
+\r
+    public JsonPathFilterPluginConfig(final String referenceName, final String incomingJsonFieldName,\r
+                                      final String outputSchemaFieldName, final String jsonFilterMappings,\r
+                                      final String schema) {\r
+        this.referenceName = referenceName;\r
+        this.incomingJsonFieldName = incomingJsonFieldName;\r
+        this.outputSchemaFieldName = outputSchemaFieldName;\r
+        this.jsonFilterMappings = jsonFilterMappings;\r
+        this.schema = schema;\r
+    }\r
+\r
+    /**\r
+     * Provides incoming plugin schema field name which contains json used to apply filter\r
+     *\r
+     * @return  name of incoming schema field containing JSON to be filtered\r
+     */\r
+    public String getIncomingJsonFieldName() {\r
+        return incomingJsonFieldName;\r
+    }\r
+\r
+    /**\r
+     * Provides plugin output schema filed name that will contain result of filter application\r
+     * It must be nullable and boolean type\r
+     *\r
+     * @return name of outgoing schema filed name that will contain filtering result\r
+     */\r
+    public String getOutputSchemaFieldName() {\r
+        return outputSchemaFieldName;\r
+    }\r
+\r
+    /**\r
+     * Provides JSON filter mappings. LHS contains JSON path value and RHS contains expected\r
+     * values separated by semicolon\r
+     *\r
+     *\r
+     * @return String for JSON filter mappings\r
+     */\r
+    public String getJsonFilterMappings() {\r
+        return jsonFilterMappings;\r
+    }\r
+\r
+    /**\r
+     * Output Schema\r
+     *\r
+     * @return output schema string\r
+     */\r
+    public String getSchema() {\r
+        return schema;\r
+    }\r
+\r
+\r
+    @Override\r
+    public String toString() {\r
+        return Objects.toStringHelper(this)\r
+                .add("referenceName", referenceName)\r
+                .add("incomingJsonFieldName", incomingJsonFieldName)\r
+                .add("outputSchemaFieldName", outputSchemaFieldName)\r
+                .add("jsonFilterMappings", jsonFilterMappings)\r
+                .add("schema", schema)\r
+                .toString();\r
+    }\r
+\r
+}\r