Fix checkstyle issues in feature-test-transaction 86/91186/1
authorJim Hahn <jrh3@att.com>
Wed, 10 Jul 2019 20:19:44 +0000 (16:19 -0400)
committerJim Hahn <jrh3@att.com>
Wed, 10 Jul 2019 20:19:44 +0000 (16:19 -0400)
Also deleted the checkstyle suppression file.

Change-Id: If3eaadfbbd9b6a7942d514af78018b987d94fe4c
Issue-ID: POLICY-1906
Signed-off-by: Jim Hahn <jrh3@att.com>
feature-test-transaction/checkstyle-suppressions.xml [deleted file]
feature-test-transaction/pom.xml
feature-test-transaction/src/main/java/org/onap/policy/drools/testtransaction/TestTransaction.java
feature-test-transaction/src/main/java/org/onap/policy/drools/testtransaction/TtControllerTask.java [new file with mode: 0644]
feature-test-transaction/src/main/java/org/onap/policy/drools/testtransaction/TtImpl.java [new file with mode: 0644]
feature-test-transaction/src/test/java/org/onap/policy/drools/testtransaction/TestTransactionAdditionalTest.java
feature-test-transaction/src/test/java/org/onap/policy/drools/testtransaction/TestTransactionTest.java

diff --git a/feature-test-transaction/checkstyle-suppressions.xml b/feature-test-transaction/checkstyle-suppressions.xml
deleted file mode 100644 (file)
index 7112bbe..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  ============LICENSE_START=======================================================
-   Copyright (C) 2018 AT&T Technologies. 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.
-  
-  SPDX-License-Identifier: Apache-2.0
-  ============LICENSE_END=========================================================
--->
-
-<!DOCTYPE suppressions PUBLIC
-     "-//Puppy Crawl//DTD Suppressions 1.0//EN"
-     "http://www.puppycrawl.com/dtds/suppressions_1_0.dtd">
-<suppressions>
-  <suppress checks="AbbreviationAsWordInName"
-    files="TestTransaction.java"
-    lines="1-9999"/>
-  <suppress checks="OneTopLevelClass"
-    files="TestTransaction.java"
-    lines="1-9999"/>
-</suppressions>
index 6e02861..da12e4b 100644 (file)
@@ -2,7 +2,7 @@
   ============LICENSE_START=======================================================
   feature-test-transaction
   ================================================================================
-  Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+  Copyright (C) 2017-2019 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.
                             <includeTestResources>true</includeTestResources>
                             <excludes>
                             </excludes>
-                            <suppressionsLocation>${project.baseUri}checkstyle-suppressions.xml</suppressionsLocation>
                             <consoleOutput>true</consoleOutput>
                             <failsOnViolation>true</failsOnViolation>
                             <violationSeverity>warning</violationSeverity>
index 452825c..03a0e4b 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * feature-test-transaction
  * ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2019 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.
 
 package org.onap.policy.drools.testtransaction;
 
