TCA: Support for VES/A&AI enrichment
[dcaegen2/analytics/tca.git] / dcae-analytics-cdap-tca / src / main / java / org / openecomp / dcae / apod / analytics / cdap / tca / flow / TCAVESCollectorFlow.java
index d880a12..1bb31a1 100644 (file)
@@ -1,69 +1,82 @@
-/*
- * ===============================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.tca.flow;
-
-import co.cask.cdap.api.flow.AbstractFlow;
-import org.openecomp.dcae.apod.analytics.cdap.common.CDAPComponentsConstants;
-import org.openecomp.dcae.apod.analytics.cdap.tca.flowlet.TCAVESAlertsSinkFlowlet;
-import org.openecomp.dcae.apod.analytics.cdap.tca.flowlet.TCAVESMessageRouterFlowlet;
-import org.openecomp.dcae.apod.analytics.cdap.tca.flowlet.TCAVESThresholdViolationCalculatorFlowlet;
-import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCAAppConfig;
-
-/**
- * TCA Flow for VES (Virtual Event Streaming) Collector Flow
- *
- * @author Rajiv Singla . Creation Date: 11/3/2016.
- */
-public class TCAVESCollectorFlow extends AbstractFlow {
-
-    private final TCAAppConfig tcaAppConfig;
-
-    public TCAVESCollectorFlow(TCAAppConfig tcaAppConfig) {
-        this.tcaAppConfig = tcaAppConfig;
-    }
-
-    @Override
-    protected void configure() {
-
-        setName(CDAPComponentsConstants.TCA_FIXED_VES_COLLECTOR_NAME_FLOW);
-        setDescription(CDAPComponentsConstants.TCA_FIXED_VES_COLLECTOR_DESCRIPTION_FLOW);
-
-        final TCAVESMessageRouterFlowlet messageRouterFlowlet = new TCAVESMessageRouterFlowlet();
-        addFlowlet(messageRouterFlowlet);
-
-        final TCAVESThresholdViolationCalculatorFlowlet thresholdViolationCalculatorFlowlet =
-                new TCAVESThresholdViolationCalculatorFlowlet(tcaAppConfig.getTcaVESMessageStatusTableName());
-        addFlowlet(thresholdViolationCalculatorFlowlet, tcaAppConfig.getThresholdCalculatorFlowletInstances());
-
-        final TCAVESAlertsSinkFlowlet alertsSinkFlowlet =
-                new TCAVESAlertsSinkFlowlet(tcaAppConfig.getTcaVESAlertsTableName());
-        addFlowlet(alertsSinkFlowlet);
-
-
-        // connect DMaaP MR VES Subscriber output stream to VES Message Router Flowlet
-        connectStream(tcaAppConfig.getTcaSubscriberOutputStreamName(), messageRouterFlowlet);
-        // connect message router to VES threshold calculator
-        connect(messageRouterFlowlet, thresholdViolationCalculatorFlowlet);
-        // connect VES threshold calculator flowlet to Alerts Sink Flowlet
-        connect(thresholdViolationCalculatorFlowlet, alertsSinkFlowlet);
-
-    }
-}
+/*\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.tca.flow;\r
+\r
+import co.cask.cdap.api.flow.AbstractFlow;\r
+import org.openecomp.dcae.apod.analytics.cdap.common.CDAPComponentsConstants;\r
+import org.openecomp.dcae.apod.analytics.cdap.tca.flowlet.TCAVESAAIEnrichmentFlowlet;\r
+import org.openecomp.dcae.apod.analytics.cdap.tca.flowlet.TCAVESAlertsAbatementFlowlet;\r
+import org.openecomp.dcae.apod.analytics.cdap.tca.flowlet.TCAVESAlertsSinkFlowlet;\r
+import org.openecomp.dcae.apod.analytics.cdap.tca.flowlet.TCAVESMessageRouterFlowlet;\r
+import org.openecomp.dcae.apod.analytics.cdap.tca.flowlet.TCAVESThresholdViolationCalculatorFlowlet;\r
+import org.openecomp.dcae.apod.analytics.cdap.tca.settings.TCAAppConfig;\r
+\r
+/**\r
+ * TCA Flow for VES (Virtual Event Streaming) Collector Flow\r
+ *\r
+ * @author Rajiv Singla . Creation Date: 11/3/2016.\r
+ */\r
+public class TCAVESCollectorFlow extends AbstractFlow {\r
+\r
+    private final TCAAppConfig tcaAppConfig;\r
+\r
+    public TCAVESCollectorFlow(TCAAppConfig tcaAppConfig) {\r
+        this.tcaAppConfig = tcaAppConfig;\r
+    }\r
+\r
+    @Override\r
+    protected void configure() {\r
+\r
+        setName(CDAPComponentsConstants.TCA_FIXED_VES_COLLECTOR_NAME_FLOW);\r
+        setDescription(CDAPComponentsConstants.TCA_FIXED_VES_COLLECTOR_DESCRIPTION_FLOW);\r
+\r
+        final TCAVESMessageRouterFlowlet messageRouterFlowlet = new TCAVESMessageRouterFlowlet();\r
+        addFlowlet(messageRouterFlowlet);\r
+\r
+        final TCAVESThresholdViolationCalculatorFlowlet thresholdViolationCalculatorFlowlet =\r
+                new TCAVESThresholdViolationCalculatorFlowlet(tcaAppConfig.getTcaVESMessageStatusTableName());\r
+        addFlowlet(thresholdViolationCalculatorFlowlet, tcaAppConfig.getThresholdCalculatorFlowletInstances());\r
+\r
+        final TCAVESAlertsAbatementFlowlet tcavesAlertsAbatementFlowlet =\r
+                new TCAVESAlertsAbatementFlowlet(tcaAppConfig.getTcaAlertsAbatementTableName());\r
+        addFlowlet(tcavesAlertsAbatementFlowlet);\r
+\r
+        final TCAVESAAIEnrichmentFlowlet tcavesaaiEnrichmentFlowlet = new TCAVESAAIEnrichmentFlowlet();\r
+        addFlowlet(tcavesaaiEnrichmentFlowlet);\r
+\r
+        final TCAVESAlertsSinkFlowlet alertsSinkFlowlet =\r
+                new TCAVESAlertsSinkFlowlet(tcaAppConfig.getTcaVESAlertsTableName());\r
+        addFlowlet(alertsSinkFlowlet);\r
+\r
+\r
+        // connect DMaaP MR VES Subscriber output stream to VES Message Router Flowlet\r
+        connectStream(tcaAppConfig.getTcaSubscriberOutputStreamName(), messageRouterFlowlet);\r
+        // connect message router to VES threshold calculator\r
+        connect(messageRouterFlowlet, thresholdViolationCalculatorFlowlet);\r
+        // connect VES threshold calculator flowlet to Alerts Abatement Flowlet\r
+        connect(thresholdViolationCalculatorFlowlet, tcavesAlertsAbatementFlowlet);\r
+        // connect Alerts Abatement flowlet to AAI Enrichment Flowlet\r
+        connect(tcavesAlertsAbatementFlowlet, tcavesaaiEnrichmentFlowlet);\r
+        // connect A&AI Enrichment flowlet to Alerts Sink Flowlet\r
+        connect(tcavesaaiEnrichmentFlowlet,  alertsSinkFlowlet);\r
+\r
+    }\r
+}\r