Restore version to SNAPSHOT
[clamp.git] / src / main / java / org / onap / clamp / clds / model / prop / StringMatch.java
index d7092c4..b74e7d1 100644 (file)
@@ -5,16 +5,16 @@
  * Copyright (C) 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. 
+ * 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 
+ *
+ * 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============================================
  * ===================================================================
@@ -28,17 +28,42 @@ import com.fasterxml.jackson.databind.JsonNode;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
-import java.util.logging.Logger;
 
 /**
  * Parse StringMatch json properties.
  * <p>
- * Example json: "StringMatch_0c2cy0c":[[{"name":"topicPublishes","value":"DCAE-CL-EVENT"}],{"serviceConfigurations":[[{"name":"aaiMatchingFields","value":["VMID"]},{"name":"aaiSendFields","value":["VNFNAME","LOCID"]},{"name":"vnf","value":["aSBG"]},{"name":"timeWindow","value":["0"]},{"name":"ageLimit","value":["1600"]},{"name":"createClosedLoopEventId","value":["Initial"]},{"name":"outputEventName","value":["OnSet"]},{"stringSet":[{"name":"alarmCondition","value":["authenticationFailure"]},{"name":"eventSeverity","value":["NORMAL"]},{"name":"eventSourceType","value":["f5BigIP"]}]}],[{"name":"aaiMatchingFields","value":["VMID"]},{"name":"aaiSendFields","value":["VMID","Identiy","VNFNAME"]},{"name":"vnf","value":["aSBG"]},{"name":"timeWindow","value":["0"]},{"name":"ageLimit","value":["1600"]},{"name":"createClosedLoopEventId","value":["Close"]},{"name":"outputEventName","value":["Abatement"]},{"stringSet":[{"name":"alarmCondition","value":["authenticationFailure"]},{"name":"eventSeverity","value":["NORMAL"]},{"name":"eventSourceType","value":["f5BigIP"]}]}]]}]
+ * Example json:
+ * {"StringMatch_0aji7go":{"Group1":[{"name":"rgname","value":"1493749598520"},{
+ * "name":"rgfriendlyname","value":"Group1"},{"name":"policyName","value":
+ * "Policy1"},{"name":"policyId","value":"1"},{"serviceConfigurations":[[{"name"
+ * :"aaiMatchingFields","value":["complex.city","vserver.vserver-name"]},{"name"
+ * :"aaiSendFields","value":["complex.city","vserver.vserver-name"]},{"name":
+ * "eventSeverity","value":["OK"]},{"name":"eventSourceType","value":[""]},{
+ * "name":"timeWindow","value":["100"]},{"name":"ageLimit","value":["100"]},{
+ * "name":"createClosedLoopEventId","value":["Initial"]},{"name":
+ * "outputEventName","value":["ONSET"]}]]}],"Group2":[{"name":"rgname","value":
+ * "1493749665149"},{"name":"rgfriendlyname","value":"Group2"},{"name":
+ * "policyName","value":"Policy2"},{"name":"policyId","value":"2"},{
+ * "serviceConfigurations":[[{"name":"aaiMatchingFields","value":[
+ * "cloud-region.identity-url","vserver.vserver-name"]},{"name":"aaiSendFields",
+ * "value":["cloud-region.identity-url","vserver.vserver-name"]},{"name":
+ * "eventSeverity","value":["NORMAL"]},{"name":"eventSourceType","value":[""]},{
+ * "name":"timeWindow","value":["1000"]},{"name":"ageLimit","value":["1000"]},{
+ * "name":"createClosedLoopEventId","value":["Initial"]},{"name":
+ * "outputEventName","value":["ONSET"]}],[{"name":"aaiMatchingFields","value":[
+ * "generic-vnf.vnf-name","vserver.vserver-name"]},{"name":"aaiSendFields",
+ * "value":["generic-vnf.vnf-name","vserver.vserver-name"]},{"name":
+ * "eventSeverity","value":["CRITICAL"]},{"name":"eventSourceType","value":[""]}
+ * ,{"name":"timeWindow","value":["3000"]},{"name":"ageLimit","value":["3000"]},
+ * {"name":"createClosedLoopEventId","value":["Initial"]},{"name":
+ * "outputEventName","value":["ABATED"]}]]}]}}
+ *
  */
-public class StringMatch extends ModelElement {
-    private static final Logger logger = Logger.getLogger(StringMatch.class.getName());
+public class StringMatch extends AbstractModelElement {
 
-    private final List<ServiceConfiguration> serviceConfigurations;
+    private List<ResourceGroup> resourceGroups;
+
+    private static final String TYPE_STRING_MATCH = "stringMatch";
 
     /**
      * Parse StringMatch given json node.
@@ -47,24 +72,27 @@ public class StringMatch extends ModelElement {
      * @param modelJson
      */
     public StringMatch(ModelProperties modelProp, ModelBpmn modelBpmn, JsonNode modelJson) {
-        super(ModelElement.TYPE_STRING_MATCH, modelProp, modelBpmn, modelJson);
-
-        topicPublishes = getValueByName(meNode.get(0), "topicPublishes");
+        super(TYPE_STRING_MATCH, modelProp, modelBpmn, modelJson);
 
         // process Server_Configurations
-        JsonNode serviceConfigurationsNode = meNode.get(1).get("serviceConfigurations");
-        Iterator<JsonNode> itr = serviceConfigurationsNode.elements();
-        serviceConfigurations = new ArrayList<>();
-        while (itr.hasNext()) {
-            serviceConfigurations.add(new ServiceConfiguration(itr.next()));
+        if (modelElementJsonNode != null) {
+            Iterator<JsonNode> itr = modelElementJsonNode.elements();
+            resourceGroups = new ArrayList<>();
+            while (itr.hasNext()) {
+                resourceGroups.add(new ResourceGroup(itr.next()));
+            }
         }
     }
 
     /**
-     * @return the serviceConfigurations
+     * @return the resourceGroups
      */
-    public List<ServiceConfiguration> getServiceConfigurations() {
-        return serviceConfigurations;
+    public List<ResourceGroup> getResourceGroups() {
+        return resourceGroups;
+    }
+
+    public static final String getType() {
+        return TYPE_STRING_MATCH;
     }
 
 }