-import java.util.EventObject;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.onap.policy.drools.controller.DroolsController;
 import org.onap.policy.drools.system.PolicyController;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /** TestTransaction interface. */
 public interface TestTransaction {
@@ -38,7 +30,7 @@ public interface TestTransaction {
     public static final String TT_UUID = "43868e59-d1f3-43c2-bd6f-86f89a61eea5";
     public static long DEFAULT_TT_TASK_SLEEP = 20000;
 
-    public static final TestTransaction manager = new TTImpl();
+    public static final TestTransaction manager = new TtImpl();
 
     /**
      * register a controller for monitoring test transactions.
@@ -54,213 +46,3 @@ public interface TestTransaction {
      */
     public void unregister(PolicyController controller);
 }
-
-/**
- * Implementation of TestTransaction interface. Controls the registering/unregistering of
- * PolicyController objects and the management of their related TTControllerTask threads.
- */
-class TTImpl implements TestTransaction {
-
-    protected final Map<String, TTControllerTask> controllers = new HashMap<>();
-
-    @Override
-    public synchronized void register(PolicyController controller) {
-        TTControllerTask controllerTask = this.controllers.get(controller.getName());
-        if (controllerTask != null && controllerTask.isAlive()) {
-            return;
-        }
-
-        // continue : unregister, register operation
-
-        controllerTask = makeControllerTask(controller);
-        this.controllers.put(controller.getName(), controllerTask);
-    }
-
-    @Override
-    public synchronized void unregister(PolicyController controller) {
-        final TTControllerTask controllerTask = this.controllers.remove(controller.getName());
-        if (controllerTask != null) {
-            controllerTask.stop();
-        }
-    }
-
-    // these may be overridden by junit tests
-
-    protected TTControllerTask makeControllerTask(PolicyController controller) {
-        return new TTControllerTask(controller);
-    }
-}
-
-/**
- * TTControllerTask implements the Runnabale interface Carries out the injection of an event into a
- * drools session and subsequent query of a counter to ensure that forward progress is occuring.
- */
-class TTControllerTask implements Runnable {
-
-    // get an instance of logger
-    private static final Logger logger = LoggerFactory.getLogger(TTControllerTask.class);
-
-    protected final PolicyController controller;
-
-    protected volatile boolean alive = true;
-    protected final Thread thread = makeThread(this);
-
-    public TTControllerTask(PolicyController controller) {
-        this.controller = controller;
-        this.thread.setName("tt-controller-task-" + controller.getName());
-        this.thread.start();
-    }
-
-    public PolicyController getController() {
-        return this.controller;
-    }
-
-    public synchronized boolean isAlive() {
-        return this.alive;
-    }
-
-    public synchronized void stop() {
-        this.alive = false;
-        this.thread.interrupt();
-        try {
-            joinThread(1000);
-        } catch (final InterruptedException e) {
-            logger.error("TestTransaction thread threw", e);
-            this.thread.interrupt();
-        }
-    }
-
-    public Thread getThread() {
-        return this.thread;
-    }
-
-    @Override
-    public void run() {
-        try {
-            final List<String> sessions = this.controller.getDrools().getSessionNames();
-
-            if (!(this.controller.getDrools().isBrained())) {
-                this.alive = false;
-                logger.error("{}: unknown drools controller", this);
-                return;
-            }
-
-            final DroolsController drools = this.controller.getDrools();
-
-            final HashMap<String, Long> fpcs = new HashMap<>();
-            for (final String session : sessions) {
-                fpcs.put(session, -1L);
-            }
-
-            while (this.controller.isAlive()
-                    && !this.controller.isLocked()
-                    && drools.isBrained()
-                    && this.alive) {
-
-                injectTxIntoSessions(sessions, fpcs, drools);
-
-                if (!this.alive) {
-                    return;
-                }
-
-                if (!getCurrentThread().isInterrupted()) {
-                    doSleep(TestTransaction.DEFAULT_TT_TASK_SLEEP);
-                }
-            }
-        } catch (final InterruptedException e) {
-            logger.info("{}: stopping ...", this, e);
-            getCurrentThread().interrupt();
-        } catch (final IllegalArgumentException e) {
-            logger.error(
-                    "{}: controller {} has not been enabled for testing: ",
-                    this,
-                    this.controller.getName(),
-                    e.getMessage(),
-                    e);
-        } catch (final Exception e) {
-            logger.error(
-                    "Controller: {} is not testable - TestTransaction caught exception: {} ",
-                    this.controller.getName(),
-                    e.getMessage());
-            logger.error("TestTransaction thread threw", e);
-        } finally {
-            logger.info("Exiting: {}", this);
-            this.alive = false;
-        }
-    }
-
-    private void injectTxIntoSessions(
-            List<String> sessions, HashMap<String, Long> fpcs, DroolsController drools) {
-
-        for (final String session : sessions) {
-            final List<Object> facts =
-                    this.controller
-                    .getDrools()
-                    .factQuery(session, TestTransaction.TT_FPC, TestTransaction.TT_COUNTER, false);
-            if (facts == null || facts.size() != 1) {
-                /*
-                 * unexpected something wrong here, can't expect to recover note this exception is
-                 * caught right below at the exit of run()
-                 */
-                logger.error(
-                        "Controller: {}, with rules artifact: (group) {}, (artifact) {}, (version) {} "
-                        + "- FPC query failed after EventObject insertion! ",
-                        this.controller.getName(),
-                        this.controller.getDrools().getGroupId(),
-                        this.controller.getDrools().getArtifactId(),
-                        this.controller.getDrools().getVersion());
-                break;
-            }
-            logger.debug("Facts: {}", facts);
-
-            final long fpc = (Long) facts.get(0);
-            if (fpc != fpcs.get(session)) {
-                logger.info(
-                        "Controller: {} , session {}  - Forward progress successful: {} -> {}",
-                        this.controller.getName(),
-                        session,
-                        fpcs.get(session),
-                        fpc);
-            } else {
-                logger.error(
-                        "Controller: {}, session {} - Forward progress failure: {}",
-                        this.controller.getName(),
-                        session,
-                        fpc);
-            }
-            fpcs.put(session, fpc);
-            drools.getContainer().insert(session, new EventObject(TestTransaction.TT_UUID));
-        }
-    }
-
-    @Override
-    public String toString() {
-        final StringBuilder builder = new StringBuilder();
-        builder.append("TTControllerTask [controller=");
-        builder.append(this.controller);
-        builder.append(", alive=");
-        builder.append(this.alive);
-        builder.append(", thread=");
-        builder.append(this.thread.getName());
-        builder.append("]");
-        return builder.toString();
-    }
-
-    // these may be overridden by junit tests
-    
-    protected Thread makeThread(Runnable action) {
-        return new Thread(action);
-    }
-
-    protected void joinThread(long waitTimeMs) throws InterruptedException {
-        this.thread.join(waitTimeMs);
-    }
-
-    protected void doSleep(long sleepMs) throws InterruptedException {
-        Thread.sleep(sleepMs);
-    }
-
-    protected Thread getCurrentThread() {
-        return Thread.currentThread();
-    }
-}
diff --git a/feature-test-transaction/src/main/java/org/onap/policy/drools/testtransaction/TtControllerTask.java b/feature-test-transaction/src/main/java/org/onap/policy/drools/testtransaction/TtControllerTask.java
new file mode 100644 (file)
index 0000000..cd54eb0
--- /dev/null
@@ -0,0 +1,211 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP
+ * ================================================================================
+ * Copyright (C) 2019 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.policy.drools.testtransaction;
+
+import java.util.EventObject;
+import java.util.HashMap;
+import java.util.List;
+import org.onap.policy.drools.controller.DroolsController;
+import org.onap.policy.drools.system.PolicyController;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * TtControllerTask implements the Runnabale interface Carries out the injection of an event into a
+ * drools session and subsequent query of a counter to ensure that forward progress is occuring.
+ */
+public class TtControllerTask implements Runnable {
+
+    // get an instance of logger
+    private static final Logger logger = LoggerFactory.getLogger(TtControllerTask.class);
+
+    protected final PolicyController controller;
+
+    protected volatile boolean alive = true;
+    protected final Thread thread = makeThread(this);
+
+    /**
+     * Constructs the object.
+     *
+     * @param controller controller with which the task is associated
+     */
+    public TtControllerTask(PolicyController controller) {
+        this.controller = controller;
+        this.thread.setName("tt-controller-task-" + controller.getName());
+        this.thread.start();
+    }
+
+    public PolicyController getController() {
+        return this.controller;
+    }
+
+    public synchronized boolean isAlive() {
+        return this.alive;
+    }
+
+    /**
+     * Stops the task.
+     */
+    public synchronized void stop() {
+        this.alive = false;
+        this.thread.interrupt();
+        try {
+            joinThread(1000);
+        } catch (final InterruptedException e) {
+            logger.error("TestTransaction thread threw", e);
+            this.thread.interrupt();
+        }
+    }
+
+    public Thread getThread() {
+        return this.thread;
+    }
+
+    @Override
+    public void run() {
+        try {
+            final List<String> sessions = this.controller.getDrools().getSessionNames();
+
+            if (!(this.controller.getDrools().isBrained())) {
+                this.alive = false;
+                logger.error("{}: unknown drools controller", this);
+                return;
+            }
+
+            final DroolsController drools = this.controller.getDrools();
+
+            final HashMap<String, Long> fpcs = new HashMap<>();
+            for (final String session : sessions) {
+                fpcs.put(session, -1L);
+            }
+
+            while (this.controller.isAlive()
+                    && !this.controller.isLocked()
+                    && drools.isBrained()
+                    && this.alive) {
+
+                injectTxIntoSessions(sessions, fpcs, drools);
+
+                if (!this.alive) {
+                    return;
+                }
+
+                if (!getCurrentThread().isInterrupted()) {
+                    doSleep(TestTransaction.DEFAULT_TT_TASK_SLEEP);
+                }
+            }
+        } catch (final InterruptedException e) {
+            logger.info("{}: stopping ...", this, e);
+            getCurrentThread().interrupt();
+        } catch (final IllegalArgumentException e) {
+            logger.error(
+                    "{}: controller {} has not been enabled for testing: ",
+                    this,
+                    this.controller.getName(),
+                    e.getMessage(),
+                    e);
+        } catch (final Exception e) {
+            logger.error(
+                    "Controller: {} is not testable - TestTransaction caught exception: {} ",
+                    this.controller.getName(),
+                    e.getMessage());
+            logger.error("TestTransaction thread threw", e);
+        } finally {
+            logger.info("Exiting: {}", this);
+            this.alive = false;
+        }
+    }
+
+    private void injectTxIntoSessions(
+            List<String> sessions, HashMap<String, Long> fpcs, DroolsController drools) {
+
+        for (final String session : sessions) {
+            final List<Object> facts =
+                    this.controller
+                    .getDrools()
+                    .factQuery(session, TestTransaction.TT_FPC, TestTransaction.TT_COUNTER, false);
+            if (facts == null || facts.size() != 1) {
+                /*
+                 * unexpected something wrong here, can't expect to recover note this exception is
+                 * caught right below at the exit of run()
+                 */
+                logger.error(
+                        "Controller: {}, with rules artifact: (group) {}, (artifact) {}, (version) {} "
+                        + "- FPC query failed after EventObject insertion! ",
+                        this.controller.getName(),
+                        this.controller.getDrools().getGroupId(),
+                        this.controller.getDrools().getArtifactId(),
+                        this.controller.getDrools().getVersion());
+                break;
+            }
+            logger.debug("Facts: {}", facts);
+
+            final long fpc = (Long) facts.get(0);
+            if (fpc != fpcs.get(session)) {
+                logger.info(
+                        "Controller: {} , session {}  - Forward progress successful: {} -> {}",
+                        this.controller.getName(),
+                        session,
+                        fpcs.get(session),
+                        fpc);
+            } else {
+                logger.error(
+                        "Controller: {}, session {} - Forward progress failure: {}",
+                        this.controller.getName(),
+                        session,
+                        fpc);
+            }
+            fpcs.put(session, fpc);
+            drools.getContainer().insert(session, new EventObject(TestTransaction.TT_UUID));
+        }
+    }
+
+    @Override
+    public String toString() {
+        final StringBuilder builder = new StringBuilder();
+        builder.append("TTControllerTask [controller=");
+        builder.append(this.controller);
+        builder.append(", alive=");
+        builder.append(this.alive);
+        builder.append(", thread=");
+        builder.append(this.thread.getName());
+        builder.append("]");
+        return builder.toString();
+    }
+
+    // these may be overridden by junit tests
+
+    protected Thread makeThread(Runnable action) {
+        return new Thread(action);
+    }
+
+    protected void joinThread(long waitTimeMs) throws InterruptedException {
+        this.thread.join(waitTimeMs);
+    }
+
+    protected void doSleep(long sleepMs) throws InterruptedException {
+        Thread.sleep(sleepMs);
+    }
+
+    protected Thread getCurrentThread() {
+        return Thread.currentThread();
+    }
+}
diff --git a/feature-test-transaction/src/main/java/org/onap/policy/drools/testtransaction/TtImpl.java b/feature-test-transaction/src/main/java/org/onap/policy/drools/testtransaction/TtImpl.java
new file mode 100644 (file)
index 0000000..cc207d7
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP
+ * ================================================================================
+ * Copyright (C) 2019 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.policy.drools.testtransaction;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.onap.policy.drools.system.PolicyController;
+
+/**
+ * Implementation of TestTransaction interface. Controls the registering/unregistering of
+ * PolicyController objects and the management of their related TTControllerTask threads.
+ */
+public class TtImpl implements TestTransaction {
+
+    protected final Map<String, TtControllerTask> controllers = new HashMap<>();
+
+    @Override
+    public synchronized void register(PolicyController controller) {
+        TtControllerTask controllerTask = this.controllers.get(controller.getName());
+        if (controllerTask != null && controllerTask.isAlive()) {
+            return;
+        }
+
+        // continue : unregister, register operation
+
+        controllerTask = makeControllerTask(controller);
+        this.controllers.put(controller.getName(), controllerTask);
+    }
+
+    @Override
+    public synchronized void unregister(PolicyController controller) {
+        final TtControllerTask controllerTask = this.controllers.remove(controller.getName());
+        if (controllerTask != null) {
+            controllerTask.stop();
+        }
+    }
+
+    // these may be overridden by junit tests
+
+    protected TtControllerTask makeControllerTask(PolicyController controller) {
+        return new TtControllerTask(controller);
+    }
+}
index 465b7aa..23fdc21 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * feature-test-transaction
  * ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2019 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.
@@ -67,10 +67,10 @@ public class TestTransactionAdditionalTest {
     private long doSleepMs;
     private DroolsController drools;
     private PolicyContainer container;
-    private Map<String, TTControllerTask> name2task;
-    private TTControllerTask task;
-    private TTControllerTask task2;
-    private TTControllerTask task3;
+    private Map<String, TtControllerTask> name2task;
+    private TtControllerTask task;
+    private TtControllerTask task2;
+    private TtControllerTask task3;
     private TestTransTImplTester impl;
 
     /**
@@ -87,8 +87,8 @@ public class TestTransactionAdditionalTest {
         doSleepMs = -1;
         drools = mock(DroolsController.class);
         container = mock(PolicyContainer.class);
-        task2 = mock(TTControllerTask.class);
-        task3 = mock(TTControllerTask.class);
+        task2 = mock(TtControllerTask.class);
+        task3 = mock(TtControllerTask.class);
         name2task = new TreeMap<>();
 
         when(drools.getSessionNames()).thenReturn(sessions);
@@ -119,12 +119,12 @@ public class TestTransactionAdditionalTest {
 
     @Test
     public void testTestTransactionImpl() {
-        assertNotNull(TTImpl.manager);
+        assertNotNull(TtImpl.manager);
     }
 
     @Test
     public void testTestTransactionImplRegister_testTestTransactionImplUnregister() {
-        task = mock(TTControllerTask.class);
+        task = mock(TtControllerTask.class);
         when(task.isAlive()).thenReturn(true);
         name2task.put(CONTROLLER1, task);
 
@@ -163,7 +163,7 @@ public class TestTransactionAdditionalTest {
 
     @Test
     public void testTestTransactionControllerTaskFactory() throws Exception {
-        task = new TTControllerTask(controller) {
+        task = new TtControllerTask(controller) {
             @Override
             protected Thread makeThread(Runnable action) {
                 return theThread;
@@ -363,10 +363,10 @@ public class TestTransactionAdditionalTest {
     /**
      * TestTransaction with overridden methods.
      */
-    private class TestTransTImplTester extends TTImpl {
+    private class TestTransTImplTester extends TtImpl {
 
         @Override
-        protected TTControllerTask makeControllerTask(PolicyController controller) {
+        protected TtControllerTask makeControllerTask(PolicyController controller) {
             return name2task.get(controller.getName());
         }
     }
@@ -374,7 +374,7 @@ public class TestTransactionAdditionalTest {
     /**
      * Controller task with overridden methods.
      */
-    private class TestTransControllerTaskTester extends TTControllerTask {
+    private class TestTransControllerTaskTester extends TtControllerTask {
         private int sleepCount = MAX_SLEEP_COUNT;
 
         public TestTransControllerTaskTester(PolicyController controller) {
index 40b1ff9..e0779ba 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * feature-test-transaction
  * ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2019 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.
@@ -80,10 +80,10 @@ public class TestTransactionTest {
         CountDownLatch latch = new CountDownLatch(1);
         
         // use our own impl so we can decrement the latch when run() completes
-        TTImpl impl = new TTImpl() {
+        TtImpl impl = new TtImpl() {
             @Override
-            protected TTControllerTask makeControllerTask(PolicyController controller) {
-                return new TTControllerTask(controller) {
+            protected TtControllerTask makeControllerTask(PolicyController controller) {
+                return new TtControllerTask(controller) {
                     @Override
                     public void run() {
                         super.run();