-/*\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.worker;\r
-\r
-import co.cask.cdap.api.worker.AbstractWorker;\r
-import com.google.common.base.Preconditions;\r
-import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants;\r
-import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;\r
-import org.quartz.Scheduler;\r
-import org.quartz.SchedulerException;\r
-import org.slf4j.Logger;\r
-import org.slf4j.LoggerFactory;\r
-\r
-import java.util.concurrent.atomic.AtomicBoolean;\r
-\r
-import static java.lang.String.format;\r
-\r
-/**\r
- * Base logic for DMaaP Workers which uses scheduler to poll DMaaP MR topics at frequent intervals\r
- * <p>\r
- * @author Rajiv Singla . Creation Date: 12/19/2016.\r
- */\r
-public abstract class BaseTCADMaaPMRWorker extends AbstractWorker {\r
-\r
- private static final Logger LOG = LoggerFactory.getLogger(BaseTCADMaaPMRWorker.class);\r
-\r
- /**\r
- * Quartz Scheduler\r
- */\r
- protected Scheduler scheduler;\r
- /**\r
- * Determines if scheduler is shutdown\r
- */\r
- protected AtomicBoolean isSchedulerShutdown;\r
-\r
-\r
- @Override\r
- public void run() {\r
-\r
- Preconditions.checkNotNull(scheduler, "Scheduler must not be null");\r
- String schedulerName = "";\r
-\r
- // Start scheduler\r
- try {\r
- schedulerName = scheduler.getSchedulerName();\r
- scheduler.start();\r
- isSchedulerShutdown.getAndSet(false);\r
-\r
- } catch (SchedulerException e) {\r
- final String errorMessage =\r
- format("Error while starting TCA DMaaP MR scheduler name: %s, error: %s", schedulerName, e);\r
- throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);\r
- }\r
-\r
- LOG.info("Successfully started DMaaP MR Scheduler: {}", schedulerName);\r
-\r
- // indefinite loop which wakes up and confirms scheduler is indeed running\r
- while (!isSchedulerShutdown.get()) {\r
- try {\r
-\r
- Thread.sleep(AnalyticsConstants.TCA_DEFAULT_WORKER_SHUTDOWN_CHECK_INTERVAL_MS);\r
-\r
- } catch (InterruptedException e) {\r
-\r
- final String errorMessage =\r
- format("Error while checking TCA DMaaP MR Scheduler worker status name: %s, error: %s",\r
- schedulerName, e);\r
- throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);\r
- }\r
- }\r
-\r
- LOG.info("Finished execution of TCA DMaaP MR worker thread: {}", schedulerName);\r
-\r
- }\r
-\r
- @Override\r
- public void stop() {\r
-\r
- Preconditions.checkNotNull(scheduler, "Scheduler must not be null");\r
- String schedulerName = "";\r
-\r
- // Stop Scheduler\r
- try {\r
- schedulerName = scheduler.getSchedulerName();\r
- LOG.info("Shutting TCA DMaaP MR Scheduler: {}", schedulerName);\r
- scheduler.shutdown();\r
- isSchedulerShutdown.getAndSet(true);\r
-\r
- } catch (SchedulerException e) {\r
-\r
- final String errorMessage =\r
- format("Error while shutting down TCA DMaaP MR Scheduler: name: %s, error: %s", schedulerName, e);\r
- throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);\r
- }\r
- }\r
-\r
-\r
-}\r
+/*
+ * ===============================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.onap.dcae.apod.analytics.cdap.tca.worker;
+
+import co.cask.cdap.api.worker.AbstractWorker;
+import com.google.common.base.Preconditions;
+import org.onap.dcae.apod.analytics.common.AnalyticsConstants;
+import org.onap.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
+import org.quartz.Scheduler;
+import org.quartz.SchedulerException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import static java.lang.String.format;
+
+/**
+ * Base logic for DMaaP Workers which uses scheduler to poll DMaaP MR topics at frequent intervals
+ * <p>
+ * @author Rajiv Singla . Creation Date: 12/19/2016.
+ */
+public abstract class BaseTCADMaaPMRWorker extends AbstractWorker {
+
+ private static final Logger LOG = LoggerFactory.getLogger(BaseTCADMaaPMRWorker.class);
+
+ /**
+ * Quartz Scheduler
+ */
+ protected Scheduler scheduler;
+ /**
+ * Determines if scheduler is shutdown
+ */
+ protected AtomicBoolean isSchedulerShutdown;
+
+
+ @Override
+ public void run() {
+
+ Preconditions.checkNotNull(scheduler, "Scheduler must not be null");
+ String schedulerName = "";
+
+ // Start scheduler
+ try {
+ schedulerName = scheduler.getSchedulerName();
+ scheduler.start();
+ isSchedulerShutdown.getAndSet(false);
+
+ } catch (SchedulerException e) {
+ final String errorMessage =
+ format("Error while starting TCA DMaaP MR scheduler name: %s, error: %s", schedulerName, e);
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+ }
+
+ LOG.info("Successfully started DMaaP MR Scheduler: {}", schedulerName);
+
+ // indefinite loop which wakes up and confirms scheduler is indeed running
+ while (!isSchedulerShutdown.get()) {
+ try {
+
+ Thread.sleep(AnalyticsConstants.TCA_DEFAULT_WORKER_SHUTDOWN_CHECK_INTERVAL_MS);
+
+ } catch (InterruptedException e) {
+
+ final String errorMessage =
+ format("Error while checking TCA DMaaP MR Scheduler worker status name: %s, error: %s",
+ schedulerName, e);
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+ }
+ }
+
+ LOG.info("Finished execution of TCA DMaaP MR worker thread: {}", schedulerName);
+
+ }
+
+ @Override
+ public void stop() {
+
+ Preconditions.checkNotNull(scheduler, "Scheduler must not be null");
+ String schedulerName = "";
+
+ // Stop Scheduler
+ try {
+ schedulerName = scheduler.getSchedulerName();
+ LOG.info("Shutting TCA DMaaP MR Scheduler: {}", schedulerName);
+ scheduler.shutdown();
+ isSchedulerShutdown.getAndSet(true);
+
+ } catch (SchedulerException e) {
+
+ final String errorMessage =
+ format("Error while shutting down TCA DMaaP MR Scheduler: name: %s, error: %s", schedulerName, e);
+ throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
+ }
+ }
+
+
+}