diff options
author | 2019-06-06 07:28:05 +0200 | |
---|---|---|
committer | 2019-06-07 09:37:40 +0200 | |
commit | 27a9a302a7d7e1894732535a8eb61f3460637b24 (patch) | |
tree | b3bee3293d925a49762fcc66fbc90dd4ece1347d /src/main | |
parent | 12d3560c7219af8d75ba9bab3b70b283252fe39d (diff) |
deleting namespace and permission implementation
Change-Id: If9e3dc12da186cfee42ae0816e39ba868cb82ad5
Issue-ID: DMAAP-1217
Signed-off-by: piotr.karas <piotr.karas@nokia.com>
Diffstat (limited to 'src/main')
4 files changed, 45 insertions, 8 deletions
diff --git a/src/main/java/org/onap/dmaap/dbcapi/aaf/AafEmpty.java b/src/main/java/org/onap/dmaap/dbcapi/aaf/AafEmpty.java new file mode 100644 index 0000000..87e56c4 --- /dev/null +++ b/src/main/java/org/onap/dmaap/dbcapi/aaf/AafEmpty.java @@ -0,0 +1,28 @@ +/*- + * ============LICENSE_START======================================================= + * org.onap.dmaap + * ================================================================================ + * Copyright (C) 2019 Nokia 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.dmaap.dbcapi.aaf; + +class AafEmpty extends AafObject { + @Override + String toJSON() { + return ""; + } +} diff --git a/src/main/java/org/onap/dmaap/dbcapi/aaf/AafService.java b/src/main/java/org/onap/dmaap/dbcapi/aaf/AafService.java index 2444d49..c49ffb6 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/aaf/AafService.java +++ b/src/main/java/org/onap/dmaap/dbcapi/aaf/AafService.java @@ -33,7 +33,7 @@ public interface AafService { int addPerm(DmaapPerm perm); - int delPerm(DmaapPerm perm); + int delPerm(DmaapPerm perm, boolean force); int addGrant(DmaapGrant grant); @@ -45,5 +45,5 @@ public interface AafService { int addNamespace(AafNamespace ns); - int delNamespace(AafNamespace ns); + int delNamespace(AafNamespace ns, boolean force); } diff --git a/src/main/java/org/onap/dmaap/dbcapi/aaf/AafServiceImpl.java b/src/main/java/org/onap/dmaap/dbcapi/aaf/AafServiceImpl.java index edce4f0..4848a69 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/aaf/AafServiceImpl.java +++ b/src/main/java/org/onap/dmaap/dbcapi/aaf/AafServiceImpl.java @@ -23,10 +23,13 @@ package org.onap.dmaap.dbcapi.aaf; import org.onap.dmaap.dbcapi.logging.BaseLoggingClass; import org.onap.dmaap.dbcapi.logging.DmaapbcLogMessageEnum; +import static java.lang.String.format; + public class AafServiceImpl extends BaseLoggingClass implements AafService { private static final int CREATED = 201; private static final int OK = 200; + private static final String FORCE = "?force=true"; private final String aafUrl; private final String identity; private final boolean useAAF; @@ -51,8 +54,11 @@ public class AafServiceImpl extends BaseLoggingClass implements AafService { } @Override - public int delPerm(DmaapPerm perm) { - return OK; + public int delPerm(DmaapPerm perm, boolean force) { + logger.info("entry: delPerm()"); + return doDelete(new AafEmpty(), format( + "authz/perm/%s/%s/%s%s", + perm.getPermission(), perm.getPtype(), perm.getAction(), force ? FORCE : ""), OK); } @Override @@ -86,8 +92,11 @@ public class AafServiceImpl extends BaseLoggingClass implements AafService { } @Override - public int delNamespace(AafNamespace ns) { - return OK; + public int delNamespace(AafNamespace ns, boolean force) { + logger.info("entry: delNamespace()"); + return doDelete(new AafEmpty(), format( + "authz/ns/%s%s", + ns.getName(), force ? FORCE : ""), OK); } private int doPost(AafObject obj, String uri, int expect) { diff --git a/src/main/java/org/onap/dmaap/dbcapi/service/AafTopicSetupService.java b/src/main/java/org/onap/dmaap/dbcapi/service/AafTopicSetupService.java index d9dd4fd..9480b6a 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/service/AafTopicSetupService.java +++ b/src/main/java/org/onap/dmaap/dbcapi/service/AafTopicSetupService.java @@ -149,7 +149,7 @@ class AafTopicSetupService extends BaseLoggingClass { private void removePermission(String permission, String instance, String action) throws TopicSetupException { DmaapPerm perm = new DmaapPerm(permission, instance, action); - int rc = aafService.delPerm(perm); + int rc = aafService.delPerm(perm, true); if (rc != 200 && rc != 404) { throw new TopicSetupException(500, format("Unexpected response from AAF: %d permission=%s instance=%s action=%s", @@ -159,7 +159,7 @@ class AafTopicSetupService extends BaseLoggingClass { private void removeNamespace(Topic topic) throws TopicSetupException { AafNamespace ns = new AafNamespace(topic.getFqtn(), aafService.getIdentity()); - int rc = aafService.delNamespace(ns); + int rc = aafService.delNamespace(ns, true); if (rc != 200 && rc != 404) { throw new TopicSetupException(500, format("Unexpected response from AAF: %d namespace=%s identity=%s", |