From 378d55bf699e9a3d6c5a1f1a5e47bdbde9594abc Mon Sep 17 00:00:00 2001 From: dglFromAtt Date: Fri, 12 Oct 2018 15:40:48 -0400 Subject: [PATCH] Changes for ONAP AAF Change-Id: I20eee308e03822a94fcecd7467963cfe69671e61 Signed-off-by: dglFromAtt Issue-ID: DMAAP-846 --- pom.xml | 2 +- .../dmaap/dbcapi/authentication/AafLurAndFish.java | 11 +++++++++-- .../org/onap/dmaap/dbcapi/service/DmaapService.java | 20 +++++++++++++++++++- .../org/onap/dmaap/dbcapi/service/TopicService.java | 10 +++++++--- version.properties | 2 +- 5 files changed, 37 insertions(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index 10c5db8..64fd408 100644 --- a/pom.xml +++ b/pom.xml @@ -381,7 +381,7 @@ UTF-8 9.3.8.RC0 0.0.1 - 1.0.15-SNAPSHOT + 1.0.16-SNAPSHOT 0.7.7.201606060606 3.2 diff --git a/src/main/java/org/onap/dmaap/dbcapi/authentication/AafLurAndFish.java b/src/main/java/org/onap/dmaap/dbcapi/authentication/AafLurAndFish.java index 2366452..0c81fa9 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/authentication/AafLurAndFish.java +++ b/src/main/java/org/onap/dmaap/dbcapi/authentication/AafLurAndFish.java @@ -89,10 +89,17 @@ public class AafLurAndFish implements ApiAuthorizationCheckInterface { } - public static void main(String[] args) throws Exception { + public static void main(String[] args) throws Exception { AafLurAndFish alaf = new AafLurAndFish(); DmaapPerm p = new DmaapPerm( "org.onap.dmaap-bc.api.dmaap", "boot", "GET"); - alaf.check("demo@people.osaaf.org", "demo123456!", p); + try { + alaf.check("mmanager@people.osaaf.org", "demo123456!", p); + } catch (AuthenticationErrorException aee ) { + logger.error( "Check failed for: " + p.toJSON()); + System.exit(-1); + } + logger.info( "Check succeeded for: " + p.toJSON() ); + } } diff --git a/src/main/java/org/onap/dmaap/dbcapi/service/DmaapService.java b/src/main/java/org/onap/dmaap/dbcapi/service/DmaapService.java index de87b00..e2bc379 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/service/DmaapService.java +++ b/src/main/java/org/onap/dmaap/dbcapi/service/DmaapService.java @@ -52,6 +52,7 @@ public class DmaapService extends BaseLoggingClass { private Singleton dmaapholder = DatabaseClass.getDmaap(); + private static String noEnvironmentPrefix; String topicFactory; // = "org.openecomp.dcae.dmaap.topicFactory"; @@ -66,6 +67,15 @@ public class DmaapService extends BaseLoggingClass { topicMgrRole = p.getProperty("MR.TopicMgrRole", "MR.TopicMgrRole.not.set" ); dcaeTopicNs = dmaapholder.get().getTopicNsRoot(); multiSite = "true".equalsIgnoreCase(p.getProperty("MR.multisite", "true")); + noEnvironmentPrefix = p.getProperty( "AAF.NoEnvironmentPrefix", "org.onap"); + + logger.info( "DmaapService settings: " + + " topicFactory=" + topicFactory + + " topicMgrRole=" + topicMgrRole + + " dcaeTopicNs=" + dcaeTopicNs + + " multisite=" + multiSite + + " noEnvironmentPrefix=" + noEnvironmentPrefix + ); } @@ -155,7 +165,15 @@ public class DmaapService extends BaseLoggingClass { } public String getTopicPerm( String val ) { Dmaap dmaap = dmaapholder.get(); - return dmaap.getTopicNsRoot() + "." + val + ".mr.topic"; + String nsRoot = dmaap.getTopicNsRoot(); + String t; + // in ONAP Casablanca, we assume no distinction of environments reflected in topic namespace + if ( nsRoot.startsWith(noEnvironmentPrefix) ) { + t = nsRoot + ".mr.topic"; + } else { + t = nsRoot + "." + val + ".mr.topic"; + } + return t; } public String getBridgeAdminFqtn(){ diff --git a/src/main/java/org/onap/dmaap/dbcapi/service/TopicService.java b/src/main/java/org/onap/dmaap/dbcapi/service/TopicService.java index 26def91..6e7b744 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/service/TopicService.java +++ b/src/main/java/org/onap/dmaap/dbcapi/service/TopicService.java @@ -70,7 +70,9 @@ public class TopicService extends BaseLoggingClass { DmaapConfig p = (DmaapConfig)DmaapConfig.getConfig(); defaultGlobalMrHost = p.getProperty("MR.globalHost", "global.host.not.set"); centralCname = p.getProperty("MR.CentralCname"); - logger.info( "TopicService properties: CentralCname=" + centralCname + " defaultGlobarlMrHost=" + defaultGlobalMrHost ); + + logger.info( "TopicService properties: CentralCname=" + centralCname + + " defaultGlobarlMrHost=" + defaultGlobalMrHost ); } public Map getTopics() { @@ -116,9 +118,11 @@ public class TopicService extends BaseLoggingClass { err.reset(); // err filled with NOT_FOUND is expected case, but don't want to litter... topic.setFqtn( nFqtn ); - + AafService aaf = new AafService(ServiceType.AAF_TopicMgr); - String t = dmaap.getTopicNsRoot() + "." + dmaap.getDmaapName() + ".mr.topic"; + + String t = dmaapSvc.getTopicPerm(); + String instance = ":topic." + topic.getFqtn(); String[] actions = { "pub", "sub", "view" }; diff --git a/version.properties b/version.properties index 815d79c..5b5f570 100644 --- a/version.properties +++ b/version.properties @@ -27,7 +27,7 @@ major=1 minor=0 -patch=15 +patch=16 base_version=${major}.${minor}.${patch} # Release must be completed with git revision # in Jenkins -- 2.16.6