diff options
author | liamfallon <liam.fallon@est.tech> | 2019-03-22 15:59:21 +0000 |
---|---|---|
committer | liamfallon <liam.fallon@est.tech> | 2019-03-22 15:59:21 +0000 |
commit | c61eebfa4f17e30e3be000d4c59bc74e75b880a1 (patch) | |
tree | 88c83888740038476579d32b838b75dc5595ec25 /models-pap | |
parent | 834851e6c460ef8a28f356a64fe7b85d8bbf9a55 (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.xml | 10 | ||||
-rw-r--r-- | models-pap/src/main/java/org/onap/policy/models/pap/provider/PapProvider.java | 86 |
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(); + } +} |