diff options
author | Ajith Sreekumar <ajith.sreekumar@bell.ca> | 2022-03-09 17:43:56 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2022-03-09 17:43:56 +0000 |
commit | 636940708cd73f8b9571cf93804ee07987b69c53 (patch) | |
tree | f75372ef0aa766e62dd6e00e1efd07347830bfbe /feature-drools-init/src | |
parent | 5db295d6498aa0b3b1deda8b24ace8a71a229b58 (diff) | |
parent | f4d465bc7391a39410836ceb1c1d25b20eaae74a (diff) |
Merge "remove init, mdc, and controller logging features"
Diffstat (limited to 'feature-drools-init/src')
4 files changed, 0 insertions, 268 deletions
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 @@ -<!-- - ============LICENSE_START======================================================= - feature-drools-init - ================================================================================ - 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========================================================= - --> - -<!-- Defines how we build the .zip file which is our distribution. --> - -<assembly - xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd"> - - <id>feature-drools-init-package</id> - <formats> - <format>zip</format> - </formats> - - <includeBaseDirectory>false</includeBaseDirectory> - - <fileSets> - <fileSet> - <directory>target</directory> - <outputDirectory>lib/feature</outputDirectory> - <includes> - <include>feature-drools-init-${project.version}.jar</include> - </includes> - </fileSet> - <fileSet> - <directory>target/assembly/lib</directory> - <outputDirectory>lib/dependencies</outputDirectory> - <includes> - <include>*.jar</include> - </includes> - </fileSet> - <fileSet> - <directory>src/main/feature/config</directory> - <outputDirectory>config</outputDirectory> - <fileMode>0644</fileMode> - <excludes/> - </fileSet> - <fileSet> - <directory>src/main/feature/bin</directory> - <outputDirectory>bin</outputDirectory> - <fileMode>0744</fileMode> - <excludes/> - </fileSet> - <fileSet> - <directory>src/main/feature/db</directory> - <outputDirectory>db</outputDirectory> - <fileMode>0744</fileMode> - <excludes/> - </fileSet> - <fileSet> - <directory>src/main/feature/install</directory> - <outputDirectory>install</outputDirectory> - <fileMode>0744</fileMode> - <excludes/> - </fileSet> - </fileSets> - -</assembly> 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); - } -} |