diff options
Diffstat (limited to 'controlloop/common/eventmanager')
7 files changed, 65 insertions, 276 deletions
diff --git a/controlloop/common/eventmanager/pom.xml b/controlloop/common/eventmanager/pom.xml index 55a6e4007..fb1894503 100644 --- a/controlloop/common/eventmanager/pom.xml +++ b/controlloop/common/eventmanager/pom.xml @@ -8,9 +8,9 @@ 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. @@ -86,6 +86,12 @@ </dependency> <dependency> <groupId>org.onap.policy.drools-applications.controlloop.common</groupId> + <artifactId>database</artifactId> + <version>${project.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.onap.policy.drools-applications.controlloop.common</groupId> <artifactId>guard</artifactId> <version>${project.version}</version> <scope>provided</scope> diff --git a/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/ControlLoopOperationManager.java b/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/ControlLoopOperationManager.java index 7bd0a0e54..dfd2a1af9 100644 --- a/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/ControlLoopOperationManager.java +++ b/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/ControlLoopOperationManager.java @@ -50,6 +50,7 @@ import org.onap.policy.controlloop.actor.so.SoActorServiceProvider; import org.onap.policy.controlloop.actor.vfc.VfcActorServiceProvider; import org.onap.policy.controlloop.policy.Policy; import org.onap.policy.controlloop.policy.PolicyResult; +import org.onap.policy.database.operationshistory.Dbao; import org.onap.policy.drools.system.PolicyEngine; import org.onap.policy.guard.Util; import org.onap.policy.sdnc.SdncResponse; @@ -909,7 +910,7 @@ public class ControlLoopOperationManager implements Serializable { String opsHistPu = System.getProperty("OperationsHistoryPU"); - if (!"TestOperationsHistoryPU".equals(opsHistPu)) { + if (!"OperationsHistoryPUTest".equals(opsHistPu)) { opsHistPu = "OperationsHistoryPU"; } else { props.clear(); @@ -922,7 +923,7 @@ public class ControlLoopOperationManager implements Serializable { return; } - OperationsHistoryDbEntry newEntry = new OperationsHistoryDbEntry(); + Dbao newEntry = new Dbao(); newEntry.setClosedLoopName(this.onset.getClosedLoopControlName()); newEntry.setRequestId(this.onset.getRequestId().toString()); diff --git a/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/OperationsHistoryDbEntry.java b/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/OperationsHistoryDbEntry.java deleted file mode 100644 index 002f39119..000000000 --- a/controlloop/common/eventmanager/src/main/java/org/onap/policy/controlloop/eventmanager/OperationsHistoryDbEntry.java +++ /dev/null @@ -1,144 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * controlloop - * ================================================================================ - * Copyright (C) 2017-2018 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.controlloop.eventmanager; - -import java.io.Serializable; -import java.sql.Timestamp; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.Id; -import javax.persistence.Table; - -@Entity -@Table(name = "operationshistory10") -public class OperationsHistoryDbEntry implements Serializable { - private static final long serialVersionUID = 1L; - - @Id - @GeneratedValue - @Column(name = "ROWID") - public long rowid; - - @Column(name = "CLNAME") - private String closedLoopName; - - private String requestId; - private String actor; - private String operation; - private String target; - private Timestamp starttime; - private Timestamp endtime; - private String subrequestId; - private String outcome; - private String message; - - public long getRowid() { - return rowid; - } - - public void setRowid(long rowid) { - this.rowid = rowid; - } - - public String getClosedLoopName() { - return closedLoopName; - } - - public void setClosedLoopName(String closedLoopName) { - this.closedLoopName = closedLoopName; - } - - public String getRequestId() { - return requestId; - } - - public void setRequestId(String requestId) { - this.requestId = requestId; - } - - public String getActor() { - return actor; - } - - public void setActor(String actor) { - this.actor = actor; - } - - public String getOperation() { - return operation; - } - - public void setOperation(String operation) { - this.operation = operation; - } - - public String getTarget() { - return target; - } - - public void setTarget(String target) { - this.target = target; - } - - public Timestamp getStarttime() { - return starttime; - } - - public void setStarttime(Timestamp starttime) { - this.starttime = starttime; - } - - public Timestamp getEndtime() { - return endtime; - } - - public void setEndtime(Timestamp endtime) { - this.endtime = endtime; - } - - public String getSubrequestId() { - return subrequestId; - } - - public void setSubrequestId(String subrequestId) { - this.subrequestId = subrequestId; - } - - public String getOutcome() { - return outcome; - } - - public void setOutcome(String outcome) { - this.outcome = outcome; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } -} - - diff --git a/controlloop/common/eventmanager/src/main/resources/META-INF/persistence.xml b/controlloop/common/eventmanager/src/main/resources/META-INF/persistence.xml index 644b0d99a..210e22f27 100644 --- a/controlloop/common/eventmanager/src/main/resources/META-INF/persistence.xml +++ b/controlloop/common/eventmanager/src/main/resources/META-INF/persistence.xml @@ -3,14 +3,14 @@ ============LICENSE_START======================================================= drools-applications ================================================================================ - Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. + Copyright (C) 2018-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. @@ -25,8 +25,9 @@ <persistence-unit name="OperationsHistoryPU" transaction-type="RESOURCE_LOCAL"> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> - <!-- <jar-file>packedEntity.jar</jar-file> --> - <class>org.onap.policy.controlloop.eventmanager.OperationsHistoryDbEntry</class> + + <class>org.onap.policy.database.operationshistory.Dbao</class> + <properties> <property name="eclipselink.ddl-generation" value="create-or-extend-tables" /> <property name="javax.persistence.jdbc.driver" value="org.mariadb.jdbc.Driver" /> diff --git a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ControlLoopOperationManagerTest.java b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ControlLoopOperationManagerTest.java index 82da603ff..d8533c7e7 100644 --- a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ControlLoopOperationManagerTest.java +++ b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/ControlLoopOperationManagerTest.java @@ -106,7 +106,7 @@ public class ControlLoopOperationManagerTest { private static int getCount() { // Create a query for number of items in DB - String sql = "select count(*) as count from operationshistory10"; + String sql = "select count(*) as count from operationshistory"; Query nq = em.createNativeQuery(sql); int numEvents = -1; @@ -133,7 +133,7 @@ public class ControlLoopOperationManagerTest { } // Set PU - System.setProperty("OperationsHistoryPU", "TestOperationsHistoryPU"); + System.setProperty("OperationsHistoryPU", "OperationsHistoryPUTest"); // Enter dummy props to avoid nullPointerException PolicyEngine.manager.setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_URL, "a"); @@ -141,7 +141,7 @@ public class ControlLoopOperationManagerTest { PolicyEngine.manager.setEnvironmentProperty(org.onap.policy.guard.Util.ONAP_KEY_PASS, "c"); // Connect to in-mem db - emf = Persistence.createEntityManagerFactory("TestOperationsHistoryPU"); + emf = Persistence.createEntityManagerFactory("OperationsHistoryPUTest"); em = emf.createEntityManager(); } @@ -802,7 +802,7 @@ public class ControlLoopOperationManagerTest { assertEquals(PolicyResult.FAILURE, clom.onResponse(soRw)); - System.setProperty("OperationsHistoryPU", "TestOperationsHistoryPU"); + System.setProperty("OperationsHistoryPU", "OperationsHistoryPUTest"); assertEquals(PolicyResult.FAILURE, clom.onResponse(soRw)); } @@ -899,7 +899,7 @@ public class ControlLoopOperationManagerTest { assertFalse(clom.isOperationRunning()); assertEquals(1, clom.getHistory().size()); - System.setProperty("OperationsHistoryPU", "TestOperationsHistoryPU"); + System.setProperty("OperationsHistoryPU", "OperationsHistoryPUTest"); assertEquals(PolicyResult.FAILURE, clom.onResponse(soRw)); clom = Serializer.roundTrip(clom); diff --git a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/OperationsHistoryDbEntryTest.java b/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/OperationsHistoryDbEntryTest.java deleted file mode 100644 index db22ce1a6..000000000 --- a/controlloop/common/eventmanager/src/test/java/org/onap/policy/controlloop/eventmanager/OperationsHistoryDbEntryTest.java +++ /dev/null @@ -1,80 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * eventmanager - * ================================================================================ - * Copyright (C) 2018 Ericsson. 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.controlloop.eventmanager; - -import static org.junit.Assert.assertEquals; - -import java.sql.Timestamp; -import java.util.UUID; - -import org.junit.Test; - -public class OperationsHistoryDbEntryTest { - - @Test - public void testOperationsHistoryDbEntry() { - OperationsHistoryDbEntry entry = new OperationsHistoryDbEntry(); - - String actor = "Dorothy"; - entry.setActor(actor); - assertEquals(actor, entry.getActor()); - - String closedLoopName = "GoToOz"; - entry.setClosedLoopName(closedLoopName); - assertEquals(closedLoopName, entry.getClosedLoopName()); - - Timestamp endtime = new Timestamp(System.currentTimeMillis()); - entry.setEndtime(endtime); - assertEquals(endtime, entry.getEndtime()); - - String message = "I Want to go Home"; - entry.setMessage(message); - assertEquals(message, entry.getMessage()); - - String operation = "Get Home"; - entry.setOperation(operation); - assertEquals(operation, entry.getOperation()); - - String outcome = "Back in Kansas"; - entry.setOutcome(outcome); - assertEquals(outcome, entry.getOutcome()); - - String requestId = UUID.randomUUID().toString(); - entry.setRequestId(requestId); - assertEquals(requestId, entry.getRequestId()); - - long rowid = 12345; - entry.setRowid(rowid); - assertEquals(rowid, entry.getRowid()); - - Timestamp starttime = new Timestamp(endtime.getTime() - 100); - entry.setStarttime(starttime); - assertEquals(starttime, entry.getStarttime()); - - String subrequestId = "12321"; - entry.setSubrequestId(subrequestId); - assertEquals(subrequestId, entry.getSubrequestId()); - - String target = "WizardOfOz"; - entry.setTarget(target); - assertEquals(target, entry.getTarget()); - } -} diff --git a/controlloop/common/eventmanager/src/test/resources/META-INF/persistence.xml b/controlloop/common/eventmanager/src/test/resources/META-INF/persistence.xml index 1c2eb12fd..e1aa93f51 100644 --- a/controlloop/common/eventmanager/src/test/resources/META-INF/persistence.xml +++ b/controlloop/common/eventmanager/src/test/resources/META-INF/persistence.xml @@ -1,38 +1,43 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!-- - ============LICENSE_START======================================================= - drools-applications - ================================================================================ - Copyright (C) 2018 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========================================================= - --> -<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0"> - <persistence-unit name="TestOperationsHistoryPU" transaction-type="RESOURCE_LOCAL"> - <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> - - <class>org.onap.policy.controlloop.eventmanager.OperationsHistoryDbEntry</class> - - <properties> - <property name="eclipselink.ddl-generation" value="create-or-extend-tables" /> - <property name="javax.persistence.jdbc.driver" value="org.h2.Driver" /> - <property name="javax.persistence.jdbc.url" value="jdbc:h2:mem:test" /> - <property name="javax.persistence.jdbc.user" value="sa" /> - <property name="javax.persistence.jdbc.password" value="" /> - <property name="eclipselink.ddl-generation" value="drop-and-create-tables" /> - <property name="eclipselink.ddl-generation.output-mode" value="database"/> - <property name="eclipselink.logging.level" value="INFO" /> - </properties> - </persistence-unit> -</persistence> +<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ============LICENSE_START=======================================================
+ drools-applications
+ ================================================================================
+ Copyright (C) 2018-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=========================================================
+ -->
+<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence persistence_1_0.xsd" version="1.0">
+
+ <!-- In-mem DB for junit -->
+ <persistence-unit name="OperationsHistoryPUTest"
+ transaction-type="RESOURCE_LOCAL">
+ <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
+
+ <class>org.onap.policy.database.operationshistory.Dbao</class>
+
+ <properties>
+ <property name="eclipselink.ddl-generation" value="create-tables" />
+ <property name="eclipselink.logging.level" value="FINE" />
+ <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
+ <property name="javax.persistence.jdbc.driver" value="org.h2.Driver" />
+ <property name="javax.persistence.jdbc.url" value="jdbc:h2:mem:testdb;DATABASE_TO_UPPER=FALSE" />
+ <property name="javax.persistence.jdbc.user" value="policy" />
+ <property name="javax.persistence.jdbc.password" value="P01icY" />
+ <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/>
+ <property name="javax.persistence.schema-generation.create-source" value="metadata"/>
+ </properties>
+ </persistence-unit>
+
+</persistence>
|