aboutsummaryrefslogtreecommitdiffstats
path: root/models-interactions/model-impl/guard/src
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2020-05-29 10:17:24 -0400
committerJim Hahn <jrh3@att.com>2020-05-29 13:51:31 -0400
commitbc844cbeaad034f3f5c143be8e9da7fb16d2e99f (patch)
treea7ad2016fcee71c2b27df3778303acc7ecc4d57e /models-interactions/model-impl/guard/src
parent8dd5c8fc0dc7a097f1a129d57920a73366b75790 (diff)
Copy Dbao from drools-apps to models
Drools-apps and xacml-pdp each have their own copy of Dbao. Made a copy of it in models as a first step toward eliminating the other copies. Also changed its package name be consistent with the other interface package names and renamed it to OperationsHistory. Also reordered the modules in the pom to make it alphabetical. Issue-ID: POLICY-2581 Change-Id: I45afa680c6344eeac6b2d35c9e4f04a5ba7af431 Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'models-interactions/model-impl/guard/src')
-rw-r--r--models-interactions/model-impl/guard/src/main/java/org/onap/policy/guard/OperationsHistory.java79
-rw-r--r--models-interactions/model-impl/guard/src/test/java/org/onap/policy/guard/OperationsHistoryTest.java69
2 files changed, 148 insertions, 0 deletions
diff --git a/models-interactions/model-impl/guard/src/main/java/org/onap/policy/guard/OperationsHistory.java b/models-interactions/model-impl/guard/src/main/java/org/onap/policy/guard/OperationsHistory.java
new file mode 100644
index 000000000..7354fff5d
--- /dev/null
+++ b/models-interactions/model-impl/guard/src/main/java/org/onap/policy/guard/OperationsHistory.java
@@ -0,0 +1,79 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP
+ * ================================================================================
+ * Copyright (C) 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.guard;
+
+import java.io.Serializable;
+import java.util.Date;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.Index;
+import javax.persistence.Table;
+import lombok.Data;
+
+@Entity
+@Table(name = "operationshistory",
+ indexes = {@Index(name = "operationshistory_clreqid_index", columnList = "closedLoopName,requestId"),
+ @Index(name = "operationshistory_target_index", columnList = "target,operation,actor")})
+@Data
+public class OperationsHistory implements Serializable {
+
+ private static final long serialVersionUID = -551420180714993577L;
+
+ @Id
+ @GeneratedValue
+ @Column(name = "id")
+ private Long id;
+
+ @Column(name = "closedLoopName", length = 255)
+ private String closedLoopName;
+
+ @Column(name = "requestId", length = 50)
+ private String requestId;
+
+ @Column(name = "subrequestId", length = 50)
+ private String subrequestId;
+
+ @Column(name = "actor", length = 50)
+ private String actor;
+
+ @Column(name = "operation", length = 50)
+ private String operation;
+
+ @Column(name = "target", length = 50)
+ private String target;
+
+ @Column(name = "starttime")
+ private Date starttime;
+
+ @Column(name = "outcome", length = 50)
+ private String outcome;
+
+ @Column(name = "message", length = 255)
+ private String message;
+
+ @Column(name = "endtime")
+ private Date endtime;
+
+}
diff --git a/models-interactions/model-impl/guard/src/test/java/org/onap/policy/guard/OperationsHistoryTest.java b/models-interactions/model-impl/guard/src/test/java/org/onap/policy/guard/OperationsHistoryTest.java
new file mode 100644
index 000000000..f25ab86aa
--- /dev/null
+++ b/models-interactions/model-impl/guard/src/test/java/org/onap/policy/guard/OperationsHistoryTest.java
@@ -0,0 +1,69 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 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.guard;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Date;
+import org.junit.Test;
+
+public class OperationsHistoryTest {
+
+ @Test
+ public void test() {
+ OperationsHistory dao = new OperationsHistory();
+
+ dao.setActor("my-actor");
+ dao.setClosedLoopName("cl-name");
+ Date endDate = new Date();
+ dao.setEndtime(endDate);
+ dao.setId(100L);
+ dao.setMessage("my-message");
+ dao.setOperation("my-operation");
+ dao.setOutcome("my-outcome");
+ dao.setRequestId("my-request");
+ Date startDate = new Date(endDate.getTime() - 1);
+ dao.setStarttime(startDate);
+ dao.setSubrequestId("my-sub");
+ dao.setTarget("my-target");
+
+ assertEquals("my-actor", dao.getActor());
+ assertEquals("cl-name", dao.getClosedLoopName());
+ assertEquals(endDate, dao.getEndtime());
+ assertEquals(100L, dao.getId().longValue());
+ assertEquals("my-message", dao.getMessage());
+ assertEquals("my-operation", dao.getOperation());
+ assertEquals("my-outcome", dao.getOutcome());
+ assertEquals("my-request", dao.getRequestId());
+ assertEquals(startDate, dao.getStarttime());
+ assertEquals("my-sub", dao.getSubrequestId());
+ assertEquals("my-target", dao.getTarget());
+
+ assertTrue(dao.toString().startsWith("OperationsHistory"));
+
+ int hc = dao.hashCode();
+ dao.setId(101L);
+ assertTrue(hc != dao.hashCode());
+
+ assertTrue(dao.equals(dao));
+ assertFalse(dao.equals(new OperationsHistory()));
+ }
+}