Deleted Dbao and replaced it with the shared class in policy-models.
Also had to update the queries and the persistence.xml accordingly.
Issue-ID: POLICY-2581
Change-Id: I59dfa2f37c272796ccebc0f578c9f4e8e1b9c8ab
Signed-off-by: Jim Hahn <jrh3@att.com>
<artifactId>h2</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
+ <artifactId>guard</artifactId>
+ <version>${policy.models.version}</version>
+ </dependency>
<dependency>
<groupId>org.onap.policy.common</groupId>
<artifactId>policy-endpoints</artifactId>
//
// We are expecting a single result
//
- return em.createQuery("select count(e) from Dbao e"
+ return em.createQuery("select count(e) from OperationsHistory e"
+ " where e.outcome<>'Failure_Guard'"
+ " and e.actor= ?1"
+ " and e.operation= ?2"
+++ /dev/null
-/*-
- * ============LICENSE_START=======================================================
- * ONAP
- * ================================================================================
- * 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.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.pdp.xacml.application.common.operationshistory;
-
-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 Dbao 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;
-
-}
import com.google.common.base.Strings;
import java.util.Arrays;
import java.util.Collection;
-
import javax.persistence.NoResultException;
import org.onap.policy.pdp.xacml.application.common.ToscaDictionary;
import org.onap.policy.pdp.xacml.application.common.std.StdOnapPip;
// We are expecting a single result
//
String result = em
- .createQuery("select e.outcome from Dbao e" + " where e.closedLoopName= ?1"
+ .createQuery("select e.outcome from OperationsHistory e" + " where e.closedLoopName= ?1"
+ " order by e.starttime desc", String.class)
.setParameter(1, clname).setMaxResults(1).getSingleResult();
============LICENSE_START=======================================================
ONAP
================================================================================
- Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ 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.
<persistence-unit name="OperationsHistoryPU" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
- <class>org.onap.policy.pdp.xacml.application.common.operationshistory.Dbao</class>
+ <class>org.onap.policy.guard.OperationsHistory</class>
<properties>
<property name="javax.persistence.schema-generation.database.action" value="create" />
<property name="eclipselink.logging.level" value="INFO" />
</properties>
</persistence-unit>
-
+
</persistence>
-
\ No newline at end of file
+
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import org.onap.policy.guard.OperationsHistory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
//
// create entry
//
- Dbao newEntry = createEntry("cl-foobar-1", "vnf-1", "SUCCESS");
+ OperationsHistory newEntry = createEntry("cl-foobar-1", "vnf-1", "SUCCESS");
//
// No entries yet
//
@Test
public void testStringToChronoUnit() throws PIPException {
// not configured yet
- Dbao newEntry = createEntry("cl-foobar-1", "vnf-1", "SUCCESS");
+ OperationsHistory newEntry = createEntry("cl-foobar-1", "vnf-1", "SUCCESS");
assertEquals(-1, getCount(newEntry));
// now configure it
assertEquals(-1, getCount(newEntry));
}
- private long getCount(Dbao newEntry) throws PIPException {
+ private long getCount(OperationsHistory newEntry) throws PIPException {
responses = new LinkedList<>(Arrays.asList(resp1, resp2, resp3));
attributes = new LinkedList<>(
Arrays.asList(newEntry.getActor(), newEntry.getOperation(), newEntry.getTarget()));
return ((Number) value.getValue()).longValue();
}
- private Dbao createEntry(String cl, String target, String outcome) {
+ private OperationsHistory createEntry(String cl, String target, String outcome) {
//
// Create entry
//
- Dbao newEntry = new Dbao();
+ OperationsHistory newEntry = new OperationsHistory();
newEntry.setClosedLoopName(cl);
newEntry.setTarget(target);
newEntry.setOutcome(outcome);
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
+import org.onap.policy.guard.OperationsHistory;
import org.onap.policy.pdp.xacml.application.common.ToscaDictionary;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
//
// Create entry
//
- Dbao newEntry = new Dbao();
+ OperationsHistory newEntry = new OperationsHistory();
newEntry.setClosedLoopName(cl);
newEntry.setTarget(target);
newEntry.setOutcome(outcome);
============LICENSE_START=======================================================
ONAP
================================================================================
- Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ 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.
<persistence-unit name="PipEngineTest" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
-
- <class>org.onap.policy.pdp.xacml.application.common.operationshistory.Dbao</class>
+ <class>org.onap.policy.guard.OperationsHistory</class>
<properties>
<property name="eclipselink.ddl-generation" value="create-tables" />
import org.onap.policy.common.utils.coder.CoderException;
import org.onap.policy.common.utils.coder.StandardCoder;
import org.onap.policy.common.utils.resources.TextFileUtils;
+import org.onap.policy.guard.OperationsHistory;
import org.onap.policy.models.decisions.concepts.DecisionRequest;
import org.onap.policy.models.decisions.concepts.DecisionResponse;
import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
import org.onap.policy.pdp.xacml.application.common.XacmlApplicationServiceProvider;
import org.onap.policy.pdp.xacml.application.common.XacmlPolicyUtils;
import org.onap.policy.pdp.xacml.application.common.operationshistory.CountRecentOperationsPip;
-import org.onap.policy.pdp.xacml.application.common.operationshistory.Dbao;
import org.onap.policy.pdp.xacml.xacmltest.TestUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Before
public void startClean() throws Exception {
em.getTransaction().begin();
- em.createQuery("DELETE FROM Dbao").executeUpdate();
+ em.createQuery("DELETE FROM OperationsHistory").executeUpdate();
em.getTransaction().commit();
}
//
// Add an entry
//
- Dbao newEntry = new Dbao();
+ OperationsHistory newEntry = new OperationsHistory();
newEntry.setActor(properties.get("actor").toString());
newEntry.setOperation(properties.get("operation").toString());
newEntry.setClosedLoopName(properties.get("clname").toString());
import java.util.Properties;
import java.util.ServiceLoader;
import java.util.UUID;
-
import javax.persistence.EntityManager;
import javax.persistence.Persistence;
-
import org.apache.commons.lang3.tuple.Pair;
import org.junit.AfterClass;
import org.junit.Before;
import org.onap.policy.common.utils.coder.CoderException;
import org.onap.policy.common.utils.coder.StandardCoder;
import org.onap.policy.common.utils.resources.TextFileUtils;
+import org.onap.policy.guard.OperationsHistory;
import org.onap.policy.models.decisions.concepts.DecisionRequest;
import org.onap.policy.models.decisions.concepts.DecisionResponse;
import org.onap.policy.pdp.xacml.application.common.XacmlApplicationException;
import org.onap.policy.pdp.xacml.application.common.XacmlApplicationServiceProvider;
import org.onap.policy.pdp.xacml.application.common.XacmlPolicyUtils;
import org.onap.policy.pdp.xacml.application.common.operationshistory.CountRecentOperationsPip;
-import org.onap.policy.pdp.xacml.application.common.operationshistory.Dbao;
import org.onap.policy.pdp.xacml.xacmltest.TestUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Before
public void startClean() throws Exception {
em.getTransaction().begin();
- em.createQuery("DELETE FROM Dbao").executeUpdate();
+ em.createQuery("DELETE FROM OperationsHistory").executeUpdate();
em.getTransaction().commit();
}
//
// Add an entry
//
- Dbao newEntry = new Dbao();
+ OperationsHistory newEntry = new OperationsHistory();
newEntry.setActor(properties.get("actor").toString());
newEntry.setOperation(properties.get("operation").toString());
newEntry.setClosedLoopName(properties.get("clname").toString());
private void updateOperationEvent(long id, String outcome) {
- Dbao updateEntry = em.find(Dbao.class, id);
+ OperationsHistory updateEntry = em.find(OperationsHistory.class, id);
updateEntry.setOutcome(outcome);
updateEntry.setEndtime(Date.from(Instant.now()));
em.getTransaction().begin();
============LICENSE_START=======================================================
ONAP
================================================================================
- Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ 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.
<persistence-unit name="OperationsHistoryPUTest" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
- <class>org.onap.policy.pdp.xacml.application.common.operationshistory.Dbao</class>
+ <class>org.onap.policy.guard.OperationsHistory</class>
<properties>
<property name="eclipselink.ddl-generation" value="create-tables" />
<property name="eclipselink.logging.level" value="FINE" />
============LICENSE_START=======================================================
ONAP
================================================================================
- Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ 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.
<persistence-unit name="OperationsHistoryPU" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
- <class>org.onap.policy.pdp.xacml.application.common.operationshistory.Dbao</class>
+ <class>org.onap.policy.guard.OperationsHistory</class>
<properties>
<property name="javax.persistence.schema-generation.database.action" value="create" />
<property name="eclipselink.logging.level" value="INFO" />
</properties>
</persistence-unit>
-
+
</persistence>
-
\ No newline at end of file
+
============LICENSE_START=======================================================
ONAP
================================================================================
- Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ 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.
<persistence-unit name="PipEngineTest" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
- <class>org.onap.policy.pdp.xacml.application.common.operationshistory.Dbao</class>
+ <class>org.onap.policy.guard.OperationsHistory</class>
<properties>
<property name="eclipselink.ddl-generation" value="create-tables" />