diff options
8 files changed, 247 insertions, 112 deletions
diff --git a/main/src/main/java/org/onap/policy/pap/main/rest/HealthCheckProvider.java b/main/src/main/java/org/onap/policy/pap/main/rest/HealthCheckProvider.java index 6f4c1cc0..58dccc86 100644 --- a/main/src/main/java/org/onap/policy/pap/main/rest/HealthCheckProvider.java +++ b/main/src/main/java/org/onap/policy/pap/main/rest/HealthCheckProvider.java @@ -46,7 +46,7 @@ public class HealthCheckProvider { report.setName(NAME); report.setUrl(URL); - boolean alive = PapActivator.isAlive(); + boolean alive = PapActivator.getCurrent().isAlive(); report.setHealthy(alive); report.setCode(alive ? 200 : 500); diff --git a/main/src/main/java/org/onap/policy/pap/main/rest/PapStatisticsManager.java b/main/src/main/java/org/onap/policy/pap/main/rest/PapStatisticsManager.java index 98148117..32893668 100644 --- a/main/src/main/java/org/onap/policy/pap/main/rest/PapStatisticsManager.java +++ b/main/src/main/java/org/onap/policy/pap/main/rest/PapStatisticsManager.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2019 Nordix Foundation. + * Modifications Copyright (C) 2019 AT&T Intellectual Property. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,6 +21,7 @@ package org.onap.policy.pap.main.rest; +import java.util.concurrent.atomic.AtomicLong; import lombok.Getter; /** @@ -30,24 +32,22 @@ import lombok.Getter; public class PapStatisticsManager { @Getter - private static long totalPdpCount; - @Getter - private static long totalPdpGroupCount; - @Getter - private static long totalPolicyDeployCount; - @Getter - private static long policyDeploySuccessCount; - @Getter - private static long policyDeployFailureCount; - @Getter - private static long totalPolicyDownloadCount; - @Getter - private static long policyDownloadSuccessCount; - @Getter - private static long policyDownloadFailureCount; + private static final PapStatisticsManager instance = new PapStatisticsManager(); - private PapStatisticsManager() { - throw new IllegalStateException("Instantiation of the class is not allowed"); + private final AtomicLong totalPdpCount = new AtomicLong(0); + private final AtomicLong totalPdpGroupCount = new AtomicLong(0); + private final AtomicLong totalPolicyDeployCount = new AtomicLong(0); + private final AtomicLong policyDeploySuccessCount = new AtomicLong(0); + private final AtomicLong policyDeployFailureCount = new AtomicLong(0); + private final AtomicLong totalPolicyDownloadCount = new AtomicLong(0); + private final AtomicLong policyDownloadSuccessCount = new AtomicLong(0); + private final AtomicLong policyDownloadFailureCount = new AtomicLong(0); + + /** + * Constructs the object. + */ + protected PapStatisticsManager() { + super(); } /** @@ -55,8 +55,8 @@ public class PapStatisticsManager { * * @return the updated value of totalPdpCount */ - public static long updateTotalPdpCount() { - return ++totalPdpCount; + public long updateTotalPdpCount() { + return totalPdpCount.incrementAndGet(); } /** @@ -64,8 +64,8 @@ public class PapStatisticsManager { * * @return the updated value of totalPdpGroupCount */ - public static long updateTotalPdpGroupCount() { - return ++totalPdpGroupCount; + public long updateTotalPdpGroupCount() { + return totalPdpGroupCount.incrementAndGet(); } /** @@ -73,8 +73,8 @@ public class PapStatisticsManager { * * @return the updated value of totalPolicyDeployCount */ - public static long updateTotalPolicyDeployCount() { - return ++totalPolicyDeployCount; + public long updateTotalPolicyDeployCount() { + return totalPolicyDeployCount.incrementAndGet(); } /** @@ -82,8 +82,8 @@ public class PapStatisticsManager { * * @return the updated value of policyDeploySuccessCount */ - public static long updatePolicyDeploySuccessCount() { - return ++policyDeploySuccessCount; + public long updatePolicyDeploySuccessCount() { + return policyDeploySuccessCount.incrementAndGet(); } /** @@ -91,8 +91,8 @@ public class PapStatisticsManager { * * @return the updated value of policyDeployFailureCount */ - public static long updatePolicyDeployFailureCount() { - return ++policyDeployFailureCount; + public long updatePolicyDeployFailureCount() { + return policyDeployFailureCount.incrementAndGet(); } /** @@ -100,8 +100,8 @@ public class PapStatisticsManager { * * @return the updated value of totalPolicyDownloadCount */ - public static long updateTotalPolicyDownloadCount() { - return ++totalPolicyDownloadCount; + public long updateTotalPolicyDownloadCount() { + return totalPolicyDownloadCount.incrementAndGet(); } /** @@ -109,8 +109,8 @@ public class PapStatisticsManager { * * @return the updated value of policyDownloadSuccessCount */ - public static long updatePolicyDownloadSuccessCount() { - return ++policyDownloadSuccessCount; + public long updatePolicyDownloadSuccessCount() { + return policyDownloadSuccessCount.incrementAndGet(); } /** @@ -118,21 +118,53 @@ public class PapStatisticsManager { * * @return the updated value of policyDownloadFailureCount */ - public static long updatePolicyDownloadFailureCount() { - return ++policyDownloadFailureCount; + public long updatePolicyDownloadFailureCount() { + return policyDownloadFailureCount.incrementAndGet(); } /** * Reset all the statistics counts to 0. */ - public static void resetAllStatistics() { - totalPdpCount = 0L; - totalPdpGroupCount = 0L; - totalPolicyDeployCount = 0L; - policyDeploySuccessCount = 0L; - policyDeployFailureCount = 0L; - totalPolicyDownloadCount = 0L; - policyDownloadSuccessCount = 0L; - policyDownloadFailureCount = 0L; + public void resetAllStatistics() { + totalPdpCount.set(0L); + totalPdpGroupCount.set(0L); + totalPolicyDeployCount.set(0L); + policyDeploySuccessCount.set(0L); + policyDeployFailureCount.set(0L); + totalPolicyDownloadCount.set(0L); + policyDownloadSuccessCount.set(0L); + policyDownloadFailureCount.set(0L); + } + + public long getTotalPdpCount() { + return totalPdpCount.get(); + } + + public long getTotalPdpGroupCount() { + return totalPdpGroupCount.get(); + } + + public long getTotalPolicyDeployCount() { + return totalPolicyDeployCount.get(); + } + + public long getPolicyDeploySuccessCount() { + return policyDeploySuccessCount.get(); + } + + public long getPolicyDeployFailureCount() { + return policyDeployFailureCount.get(); + } + + public long getTotalPolicyDownloadCount() { + return totalPolicyDownloadCount.get(); + } + + public long getPolicyDownloadSuccessCount() { + return policyDownloadSuccessCount.get(); + } + + public long getPolicyDownloadFailureCount() { + return policyDownloadFailureCount.get(); } } diff --git a/main/src/main/java/org/onap/policy/pap/main/rest/StatisticsProvider.java b/main/src/main/java/org/onap/policy/pap/main/rest/StatisticsProvider.java index 38ae5034..026ccf49 100644 --- a/main/src/main/java/org/onap/policy/pap/main/rest/StatisticsProvider.java +++ b/main/src/main/java/org/onap/policy/pap/main/rest/StatisticsProvider.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2019 Nordix Foundation. + * Modifications Copyright (C) 2019 AT&T Intellectual Property. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -36,15 +37,18 @@ public class StatisticsProvider { */ public StatisticsReport fetchCurrentStatistics() { final StatisticsReport report = new StatisticsReport(); - report.setCode(PapActivator.isAlive() ? 200 : 500); - report.setTotalPdpCount(PapStatisticsManager.getTotalPdpCount()); - report.setTotalPdpGroupCount(PapStatisticsManager.getTotalPdpGroupCount()); - report.setTotalPolicyDownloadCount(PapStatisticsManager.getTotalPolicyDownloadCount()); - report.setPolicyDownloadSuccessCount(PapStatisticsManager.getPolicyDownloadSuccessCount()); - report.setPolicyDownloadFailureCount(PapStatisticsManager.getPolicyDownloadFailureCount()); - report.setTotalPolicyDeployCount(PapStatisticsManager.getTotalPolicyDeployCount()); - report.setPolicyDeploySuccessCount(PapStatisticsManager.getPolicyDeploySuccessCount()); - report.setPolicyDeployFailureCount(PapStatisticsManager.getPolicyDeployFailureCount()); + report.setCode(PapActivator.getCurrent().isAlive() ? 200 : 500); + + PapStatisticsManager mgr = PapStatisticsManager.getInstance(); + report.setTotalPdpCount(mgr.getTotalPdpCount()); + report.setTotalPdpGroupCount(mgr.getTotalPdpGroupCount()); + report.setTotalPolicyDownloadCount(mgr.getTotalPolicyDownloadCount()); + report.setPolicyDownloadSuccessCount(mgr.getPolicyDownloadSuccessCount()); + report.setPolicyDownloadFailureCount(mgr.getPolicyDownloadFailureCount()); + report.setTotalPolicyDeployCount(mgr.getTotalPolicyDeployCount()); + report.setPolicyDeploySuccessCount(mgr.getPolicyDeploySuccessCount()); + report.setPolicyDeployFailureCount(mgr.getPolicyDeployFailureCount()); + return report; } } diff --git a/main/src/main/java/org/onap/policy/pap/main/startstop/Main.java b/main/src/main/java/org/onap/policy/pap/main/startstop/Main.java index 602e04df..cbe4dcc9 100644 --- a/main/src/main/java/org/onap/policy/pap/main/startstop/Main.java +++ b/main/src/main/java/org/onap/policy/pap/main/startstop/Main.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2019 Nordix Foundation. + * Modifications Copyright (C) 2019 AT&T Intellectual Property. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -75,6 +76,7 @@ public class Main { // Now, create the activator for the policy pap service activator = new PapActivator(parameterGroup); + PapActivator.setCurrent(activator); // Start the activator try { diff --git a/main/src/main/java/org/onap/policy/pap/main/startstop/PapActivator.java b/main/src/main/java/org/onap/policy/pap/main/startstop/PapActivator.java index 9fb3535b..18b87641 100644 --- a/main/src/main/java/org/onap/policy/pap/main/startstop/PapActivator.java +++ b/main/src/main/java/org/onap/policy/pap/main/startstop/PapActivator.java @@ -21,6 +21,8 @@ package org.onap.policy.pap.main.startstop; +import lombok.Getter; +import lombok.Setter; import org.onap.policy.common.parameters.ParameterService; import org.onap.policy.pap.main.PolicyPapException; import org.onap.policy.pap.main.parameters.PapParameterGroup; @@ -39,7 +41,19 @@ public class PapActivator { private static final Logger LOGGER = LoggerFactory.getLogger(PapActivator.class); private final PapParameterGroup papParameterGroup; - private static volatile boolean alive = false; + + /** + * The current activator. This is initialized to a dummy instance used until the real + * one has been configured. + */ + @Getter + @Setter + private static volatile PapActivator current = new PapActivator(null); + + @Getter + @Setter(lombok.AccessLevel.PRIVATE) + private volatile boolean alive = false; + private PapRestServer restServer; /** @@ -61,7 +75,7 @@ public class PapActivator { LOGGER.debug("Policy pap starting as a service . . ."); startPapRestServer(); registerToParameterService(papParameterGroup); - PapActivator.setAlive(true); + setAlive(true); LOGGER.debug("Policy pap started as a service"); } catch (final Exception exp) { LOGGER.error("Policy pap service startup failed", exp); @@ -77,7 +91,7 @@ public class PapActivator { public void terminate() throws PolicyPapException { try { deregisterToParameterService(papParameterGroup); - PapActivator.setAlive(false); + setAlive(false); // Stop the pap rest server restServer.stop(); @@ -115,24 +129,6 @@ public class PapActivator { } /** - * Returns the alive status of pap service. - * - * @return the alive - */ - public static boolean isAlive() { - return alive; - } - - /** - * Change the alive status of pap service. - * - * @param status the status - */ - private static void setAlive(final boolean status) { - alive = status; - } - - /** * Starts the pap rest server using configuration parameters. * * @throws PolicyPapException if server start fails diff --git a/main/src/test/java/org/onap/policy/pap/main/rest/TestPapRestServer.java b/main/src/test/java/org/onap/policy/pap/main/rest/TestPapRestServer.java index a8451992..77ac8f1e 100644 --- a/main/src/test/java/org/onap/policy/pap/main/rest/TestPapRestServer.java +++ b/main/src/test/java/org/onap/policy/pap/main/rest/TestPapRestServer.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2019 Nordix Foundation. + * Modifications Copyright (C) 2019 AT&T Intellectual Property. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -76,6 +77,8 @@ public class TestPapRestServer { */ @After public void teardown() { + PapStatisticsManager.getInstance().resetAllStatistics(); + try { if (NetworkUtil.isTcpPortOpen("localhost", 6969, 1, 1000L)) { if (main != null) { @@ -103,21 +106,16 @@ public class TestPapRestServer { } @Test - public void testHealthCheckFailure() throws InterruptedException, IOException { + public void testHealthCheckFailure() throws Exception { final RestServerParameters restServerParams = new CommonTestData().getRestServerParameters(false); restServerParams.setName(CommonTestData.PAP_GROUP_NAME); restServer = new PapRestServer(restServerParams); - try { - restServer.start(); - final Invocation.Builder invocationBuilder = sendHttpRequest(HEALTHCHECK_ENDPOINT); - final HealthCheckReport report = invocationBuilder.get(HealthCheckReport.class); - validateHealthCheckReport(NAME, SELF, false, 500, NOT_ALIVE, report); - assertTrue(restServer.isAlive()); - assertTrue(restServer.toString().startsWith("PapRestServer [servers=")); - } catch (final Exception exp) { - LOGGER.error("testHealthCheckFailure failed", exp); - fail("Test should not throw an exception"); - } + restServer.start(); + final Invocation.Builder invocationBuilder = sendHttpRequest(HEALTHCHECK_ENDPOINT); + final HealthCheckReport report = invocationBuilder.get(HealthCheckReport.class); + validateHealthCheckReport(NAME, SELF, false, 500, NOT_ALIVE, report); + assertTrue(restServer.isAlive()); + assertTrue(restServer.toString().startsWith("PapRestServer [servers=")); } @Test @@ -144,7 +142,6 @@ public class TestPapRestServer { invocationBuilder = sendHttpRequest(STATISTICS_ENDPOINT); report = invocationBuilder.get(StatisticsReport.class); validateStatisticsReport(report, 1, 200); - PapStatisticsManager.resetAllStatistics(); } catch (final Exception exp) { LOGGER.error("testPapStatistics_200 failed", exp); fail("Test should not throw an exception"); @@ -161,7 +158,6 @@ public class TestPapRestServer { final Invocation.Builder invocationBuilder = sendHttpRequest(STATISTICS_ENDPOINT); final StatisticsReport report = invocationBuilder.get(StatisticsReport.class); validateStatisticsReport(report, 0, 500); - PapStatisticsManager.resetAllStatistics(); } catch (final Exception exp) { LOGGER.error("testPapStatistics_500 failed", exp); fail("Test should not throw an exception"); @@ -182,15 +178,9 @@ public class TestPapRestServer { } @Test - public void testPapStatisticsConstructorIsPrivate() { - try { - final Constructor<PapStatisticsManager> constructor = PapStatisticsManager.class.getDeclaredConstructor(); - assertTrue(Modifier.isPrivate(constructor.getModifiers())); - constructor.setAccessible(true); - constructor.newInstance(); - } catch (final Exception exp) { - assertTrue(exp.getCause().toString().contains("Instantiation of the class is not allowed")); - } + public void testPapStatisticsConstructorIsProtected() throws Exception { + final Constructor<PapStatisticsManager> constructor = PapStatisticsManager.class.getDeclaredConstructor(); + assertTrue(Modifier.isProtected(constructor.getModifiers())); } private Main startPapService(final boolean http) { @@ -265,14 +255,16 @@ public class TestPapRestServer { } private void updateDistributionStatistics() { - PapStatisticsManager.updateTotalPdpCount(); - PapStatisticsManager.updateTotalPdpGroupCount(); - PapStatisticsManager.updateTotalPolicyDeployCount(); - PapStatisticsManager.updatePolicyDeploySuccessCount(); - PapStatisticsManager.updatePolicyDeployFailureCount(); - PapStatisticsManager.updateTotalPolicyDownloadCount(); - PapStatisticsManager.updatePolicyDownloadSuccessCount(); - PapStatisticsManager.updatePolicyDownloadFailureCount(); + PapStatisticsManager mgr = PapStatisticsManager.getInstance(); + + mgr.updateTotalPdpCount(); + mgr.updateTotalPdpGroupCount(); + mgr.updateTotalPolicyDeployCount(); + mgr.updatePolicyDeploySuccessCount(); + mgr.updatePolicyDeployFailureCount(); + mgr.updateTotalPolicyDownloadCount(); + mgr.updatePolicyDownloadSuccessCount(); + mgr.updatePolicyDownloadFailureCount(); } private void validateStatisticsReport(final StatisticsReport report, final int count, final int code) { diff --git a/main/src/test/java/org/onap/policy/pap/main/rest/TestPapStatisticsManager.java b/main/src/test/java/org/onap/policy/pap/main/rest/TestPapStatisticsManager.java new file mode 100644 index 00000000..d4e4f81a --- /dev/null +++ b/main/src/test/java/org/onap/policy/pap/main/rest/TestPapStatisticsManager.java @@ -0,0 +1,89 @@ +/* + * ============LICENSE_START======================================================= + * 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. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.policy.pap.main.rest; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertSame; + +import org.junit.Test; + +public class TestPapStatisticsManager { + + @Test + public void test() { + PapStatisticsManager mgr = PapStatisticsManager.getInstance(); + assertNotNull(mgr); + + // should return the same manager + assertSame(mgr, PapStatisticsManager.getInstance()); + + // work with a new object so we don't have to worry about initial counts + mgr = new PapStatisticsManager(); + + // try each update + + assertEquals(0, mgr.getTotalPdpCount()); + assertEquals(1, mgr.updateTotalPdpCount()); + assertEquals(1, mgr.getTotalPdpCount()); + + assertEquals(0, mgr.getTotalPdpGroupCount()); + assertEquals(1, mgr.updateTotalPdpGroupCount()); + assertEquals(1, mgr.getTotalPdpGroupCount()); + + assertEquals(0, mgr.getTotalPolicyDeployCount()); + assertEquals(1, mgr.updateTotalPolicyDeployCount()); + assertEquals(1, mgr.getTotalPolicyDeployCount()); + + assertEquals(0, mgr.getPolicyDeploySuccessCount()); + assertEquals(1, mgr.updatePolicyDeploySuccessCount()); + assertEquals(1, mgr.getPolicyDeploySuccessCount()); + + assertEquals(0, mgr.getPolicyDeployFailureCount()); + assertEquals(1, mgr.updatePolicyDeployFailureCount()); + assertEquals(1, mgr.getPolicyDeployFailureCount()); + + assertEquals(0, mgr.getTotalPolicyDownloadCount()); + assertEquals(1, mgr.updateTotalPolicyDownloadCount()); + assertEquals(1, mgr.getTotalPolicyDownloadCount()); + + assertEquals(0, mgr.getPolicyDownloadSuccessCount()); + assertEquals(1, mgr.updatePolicyDownloadSuccessCount()); + assertEquals(1, mgr.getPolicyDownloadSuccessCount()); + + assertEquals(0, mgr.getPolicyDownloadFailureCount()); + assertEquals(1, mgr.updatePolicyDownloadFailureCount()); + assertEquals(1, mgr.getPolicyDownloadFailureCount()); + + // now check reset + mgr.resetAllStatistics(); + + assertEquals(0, mgr.getPolicyDeployFailureCount()); + assertEquals(0, mgr.getTotalPdpCount()); + assertEquals(0, mgr.getTotalPdpGroupCount()); + assertEquals(0, mgr.getTotalPolicyDeployCount()); + assertEquals(0, mgr.getPolicyDeploySuccessCount()); + assertEquals(0, mgr.getPolicyDeployFailureCount()); + assertEquals(0, mgr.getTotalPolicyDownloadCount()); + assertEquals(0, mgr.getPolicyDownloadSuccessCount()); + assertEquals(0, mgr.getPolicyDownloadFailureCount()); + } +} diff --git a/main/src/test/java/org/onap/policy/pap/main/startstop/TestPapActivator.java b/main/src/test/java/org/onap/policy/pap/main/startstop/TestPapActivator.java index 3781be47..8e8e6c09 100644 --- a/main/src/test/java/org/onap/policy/pap/main/startstop/TestPapActivator.java +++ b/main/src/test/java/org/onap/policy/pap/main/startstop/TestPapActivator.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2019 Nordix Foundation. + * Modifications Copyright (C) 2019 AT&T Intellectual Property. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,10 +22,14 @@ package org.onap.policy.pap.main.startstop; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import org.junit.After; +import org.junit.Before; import org.junit.Test; import org.onap.policy.pap.main.PolicyPapException; import org.onap.policy.pap.main.parameters.CommonTestData; @@ -45,6 +50,18 @@ public class TestPapActivator { private PapActivator activator; /** + * Initializes an activator. + * @throws Exception if an error occurs + */ + @Before + public void setUp() throws Exception { + final String[] papConfigParameters = { "-c", "parameters/PapConfigParameters.json" }; + final PapCommandLineArguments arguments = new PapCommandLineArguments(papConfigParameters); + final PapParameterGroup parGroup = new PapParameterHandler().getParameters(arguments); + activator = new PapActivator(parGroup); + } + + /** * Method for cleanup after each test. */ @After @@ -60,12 +77,10 @@ public class TestPapActivator { @Test public void testPapActivator() throws PolicyPapException { - final String[] papConfigParameters = { "-c", "parameters/PapConfigParameters.json" }; - final PapCommandLineArguments arguments = new PapCommandLineArguments(papConfigParameters); - final PapParameterGroup parGroup = new PapParameterHandler().getParameters(arguments); - activator = new PapActivator(parGroup); try { + assertFalse(activator.isAlive()); activator.initialize(); + assertTrue(activator.isAlive()); assertTrue(activator.getParameterGroup().isValid()); assertEquals(CommonTestData.PAP_GROUP_NAME, activator.getParameterGroup().getName()); } catch (final Exception exp) { @@ -76,12 +91,17 @@ public class TestPapActivator { @Test(expected = PolicyPapException.class) public void testPapActivatorError() throws PolicyPapException { - final String[] papConfigParameters = { "-c", "parameters/PapConfigParameters.json" }; - final PapCommandLineArguments arguments = new PapCommandLineArguments(papConfigParameters); - final PapParameterGroup parGroup = new PapParameterHandler().getParameters(arguments); - activator = new PapActivator(parGroup); activator.initialize(); assertTrue(activator.getParameterGroup().isValid()); activator.initialize(); } + + @Test + public void testGetCurrent_testSetCurrent() { + assertNotNull(PapActivator.getCurrent()); + + PapActivator.setCurrent(activator); + + assertSame(activator, PapActivator.getCurrent()); + } } |