diff options
Diffstat (limited to 'models-interactions/model-impl/guard/src')
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())); + } +} |