aboutsummaryrefslogtreecommitdiffstats
path: root/common-app-api
diff options
context:
space:
mode:
authorKartik Hegde <kh00735564@techmahindra.com>2022-11-12 14:29:11 +0530
committerKartik Hegde <kh00735564@techmahindra.com>2022-12-21 12:04:30 +0000
commitcf04a1a714ef4a1df973929dc750232b4d67d7b4 (patch)
treeedd2e6e5074ba58efb98663a1ea1851208895fff /common-app-api
parentf995db01ee95606b6cded82822a73435ebc190c8 (diff)
Multitenancy in SDC
Issue-ID: SDC-4215 Change-Id: Ie24ba38acc9f1998d4a7e722e8f98456dab9201d Signed-off-by: Kartik Hegde <kh00735564@techmahindra.com>
Diffstat (limited to 'common-app-api')
-rw-r--r--common-app-api/src/main/java/org/openecomp/sdc/common/util/Multitenancy.java60
-rw-r--r--common-app-api/src/main/resources/multitenancy.json3
2 files changed, 63 insertions, 0 deletions
diff --git a/common-app-api/src/main/java/org/openecomp/sdc/common/util/Multitenancy.java b/common-app-api/src/main/java/org/openecomp/sdc/common/util/Multitenancy.java
new file mode 100644
index 0000000000..c91f3e3621
--- /dev/null
+++ b/common-app-api/src/main/java/org/openecomp/sdc/common/util/Multitenancy.java
@@ -0,0 +1,60 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * SDC
+ * ================================================================================
+ * Copyright (C) 2022 Tech-Mahindra 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.openecomp.sdc.common.util;
+
+
+import org.json.simple.JSONObject;
+import org.json.simple.parser.JSONParser;
+import org.keycloak.KeycloakPrincipal;
+import org.keycloak.representations.AccessToken;
+import org.openecomp.sdc.common.log.wrappers.Logger;
+import javax.servlet.http.HttpServletRequest;
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
+
+
+/**
+ * To check the Multitenancy
+ */
+
+public class Multitenancy {
+ private static final Logger log = Logger.getLogger(Multitenancy.class);
+ private boolean keycloak;
+ public AccessToken getAccessToken(HttpServletRequest request){
+ KeycloakPrincipal principal = (KeycloakPrincipal) request.getUserPrincipal();
+ return principal.getKeycloakSecurityContext().getToken();
+ }
+
+ public boolean multiTenancyCheck() {
+ log.info("Checking the Multitenancy ");
+ try (InputStream ioStream = Multitenancy.class.getResourceAsStream("/multitenancy.json");
+ BufferedReader br = new BufferedReader(new InputStreamReader(ioStream, StandardCharsets.UTF_8))) {
+ keycloak = (boolean) ((JSONObject) new JSONParser().parse(br)).get("multitenancy");
+ } catch (Exception e) {
+ log.debug("Multitenancy Exception", e);
+ }
+ log.info("Multitenancy= {}",keycloak);
+ return keycloak;
+ }
+}
diff --git a/common-app-api/src/main/resources/multitenancy.json b/common-app-api/src/main/resources/multitenancy.json
new file mode 100644
index 0000000000..43405f4666
--- /dev/null
+++ b/common-app-api/src/main/resources/multitenancy.json
@@ -0,0 +1,3 @@
+{
+ "multitenancy": false
+} \ No newline at end of file