aboutsummaryrefslogtreecommitdiffstats
path: root/models-pap
diff options
context:
space:
mode:
authorliamfallon <liam.fallon@est.tech>2019-03-22 15:59:21 +0000
committerliamfallon <liam.fallon@est.tech>2019-03-22 15:59:21 +0000
commitc61eebfa4f17e30e3be000d4c59bc74e75b880a1 (patch)
tree88c83888740038476579d32b838b75dc5595ec25 /models-pap
parent834851e6c460ef8a28f356a64fe7b85d8bbf9a55 (diff)
Implement Database provider
This review brings in the structure of the database provider with complete unit test coverage. The provider delegates the details of each database interactino to the appropriate package in the model. Resolved merge conflict. Issue-ID: POLICY-1195 Change-Id: I9d01146415531d18bc9648dcf232b425bc09578d Signed-off-by: liamfallon <liam.fallon@est.tech>
Diffstat (limited to 'models-pap')
-rw-r--r--models-pap/pom.xml10
-rw-r--r--models-pap/src/main/java/org/onap/policy/models/pap/provider/PapProvider.java86
2 files changed, 93 insertions, 3 deletions
diff --git a/models-pap/pom.xml b/models-pap/pom.xml
index a437d545b..9257b9bda 100644
--- a/models-pap/pom.xml
+++ b/models-pap/pom.xml
@@ -1,7 +1,6 @@
<!--
============LICENSE_START=======================================================
Copyright (C) 2019 Nordix Foundation.
- Modifications Copyright (C) 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.
@@ -28,7 +27,7 @@
<version>2.0.0-SNAPSHOT</version>
</parent>
- <artifactId>models-pap</artifactId>
+ <artifactId>policy-models-pap</artifactId>
<name>${project.artifactId}</name>
<description>The models for Policy Administration (PAP) REST API's.</description>
@@ -43,10 +42,15 @@
<artifactId>policy-models-base</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.onap.policy.models</groupId>
+ <artifactId>policy-models-dao</artifactId>
+ <version>${project.version}</version>
+ </dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
-</project> \ No newline at end of file
+</project>
diff --git a/models-pap/src/main/java/org/onap/policy/models/pap/provider/PapProvider.java b/models-pap/src/main/java/org/onap/policy/models/pap/provider/PapProvider.java
new file mode 100644
index 000000000..4b80bea29
--- /dev/null
+++ b/models-pap/src/main/java/org/onap/policy/models/pap/provider/PapProvider.java
@@ -0,0 +1,86 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * 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.models.pap.provider;
+
+import lombok.NonNull;
+
+import org.onap.policy.models.base.PfModelException;
+import org.onap.policy.models.dao.PfDao;
+import org.onap.policy.models.pap.concepts.PdpGroups;
+
+/**
+ * This class provides the provision of information on PAP concepts in the database to callers.
+ *
+ * @author Liam Fallon (liam.fallon@est.tech)
+ */
+public class PapProvider {
+ /**
+ * Get PDP groups.
+ *
+ * @param dao the DAO to use to access the database
+ * @param pdpGroupFilter a filter for the get
+ * @return the PDP groups found
+ * @throws PfModelException on errors getting PDP groups
+ */
+ public PdpGroups getPdpGroups(@NonNull final PfDao dao, @NonNull final String pdpGroupFilter)
+ throws PfModelException {
+ return new PdpGroups();
+ }
+
+ /**
+ * Creates PDP groups.
+ *
+ * @param dao the DAO to use to access the database
+ * @param pdpGroups a specification of the PDP groups to create
+ * @return the PDP groups created
+ * @throws PfModelException on errors creating PDP groups
+ */
+ public PdpGroups createPdpGroups(@NonNull final PfDao dao, @NonNull final PdpGroups pdpGroups)
+ throws PfModelException {
+ return new PdpGroups();
+ }
+
+ /**
+ * Updates PDP groups.
+ *
+ * @param dao the DAO to use to access the database
+ * @param pdpGroups a specification of the PDP groups to update
+ * @return the PDP groups updated
+ * @throws PfModelException on errors updating PDP groups
+ */
+ public PdpGroups updatePdpGroups(@NonNull final PfDao dao, @NonNull final PdpGroups pdpGroups)
+ throws PfModelException {
+ return new PdpGroups();
+ }
+
+ /**
+ * Delete PDP groups.
+ *
+ * @param dao the DAO to use to access the database
+ * @param pdpGroupFilter a filter for the get
+ * @return the PDP groups deleted
+ * @throws PfModelException on errors deleting PDP groups
+ */
+ public PdpGroups deletePdpGroups(@NonNull final PfDao dao, @NonNull final String pdpGroupFilter)
+ throws PfModelException {
+ return new PdpGroups();
+ }
+}