From f4d465bc7391a39410836ceb1c1d25b20eaae74a Mon Sep 17 00:00:00 2001 From: jhh Date: Tue, 8 Mar 2022 19:24:14 -0600 Subject: remove init, mdc, and controller logging features Issue-ID: POLICY-3922 Signed-off-by: jhh Change-Id: I8267ea17c3340e47f85b54c641ddb14672776f70 --- feature-drools-init/pom.xml | 86 ---------------- feature-drools-init/src/assembly/assemble_zip.xml | 76 -------------- .../drools/droolsinit/DroolsInitFeature.java | 81 --------------- ...onap.policy.drools.core.PolicySessionFeatureApi | 1 - .../drools/droolsinit/DroolsInitFeatureTest.java | 110 --------------------- 5 files changed, 354 deletions(-) delete mode 100644 feature-drools-init/pom.xml delete mode 100644 feature-drools-init/src/assembly/assemble_zip.xml delete mode 100644 feature-drools-init/src/main/java/org/onap/policy/drools/droolsinit/DroolsInitFeature.java delete mode 100644 feature-drools-init/src/main/resources/META-INF/services/org.onap.policy.drools.core.PolicySessionFeatureApi delete mode 100644 feature-drools-init/src/test/java/org/onap/policy/drools/droolsinit/DroolsInitFeatureTest.java (limited to 'feature-drools-init') diff --git a/feature-drools-init/pom.xml b/feature-drools-init/pom.xml deleted file mode 100644 index 40ae9de6..00000000 --- a/feature-drools-init/pom.xml +++ /dev/null @@ -1,86 +0,0 @@ - - - - - 4.0.0 - - - org.onap.policy.drools-pdp - drools-pdp - 1.10.1-SNAPSHOT - - - feature-drools-init - feature-drools-init - - - - - maven-assembly-plugin - - - zipfile - - single - - package - - true - ${project.artifactId}-${project.version} - - src/assembly/assemble_zip.xml - - false - - - - - - - - - - org.onap.policy.drools-pdp - policy-core - ${project.version} - provided - - - org.onap.policy.drools-pdp - policy-management - ${project.version} - provided - - - - org.powermock - powermock-api-mockito2 - test - - - junit - junit - test - - - - diff --git a/feature-drools-init/src/assembly/assemble_zip.xml b/feature-drools-init/src/assembly/assemble_zip.xml deleted file mode 100644 index 948cb11c..00000000 --- a/feature-drools-init/src/assembly/assemble_zip.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - feature-drools-init-package - - zip - - - false - - - - target - lib/feature - - feature-drools-init-${project.version}.jar - - - - target/assembly/lib - lib/dependencies - - *.jar - - - - src/main/feature/config - config - 0644 - - - - src/main/feature/bin - bin - 0744 - - - - src/main/feature/db - db - 0744 - - - - src/main/feature/install - install - 0744 - - - - - diff --git a/feature-drools-init/src/main/java/org/onap/policy/drools/droolsinit/DroolsInitFeature.java b/feature-drools-init/src/main/java/org/onap/policy/drools/droolsinit/DroolsInitFeature.java deleted file mode 100644 index 923083cb..00000000 --- a/feature-drools-init/src/main/java/org/onap/policy/drools/droolsinit/DroolsInitFeature.java +++ /dev/null @@ -1,81 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * feature-drools-init - * ================================================================================ - * Copyright (C) 2019, 2021 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.droolsinit; - -import java.io.Serializable; -import java.util.concurrent.TimeUnit; -import org.onap.policy.drools.core.PolicySession; -import org.onap.policy.drools.core.PolicySessionFeatureApi; -import org.onap.policy.drools.system.PolicyEngineConstants; - -/** - * This feature inserts an object of class 'DroolsInitFeature.Init' into - * every newly-created or updated Drools session, including those that were - * initialized with persistent data. Rules matching on objects of this type - * can then do things like initialize global data. - */ -public class DroolsInitFeature implements PolicySessionFeatureApi { - // default delay is 10 minutes - private static final long DELAY = 600000L; - - /** - * {@inheritDoc}. - */ - @Override - public int getSequenceNumber() { - return 0; - } - - /** - * {@inheritDoc}. - */ - @Override - public PolicySession.ThreadModel selectThreadModel(PolicySession policySession) { - new Init(policySession); - return null; - } - - /** - * Instances of this class are inserted into Drools memory. - */ - public static class Init implements Serializable { - private static final long serialVersionUID = 1L; - - /** - * Place this instance in Drools memory, and then remove it after - * one minute, if it is still there. - * - * @param policySession the associated session - */ - public Init(final PolicySession policySession) { - // insert this instance into Drools memory - final var factHandle = policySession.getKieSession().insert(this); - - // after 10 minutes, remove the object from Drools memory (if needed) - PolicyEngineConstants.getManager().getExecutorService().schedule(() -> { - if (policySession.getKieSession().getObject(factHandle) != null) { - // object has not been removed by application -- remove it here - policySession.getKieSession().delete(factHandle); - } - }, DELAY, TimeUnit.MILLISECONDS); - } - } -} diff --git a/feature-drools-init/src/main/resources/META-INF/services/org.onap.policy.drools.core.PolicySessionFeatureApi b/feature-drools-init/src/main/resources/META-INF/services/org.onap.policy.drools.core.PolicySessionFeatureApi deleted file mode 100644 index 9c088eee..00000000 --- a/feature-drools-init/src/main/resources/META-INF/services/org.onap.policy.drools.core.PolicySessionFeatureApi +++ /dev/null @@ -1 +0,0 @@ -org.onap.policy.drools.droolsinit.DroolsInitFeature diff --git a/feature-drools-init/src/test/java/org/onap/policy/drools/droolsinit/DroolsInitFeatureTest.java b/feature-drools-init/src/test/java/org/onap/policy/drools/droolsinit/DroolsInitFeatureTest.java deleted file mode 100644 index 28b4d5e9..00000000 --- a/feature-drools-init/src/test/java/org/onap/policy/drools/droolsinit/DroolsInitFeatureTest.java +++ /dev/null @@ -1,110 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * feature-drools-init - * ================================================================================ - * Copyright (C) 2019-2020 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.droolsinit; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.ScheduledFuture; -import java.util.concurrent.ScheduledThreadPoolExecutor; -import java.util.concurrent.TimeUnit; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.BeforeClass; -import org.junit.Test; -import org.kie.api.runtime.KieSession; -import org.kie.api.runtime.rule.FactHandle; -import org.onap.policy.drools.core.PolicySession; -import org.onap.policy.drools.system.PolicyEngineConstants; -import org.powermock.reflect.Whitebox; - -public class DroolsInitFeatureTest { - private static final String POLICY_ENGINE_EXECUTOR_FIELD = "executorService"; - private static ScheduledExecutorService saveExec; - private static PolicySession policySession; - private static KieSession kieSession; - - private DroolsInitFeature feature; - - /** - * Class-level initialization. - */ - @BeforeClass - public static void setUpBeforeClass() { - saveExec = Whitebox.getInternalState(PolicyEngineConstants.getManager(), POLICY_ENGINE_EXECUTOR_FIELD); - - policySession = mock(PolicySession.class); - kieSession = mock(KieSession.class); - when(policySession.getKieSession()).thenReturn(kieSession); - } - - /** - * Restore 'PolicyEngineConstants.manager'. - */ - @AfterClass - public static void cleanup() { - Whitebox.setInternalState(PolicyEngineConstants.getManager(), POLICY_ENGINE_EXECUTOR_FIELD, saveExec); - } - - @Before - public void setUp() { - feature = new DroolsInitFeature(); - } - - @Test - public void getSequenceNumberTest() { - assertEquals(0, feature.getSequenceNumber()); - } - - @Test - public void selectThreadModelTest() { - assertNull(feature.selectThreadModel(policySession)); - } - - @Test - public void testInit() { - FactHandle factHandle = mock(FactHandle.class); - when(kieSession.insert(any())).thenReturn(factHandle); - when(kieSession.getObject(factHandle)).thenReturn(new Object()); - - // dummy 'ScheduledExecutorService' -- 'schedule' runs immediately - ScheduledExecutorService executorService = new ScheduledThreadPoolExecutor(3) { - @Override - public ScheduledFuture schedule(Runnable runnable, long delay, TimeUnit unit) { - runnable.run(); - return null; - } - }; - - Whitebox.setInternalState(PolicyEngineConstants.getManager(), POLICY_ENGINE_EXECUTOR_FIELD, executorService); - - // triggers creation of 'DroolsInitFeature.Init' - feature.selectThreadModel(policySession); - - // prove that the 'delete' code ran - verify(kieSession).delete(factHandle); - } -} -- cgit 1.2.3-korg