diff options
Diffstat (limited to 'models-interactions/model-impl')
4 files changed, 186 insertions, 4 deletions
diff --git a/models-interactions/model-impl/guard/pom.xml b/models-interactions/model-impl/guard/pom.xml new file mode 100644 index 000000000..b8aeaf3c3 --- /dev/null +++ b/models-interactions/model-impl/guard/pom.xml @@ -0,0 +1,33 @@ +<!-- + ============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. + ============LICENSE_END========================================================= + --> + + +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId> + <artifactId>model-impl</artifactId> + <version>2.3.0-SNAPSHOT</version> + </parent> + + <artifactId>guard</artifactId> + +</project> 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())); + } +} diff --git a/models-interactions/model-impl/pom.xml b/models-interactions/model-impl/pom.xml index 326417ceb..1bb9b33b7 100644 --- a/models-interactions/model-impl/pom.xml +++ b/models-interactions/model-impl/pom.xml @@ -41,13 +41,14 @@ <module>aai</module> <module>appc</module> <module>appclcm</module> - <module>sdnr</module> + <module>cds</module> <module>events</module> - <module>so</module> + <module>guard</module> <module>rest</module> <module>sdc</module> - <module>vfc</module> <module>sdnc</module> - <module>cds</module> + <module>sdnr</module> + <module>so</module> + <module>vfc</module> </modules> </project> |