summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi')
-rw-r--r--ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/CipherUtil.java125
-rw-r--r--ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/ECOMPSSO.java238
-rw-r--r--ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/IPortalRestAPIService.java133
-rw-r--r--ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/IPortalUebAPIService.java46
-rw-r--r--ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalAPIException.java49
-rw-r--r--ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalAPIResponse.java58
-rw-r--r--ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalApiConstants.java62
-rw-r--r--ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalApiProperties.java98
-rw-r--r--ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalRestAPIProxy.java498
-rw-r--r--ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalTimeoutBindingListener.java52
-rw-r--r--ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalTimeoutHandler.java419
-rw-r--r--ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalTimeoutVO.java63
-rw-r--r--ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/SessionCommunication.java161
-rw-r--r--ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/UserContextListener.java52
-rw-r--r--ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/UserSessionListener.java84
15 files changed, 0 insertions, 2138 deletions
diff --git a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/CipherUtil.java b/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/CipherUtil.java
deleted file mode 100644
index d355e102..00000000
--- a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/CipherUtil.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.portalsdk.core.onboarding.crossapi;
-
-import javax.crypto.Cipher;
-import javax.crypto.spec.SecretKeySpec;
-
-import org.apache.commons.codec.binary.Base64;
-
-public class CipherUtil {
-
- private final static String key = "AGLDdG4D04BKm2IxIWEr8o==!";
-
- /**
- * @param plainText
- * @param secretKey
- * @return encrypted version of plain text.
- * @throws Exception
- */
- public static String encrypt(String plainText, String secretKey) throws Exception{
- byte[] rawKey;
- String encryptedString;
- SecretKeySpec sKeySpec;
- byte[] encryptText = plainText.getBytes("UTF-8");
- Cipher cipher;
- rawKey = Base64.decodeBase64(secretKey);
- sKeySpec = new SecretKeySpec(rawKey, "AES");
- cipher = Cipher.getInstance("AES");
- cipher.init(Cipher.ENCRYPT_MODE, sKeySpec);
- encryptedString = Base64.encodeBase64String(cipher.doFinal(encryptText));
-
- return encryptedString;
- }
-
- /**
- *
- * @param plainText
- * @return Encrypted Text
- * @throws Exception
- */
- public static String encrypt(String plainText) throws Exception
- {
- return CipherUtil.encrypt(plainText,key);
- }
-
- /**
- * @param encryptedText
- * @param secretKey
- * @return plain text version of encrypted text
- * @throws Exception
- */
- public static String decrypt(String encryptedText, String secretKey) throws Exception {
- Cipher cipher;
- String encryptedString;
- byte[] encryptText = null;
- byte[] rawKey;
- SecretKeySpec sKeySpec;
-
- rawKey = Base64.decodeBase64(secretKey);
- sKeySpec = new SecretKeySpec(rawKey, "AES");
- encryptText = Base64.decodeBase64(encryptedText.getBytes("UTF-8"));
- cipher = Cipher.getInstance("AES");
- cipher.init(Cipher.DECRYPT_MODE, sKeySpec);
- encryptedString = new String(cipher.doFinal(encryptText));
-
- return encryptedString;
- }
-
- /**
- * @param encryptedText
- * @return Decrypted Text
- * @throws Exception
- */
- public static String decrypt(String encryptedText) throws Exception
- {
- return CipherUtil.decrypt(encryptedText,key);
- }
-
-
- public static void main(String[] args) throws Exception {
-
- String password = "Welcome123";
- String encrypted;
- String decrypted;
-
- if (args.length != 2) {
- System.out.println("Default password testing... ");
- System.out.println("Plain password: " + password);
- encrypted = encrypt(password);
- System.out.println("Encrypted password: " + encrypted);
- decrypted = decrypt(encrypted);
- System.out.println("Decrypted password: " + decrypted);
- } else {
- String whatToDo = args[0];
- if (whatToDo.equalsIgnoreCase("d")) {
- encrypted = args[1];
- System.out.println("Encrypted Text: " + encrypted);
- decrypted = decrypt(encrypted);
- System.out.println("Decrypted Text: " + decrypted);
- } else {
- decrypted = args[1];
- System.out.println("Plain Text: " + decrypted);
- encrypted = encrypt(decrypted);
- System.out.println("Encrypted Text" + encrypted);
- }
- }
- }
-}
diff --git a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/ECOMPSSO.java b/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/ECOMPSSO.java
deleted file mode 100644
index 8fc2ec5b..00000000
--- a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/ECOMPSSO.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.portalsdk.core.onboarding.crossapi;
-
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-
-/**
- * Provides authentication service for onboarded ECOMP applications.
- */
-public class ECOMPSSO {
-
- private static final String EP_SERVICE = "EPService";
- private static final String USER_ID = "UserId";
-
- private static final Log logger = LogFactory.getLog(ECOMPSSO.class);
-
-
- public static String valdiateECOMPSSO(HttpServletRequest request) {
- // Check ECOMP Portal cookie
- if (!isLoginCookieExist(request))
- return null;
-
- String userid = null;
- try {
- userid = getUserIdFromCookie(request);
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- return userid;
- }
-
- public static String getUserIdFromCookie(HttpServletRequest request) throws Exception {
- String userId = "";
- Cookie[] cookies = request.getCookies();
- Cookie userIdcookie = null;
- if (cookies != null)
- for (Cookie cookie : cookies)
- if (cookie.getName().equals(USER_ID))
- userIdcookie = cookie;
- if(userIdcookie!=null){
- userId = CipherUtil.decrypt(userIdcookie.getValue(),
- PortalApiProperties.getProperty(PortalApiConstants.Decryption_Key));
- }
- return userId;
-
- }
-
- /**
- * Builds a redirect URL from properties file and the specified relative
- * path in this app. The intent is to take the user to the portal, which
- * will redirect the user to Global Log On, and finally the user will be
- * returned to the app.
- *
- * @param request
- * HttpServletRequest
- * @param response
- * HttpServletResponse
- * @param forwardPath
- * portion of the application path after the protocol, server and
- * context path plus any query parameters; e.g., "welcome.html";
- * empty string is allowed.
- * @return URL that redirects user to ECOMP Portal for login.
- */
- public static String getECOMPSSORedirectURL(HttpServletRequest request, HttpServletResponse response,
- String forwardPath) {
- // Construct a path for this server, this app's context, etc.
- String appURL = (request.isSecure() ? "https://" : "http://") + request.getServerName() + ":"
- + request.getServerPort() + request.getContextPath() + "/" + forwardPath;
- String encodedAppURL = null;
- try {
- encodedAppURL = URLEncoder.encode(appURL, "UTF-8");
- } catch (UnsupportedEncodingException ex) {
- // should never happen
- logger.error("getECOMPSSORedirectURL: Failed to encode app URL " + appURL);
- }
- String portalURL = PortalApiProperties.getProperty(PortalApiConstants.ECOMP_REDIRECT_URL);
- if (portalURL == null || portalURL.length() == 0) {
- logger.error("getECOMPSSORedirectURL: Failed to get property " + PortalApiConstants.ECOMP_REDIRECT_URL);
- return null;
- }
- String redirectURL = portalURL + "?redirectUrl=" + encodedAppURL;
- return redirectURL;
- }
-
- /**
- * Answers whether the ECOMP Portal service cookie is present in the
- * specified request.
- *
- * @param request
- * @return true if the cookie is found, else false.
- */
- private static boolean isLoginCookieExist(HttpServletRequest request) {
- Cookie ep = getCookie(request, EP_SERVICE);
- return (ep != null);
- }
-
- /**
- * Searches the request for a cookie with the specified name.
- *
- * @param request
- * @param cookieName
- * @return Cookie, or null if not found.
- */
- public static Cookie getCookie(HttpServletRequest request, String cookieName) {
- Cookie[] cookies = request.getCookies();
- if (cookies != null)
- for (Cookie cookie : cookies)
- if (cookie.getName().equals(cookieName))
- return cookie;
-
- return null;
- }
-
- /**
- * Splits a string into an array.
- *
- * @param str
- * @param delimiter
- * @return
- */
- private static String[] delimitedListToStringArray(String str, String delimiter) {
- return delimitedListToStringArray(str, delimiter, null);
- }
-
- /**
- * Splits a string into an array, optionally deleting characters.
- *
- * @param str
- * String to be split
- * @param delimiter
- * Token to use as the delimiter
- * @param charsToDelete
- * Optional String of characters to be removed; ignored if null
- * @return String array; empty if the input is null or delimiter are null.
- */
- private static String[] delimitedListToStringArray(String str, String delimiter, String charsToDelete) {
- if (str == null)
- return new String[0];
- if (delimiter == null)
- return new String[] { str };
-
- List<String> result = new ArrayList<String>();
- if ("".equals(delimiter)) {
- for (int i = 0; i < str.length(); i++) {
- result.add(deleteAny(str.substring(i, i + 1), charsToDelete));
- }
- } else {
- int pos = 0;
- int delPos = 0;
- while ((delPos = str.indexOf(delimiter, pos)) != -1) {
- result.add(deleteAny(str.substring(pos, delPos), charsToDelete));
- pos = delPos + delimiter.length();
- }
- if (str.length() > 0 && pos <= str.length()) {
- // Add rest of String, but not in case of empty input.
- result.add(deleteAny(str.substring(pos), charsToDelete));
- }
- }
- return toStringArray(result);
- }
-
- /**
- * Convenience method that creates a string array from the items in the
- * collection.
- *
- * @param collection
- * @return
- */
- private static String[] toStringArray(Collection<String> collection) {
- if (collection == null)
- return null;
- return (String[]) collection.toArray(new String[collection.size()]);
- }
-
- /**
- * Builds a new string that has none of the characters in the charsToDelete
- * argument.
- *
- * @param inString
- * @param charsToDelete
- * @return Input string after removing all characters in the second
- * argument.
- */
- private static String deleteAny(String inString, String charsToDelete) {
- if (!hasLength(inString) || !hasLength(charsToDelete)) {
- return inString;
- }
- StringBuffer out = new StringBuffer();
- for (int i = 0; i < inString.length(); i++) {
- char c = inString.charAt(i);
- if (charsToDelete.indexOf(c) == -1) {
- out.append(c);
- }
- }
- return out.toString();
- }
-
- /**
- *
- * @param str
- * @return
- */
- private static boolean hasLength(String str) {
- return (str != null && str.length() > 0);
- }
-
-
-}
diff --git a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/IPortalRestAPIService.java b/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/IPortalRestAPIService.java
deleted file mode 100644
index 25a8aeff..00000000
--- a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/IPortalRestAPIService.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.portalsdk.core.onboarding.crossapi;
-
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.openecomp.portalsdk.core.restful.domain.EcompRole;
-import org.openecomp.portalsdk.core.restful.domain.EcompUser;
-
-/**
- * Defines the REST API Interface that an onboarding non-SDK (i.e., third-party)
- * application must implement to answer queries and accept updates from the
- * ECOMP Portal about the application's users, roles and user-role assignments.
- *
- * @author Ikram Ikramullah
- */
-public interface IPortalRestAPIService {
-
- // EcompUser Interface
-
- /**
- * Creates a new user.
- *
- * @param user
- * Model object with attributes of user to be created.
- * @throws PortalAPIException
- * If any error occurs while processing the request; for
- * example, user exists already.
- */
- public void pushUser(EcompUser user) throws PortalAPIException;
-
- /**
- * Updates an existing user's attributes.
- *
- * @param loginId
- * EcompUser ID to be updated.
- * @param user
- * Model object with attributes of user to be updated.
- * @throws PortalAPIException
- * If any error occurs while processing the request; for
- * example, unknown user.
- */
- public void editUser(String loginId, EcompUser user) throws PortalAPIException;
-
- /**
- * Gets details about an existing user.
- *
- * @param loginId
- * EcompUser ID to be fetched
- * @return Model object with user attributes.
- * @throws PortalAPIException
- * If any error occurs while processing the request; for
- * example, unknown user.
- */
- public EcompUser getUser(String loginId) throws PortalAPIException;
-
- /**
- * Gets all users.
- *
- * @return List of user attribute model objects; empty array if none are
- * found.
- * @throws PortalAPIException
- * If any error occurs while processing the request.
- */
- public List<EcompUser> getUsers() throws PortalAPIException;
-
- // Roles Interface
-
- /**
- * Gets all defined roles.
- *
- * @return List of role attribute objects; empty array if none are
- * found.
- * @throws PortalAPIException
- * If an unexpected error occurs while processing the request.
- */
- public List<EcompRole> getAvailableRoles() throws PortalAPIException;
-
- /**
- * Replaces existing user roles with new roles.
- *
- * @param loginId
- * EcompUser ID to be updated.
- * @param roles
- * List of model objects with role attributes
- * @throws PortalAPIException
- * If any error occurs while processing the request.
- */
- public void pushUserRole(String loginId, List<EcompRole> roles) throws PortalAPIException;
-
- /**
- * Gets the roles defined for the specified user.
- *
- * @param loginId
- * @return List of model objects; empty if no roles are found.
- * @throws PortalAPIException
- * If any error occurs while processing the request; e.g., user
- * not found.
- */
- public List<EcompRole> getUserRoles(String loginId) throws PortalAPIException;
-
- // Security Interface
-
- /**
- * Answers whether the request is authenticated.
- *
- * @param request
- * @return true if the request contains appropriate credentials, else false.
- * @throws PortalAPIException
- * If an unexpected error occurs while processing the request.
- */
- public boolean isAppAuthenticated(HttpServletRequest request) throws PortalAPIException;
-
-}
diff --git a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/IPortalUebAPIService.java b/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/IPortalUebAPIService.java
deleted file mode 100644
index 0b55a965..00000000
--- a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/IPortalUebAPIService.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.portalsdk.core.onboarding.crossapi;
-
-
-/**
- *
- * @author Ikram Ikramullah
- *
- * UEB API Interface for all the onboarding third party applications.
- *
- */
-
-public interface IPortalUebAPIService {
- //User Interface
- public String pushUser(String userJson) throws PortalAPIException;
- public String editUser(String loginId, String userJson) throws PortalAPIException;
- public String getUser(String loginId) throws PortalAPIException;
- public String getUsers() throws PortalAPIException;
-
- //Roles Interface
- public String getAvailableRoles() throws PortalAPIException;
- public String getAvailableFullRoles() throws PortalAPIException;
- public String pushUserRole(String loginId, String rolesJson) throws PortalAPIException;
- public String getUserRoles(String loginId) throws PortalAPIException;
-
- //Security Interface
- public boolean isAppAuthenticated(String appUserName, String appPassword) throws PortalAPIException;
-}
diff --git a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalAPIException.java b/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalAPIException.java
deleted file mode 100644
index 8a4c9e4e..00000000
--- a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalAPIException.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.portalsdk.core.onboarding.crossapi;
-
-/**
- * @author Ikram Ikramullah
- */
-public class PortalAPIException extends Exception{
-
- private static final long serialVersionUID = 4854048794984375707L;
-
- public PortalAPIException() {
- super();
- }
-
- public PortalAPIException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
- super(message, cause, enableSuppression, writableStackTrace);
- }
-
- public PortalAPIException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public PortalAPIException(String message) {
- super(message);
- }
-
- public PortalAPIException(Throwable cause) {
- super(cause);
- }
-
-}
diff --git a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalAPIResponse.java b/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalAPIResponse.java
deleted file mode 100644
index f8d73acc..00000000
--- a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalAPIResponse.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.portalsdk.core.onboarding.crossapi;
-
-/**
- * This bean holds a response that is returned by the role and user-management
- * REST API.
- */
-public class PortalAPIResponse {
-
- /**
- * Either "ok" or "error"
- */
- private String status;
- /**
- * Optional if status is ok
- */
- private String message;
-
- public PortalAPIResponse(boolean isOk, String msg) {
- status = (isOk? "ok" : "error");
- message = msg;
- }
-
- public String getStatus() {
- return status;
- }
-
- public void setStatus(String status) {
- this.status = status;
- }
-
- public String getMessage() {
- return message;
- }
-
- public void setMessage(String message) {
- this.message = message;
- }
-
-}
diff --git a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalApiConstants.java b/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalApiConstants.java
deleted file mode 100644
index 667ad289..00000000
--- a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalApiConstants.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.portalsdk.core.onboarding.crossapi;
-
-public interface PortalApiConstants {
- public static final String API_PREFIX = "/api";
- public static final String PORTAL_JSESSION_ID = "PORTAL_JSESSION_ID";
- public static final String PORTAL_JSESSION_BIND = "PORTAL_JSESSION_BIND";
- public static final String ACTIVE_USERS_NAME = "activeUsers";
-
- /** Portal service cookie name */
- public static final String EP_SERVICE = "EPService";
-
- public static final String GLOBAL_SESSION_MAX_IDLE_TIME = "global_session_max_idle_time";
- public static final String PORTAL_SESSION_SLOT_CHECK = "portal_session_slot_check";
- public static final String SESSION_PREVIOUS_ACCESS_TIME = "session_previous_access_time";
- public static final String MAX_IDLE_TIME = "max.idle.time";
-
- // Names of keys in the portal.properties file
- public static final String PORTAL_API_IMPL_CLASS = "portal.api.impl.class";
- public static final String ECOMP_REDIRECT_URL = "ecomp_redirect_url";
- public static final String ECOMP_REST_URL = "ecomp_rest_url";
-
- // UEB related
- public static final String UEB_URL_LIST = "ueb_url_list"; // In properties file
- public static final String ECOMP_PORTAL_INBOX_NAME = "ecomp_portal_inbox_name";
- public static final String ECOMP_DEFAULT_MSG_ID = "0";
- public static final String ECOMP_GENERAL_UEB_PARTITION = "EPGeneralPartition";
- public static final String UEB_LISTENERS_ENABLE = "ueb_listeners_enable";
- public static final String UEB_APP_INBOUND_MAILBOX_NAME = "ueb_app_mailbox_name";
- public static final String UEB_APP_CONSUMER_GROUP_NAME = "ueb_app_consumer_group_name";
- // UebManager generates a consumer group name for special token {UUID}
- public static final String UEB_APP_CONSUMER_GROUP_NAME_GENERATOR = "{UUID}";
- public static final String UEB_APP_KEY = "ueb_app_key";
- public static final String UEB_APP_SECRET = "ueb_app_secret";
- public static final String ECOMP_UEB_INVALID_MSG = "100: Invalid Message format.";
- public static final String ECOMP_UEB_TIMEOUT_ERROR = "101: Timeout";
- public static final String ECOMP_UEB_UNKNOWN_PUBLISH_ERROR = "102: Unknown error during publish";
- public static final String ECOMP_UEB_UNKNOWN_CONSUME_ERROR = "103: Unknown error during consume";
- public static final String USE_REST_FOR_FUNCTIONAL_MENU = "use_rest_for_functional_menu";
-
- //encrpt key
- public static final String Decryption_Key = "decryption_key";
-
-}
diff --git a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalApiProperties.java b/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalApiProperties.java
deleted file mode 100644
index b9853a9a..00000000
--- a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalApiProperties.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.portalsdk.core.onboarding.crossapi;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Properties;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * Singleton Class representing portal properties. Searches the classpath for
- * the file "portal.properties".
- *
- * To put the file "portal.properties" on the classpath, it can be in the same
- * directory where the first package folder is - 'myClasses' folder in the
- * following case as an example:
- *
- */
-public class PortalApiProperties {
-
- private static final Log logger = LogFactory.getLog(PortalApiProperties.class);
-
- private static Properties properties;
- private static String propertyFileName = "portal.properties";
-
- /**
- * Constructor is private.
- */
- private PortalApiProperties() {
- }
-
- /**
- * Gets the property value for the specified key.
- *
- * @param property
- * @return Value for the named property; null if the property file was not
- * loaded or the key was not found.
- */
- public static String getProperty(String property) {
- if (properties == null) {
- synchronized (propertyFileName) {
- try {
- if (!initialize()) {
- logger.error("Failed to read property file " + propertyFileName);
- return null;
- }
- } catch (IOException e) {
- logger.error("Failed to read property file " + propertyFileName, e);
- return null;
- }
- }
- }
- return properties.getProperty(property);
- }
-
- /**
- * Reads properties from a portal.properties file on the classpath.
- *
- * Clients DO NOT need to call this method. Clients MAY call this method to
- * test whether the properties file can be loaded successfully.
- *
- * @return True if properties were successfully loaded, else false.
- * @throws IOException
- */
- public static boolean initialize() throws IOException {
- if (properties != null)
- return true;
- InputStream in = PortalApiProperties.class.getClassLoader().getResourceAsStream(propertyFileName);
- if (in == null)
- return false;
- properties = new Properties();
- try {
- properties.load(in);
- } finally {
- in.close();
- }
- return true;
- }
-}
diff --git a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalRestAPIProxy.java b/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalRestAPIProxy.java
deleted file mode 100644
index 3012d1c7..00000000
--- a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalRestAPIProxy.java
+++ /dev/null
@@ -1,498 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.portalsdk.core.onboarding.crossapi;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.List;
-
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.openecomp.portalsdk.core.restful.domain.EcompRole;
-import org.openecomp.portalsdk.core.restful.domain.EcompUser;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-/**
- * This servlet responds to ECOMP Portal API calls to query and update user,
- * role and user-role information. It registers itself at a path like "/api"
- * (see {@link PortalApiConstants#API_PREFIX}) and proxies all requests on to a
- * class that implements {@link IPortalRestAPIService}, as named in the required
- * properties file ("portal.properties"). The servlet will not start if the
- * properties file is not found.
- *
- * Implements the interface solely to ensure that changes to the interface are
- * made here also, the compiler helps catch problems that way.
- *
- * @author Ikram Ikramullah
- */
-
-@WebServlet(urlPatterns = { PortalApiConstants.API_PREFIX + "/*" })
-public class PortalRestAPIProxy extends HttpServlet implements IPortalRestAPIService {
- private static final long serialVersionUID = 1L;
-
- private final Log logger = LogFactory.getLog(getClass());
-
- /**
- * JSON to object etc.
- */
- private final ObjectMapper mapper = new ObjectMapper();
-
- /**
- * Client-supplied class that implements our interface.
- */
- private IPortalRestAPIService portalRestApiService;
-
- public PortalRestAPIProxy() {
- // Ensure that any additional fields sent by the Portal
- // will be ignored when creating objects.
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- }
-
- @Override
- public void init() throws ServletException {
- String className = PortalApiProperties.getProperty(PortalApiConstants.PORTAL_API_IMPL_CLASS);
- if (className == null)
- throw new ServletException(
- "init: Failed to find class name property " + PortalApiConstants.PORTAL_API_IMPL_CLASS);
- try {
- logger.debug("init: creating instance of class " + className);
- Class<?> implClass = Class.forName(className);
- portalRestApiService = (IPortalRestAPIService) (implClass.getConstructor().newInstance());
- } catch (Exception ex) {
- throw new ServletException("init: Failed to find or instantiate class " + className, ex);
- }
- }
-
- @Override
- protected void doPost(HttpServletRequest request, HttpServletResponse response)
- throws IOException, ServletException {
-
- if (portalRestApiService == null) {
- // Should never happen due to checks in init()
- logger.error("doPost: no service class instance");
- response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- response.getWriter().write(buildJsonResponse(false, "Misconfigured - no instance of service class"));
- return;
- }
- boolean secure = false;
- try {
- secure = isAppAuthenticated(request);
- } catch (PortalAPIException ex) {
- logger.error("doPost: isAppAuthenticated threw exception", ex);
- response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- response.getWriter().write(buildJsonResponse(false, "Failed to authenticate request"));
- return;
- }
- if (!secure) {
- if (logger.isDebugEnabled())
- logger.debug("doPost: isAppAuthenticated answered false");
- response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
- writeAndFlush(response, buildJsonResponse(false, "Not authorized"));
- return;
- }
-
- String requestUri = request.getRequestURI();
- try {
- String requestBody = readRequestBody(request);
- if (logger.isDebugEnabled())
- logger.debug("doPost: URI = " + requestUri + ", payload = " + requestBody);
-
- /*
- * All APIs:
- *
- * 1. /user <-- save user
- *
- * 2. /user/{loginId} <-- edit user
- *
- * 3. /user/{loginId}/roles <-- save roles for user
- */
-
- // On success return the empty string.
- String responseJson = "";
- if (requestUri.endsWith("/updateSessionTimeOuts")) {
- if (updateSessionTimeOuts(requestBody)) {
- if (logger.isDebugEnabled())
- logger.debug("doPost: updated session timeouts");
- response.setStatus(HttpServletResponse.SC_OK);
- } else {
- String msg = "Failed to update session time outs";
- logger.error("doPost: " + msg);
- responseJson = buildJsonResponse(false, msg);
- response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- }
- } else if (requestUri.endsWith("/timeoutSession")) {
- String portalJSessionId = request.getParameter("portalJSessionId");
- if (portalJSessionId == null) {
- portalJSessionId = "";
- }
- if (timeoutSession(portalJSessionId)) {
- if (logger.isDebugEnabled())
- logger.debug("doPost: timed out session");
- response.setStatus(HttpServletResponse.SC_OK);
- } else {
- String msg = "Failed to timeout session";
- logger.error("doPost: " + msg);
- responseJson = buildJsonResponse(false, msg);
- response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- }
- } else
- // Example: /user <-- create user
- if (requestUri.endsWith(PortalApiConstants.API_PREFIX + "/user")) {
- try {
- EcompUser user = mapper.readValue(requestBody, EcompUser.class);
- pushUser(user);
- if (logger.isDebugEnabled())
- logger.debug("doPost: pushUser: success");
- responseJson = buildJsonResponse(true, null);
- response.setStatus(HttpServletResponse.SC_OK);
- } catch (Exception ex) {
- responseJson = buildJsonResponse(ex);
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- logger.error("doPost: pushUser: caught exception", ex);
- }
- } else
- // Example: /user/fi241c <-- edit user fi241c
- if (requestUri.contains(PortalApiConstants.API_PREFIX + "/user/") && !(requestUri.endsWith("/roles"))) {
- String loginId = requestUri.substring(requestUri.lastIndexOf('/') + 1);
- try {
- EcompUser user = mapper.readValue(requestBody, EcompUser.class);
- editUser(loginId, user);
- if (logger.isDebugEnabled())
- logger.debug("doPost: editUser: success");
- responseJson = buildJsonResponse(true, null);
- response.setStatus(HttpServletResponse.SC_OK);
- } catch (Exception ex) {
- responseJson = buildJsonResponse(ex);
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- logger.error("doPost: editUser: caught exception", ex);
- }
- } else
- // Example: /user/{loginId}/roles <-- save roles for user
- if (requestUri.contains(PortalApiConstants.API_PREFIX + "/user/") && requestUri.endsWith("/roles")) {
- String loginId = requestUri.substring(requestUri.indexOf("/user/") + ("/user").length() + 1,
- requestUri.lastIndexOf('/'));
- try {
- TypeReference<List<EcompRole>> typeRef = new TypeReference<List<EcompRole>>() {
- };
- List<EcompRole> roles = mapper.readValue(requestBody, typeRef);
- pushUserRole(loginId, roles);
- if (logger.isDebugEnabled())
- logger.debug("doPost: pushUserRole: success");
- responseJson = buildJsonResponse(true, null);
- response.setStatus(HttpServletResponse.SC_OK);
- } catch (Exception ex) {
- responseJson = buildJsonResponse(ex);
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- logger.error("doPost: pushUserRole: caught exception", ex);
- }
- } else {
- logger.warn("doPost: no match for request " + requestUri);
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- }
- writeAndFlush(response, responseJson);
- } catch (Exception ex) {
- logger.error("doPost: Failed to process request " + requestUri, ex);
- response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- writeAndFlush(response, ex.toString());
- }
-
- }
-
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response)
- throws IOException, ServletException {
-
- if (portalRestApiService == null) {
- // Should never happen due to checks in init()
- logger.error("doGet: no service class instance");
- response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- writeAndFlush(response, buildJsonResponse(false, "Misconfigured - no instance of service class"));
- return;
- }
- boolean secure = false;
- try {
- secure = isAppAuthenticated(request);
- } catch (PortalAPIException ex) {
- logger.error("doGet: isAppAuthenticated threw exception", ex);
- response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- writeAndFlush(response, buildJsonResponse(false, "Failed to authenticate request"));
- return;
- }
- if (!secure) {
- if (logger.isDebugEnabled())
- logger.debug("doGet: isAppAuthenticated answered false");
- response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
- writeAndFlush(response, buildJsonResponse(false, "Not authorized"));
- return;
- }
-
- String requestUri = request.getRequestURI();
- try {
- // Ignore any request body in a GET.
- // String requestBody = readRequestBody(request);
- if (logger.isDebugEnabled())
- logger.debug("doGet: URI = " + requestUri);
-
- String responseJson = "";
- /*
- * 1. /roles <-- get roles
- *
- * 2. /user/{loginId} <-- get user
- *
- * 3. /users <-- get all users
- *
- * 4. /user/{loginId}/roles <-- get roles for user
- */
-
- if (requestUri.endsWith("/sessionTimeOuts")) {
- responseJson = getSessionTimeOuts();
- if (responseJson != null && responseJson.length() > 0) {
- if (logger.isDebugEnabled())
- logger.debug("doGet: got session timeouts");
- response.setStatus(HttpServletResponse.SC_OK);
- } else {
- String msg = "Failed to get session time outs";
- logger.error("doGet: " + msg);
- responseJson = buildJsonResponse(false, msg);
- response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- }
- } else
- // Example: /users <-- get all users
- if (requestUri.endsWith(PortalApiConstants.API_PREFIX + "/users")) {
- try {
- List<EcompUser> users = getUsers();
- responseJson = mapper.writeValueAsString(users);
- if (logger.isDebugEnabled())
- logger.debug("doGet: getUsers: " + responseJson);
- } catch (Exception ex) {
- responseJson = buildJsonResponse(ex);
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- logger.error("doGet: getUsers: caught exception", ex);
- }
- } else
- // Example: /roles <-- get all roles
- if (requestUri.endsWith(PortalApiConstants.API_PREFIX + "/roles")) {
- try {
- List<EcompRole> roles = getAvailableRoles();
- responseJson = mapper.writeValueAsString(roles);
- if (logger.isDebugEnabled())
- logger.debug("doGet: getAvailableRoles: " + responseJson);
- } catch (Exception ex) {
- responseJson = buildJsonResponse(ex);
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- logger.error("doGet: getAvailableRoles: caught exception", ex);
- }
- } else
- // Example: /user/fi241c <-- get user fi241c
- if (requestUri.contains(PortalApiConstants.API_PREFIX + "/user/") && !requestUri.endsWith("/roles")) {
- String loginId = requestUri.substring(requestUri.lastIndexOf('/') + 1);
- try {
- EcompUser user = getUser(loginId);
- responseJson = mapper.writeValueAsString(user);
- if (logger.isDebugEnabled())
- logger.debug("doGet: getUser: " + responseJson);
- } catch (Exception ex) {
- responseJson = buildJsonResponse(ex);
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- logger.error("doGet: getUser: caught exception", ex);
- }
- }
- // Example: /user/fi241c/roles <-- get roles for user fi241c
- else if (requestUri.contains(PortalApiConstants.API_PREFIX + "/user/") && requestUri.endsWith("/roles")) {
- String loginId = requestUri.substring(requestUri.indexOf("/user/") + ("/user").length() + 1,
- requestUri.lastIndexOf('/'));
- try {
- List<EcompRole> roles = getUserRoles(loginId);
- responseJson = mapper.writeValueAsString(roles);
- if (logger.isDebugEnabled())
- logger.debug("doGet: getUserRoles: " + responseJson);
- } catch (Exception ex) {
- responseJson = buildJsonResponse(ex);
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- logger.error("doGet: getUserRoles: caught exception", ex);
- }
- } else {
- logger.warn("doGet: no match found for request");
- responseJson = buildJsonResponse(false, "No match for request");
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- }
- writeAndFlush(response, responseJson);
- } catch (Exception ex) {
- logger.error("doGet: Failed to process request", ex);
- response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- writeAndFlush(response, buildJsonResponse(ex));
- }
- }
-
- public String getSessionTimeOuts() throws Exception {
- return PortalTimeoutHandler.gatherSessionExtensions();
- }
-
- public boolean timeoutSession(String portalJSessionId) throws Exception {
- return PortalTimeoutHandler.invalidateSession(portalJSessionId);
- }
-
- public boolean updateSessionTimeOuts(String sessionMap) throws Exception {
- return PortalTimeoutHandler.updateSessionExtensions(sessionMap);
- }
-
- @Override
- public void pushUser(EcompUser user) throws PortalAPIException {
- portalRestApiService.pushUser(user);
- }
-
- @Override
- public void editUser(String loginId, EcompUser user) throws PortalAPIException {
- portalRestApiService.editUser(loginId, user);
- }
-
- @Override
- public EcompUser getUser(String loginId) throws PortalAPIException {
- return portalRestApiService.getUser(loginId);
- }
-
- @Override
- public List<EcompUser> getUsers() throws PortalAPIException {
- return portalRestApiService.getUsers();
- }
-
- @Override
- public List<EcompRole> getAvailableRoles() throws PortalAPIException {
- return portalRestApiService.getAvailableRoles();
- }
-
- @Override
- public void pushUserRole(String loginId, List<EcompRole> roles) throws PortalAPIException {
- portalRestApiService.pushUserRole(loginId, roles);
- }
-
- @Override
- public List<EcompRole> getUserRoles(String loginId) throws PortalAPIException {
- return portalRestApiService.getUserRoles(loginId);
- }
-
- @Override
- public boolean isAppAuthenticated(HttpServletRequest request) throws PortalAPIException {
- return portalRestApiService.isAppAuthenticated(request);
- }
-
- private void writeAndFlush(HttpServletResponse response, String jsonResponse) throws IOException {
- response.setContentType("application/json");
- PrintWriter out = response.getWriter();
- out.print(jsonResponse);
- out.flush();
- }
-
- /**
- * Reads the request body and closes the input stream.
- *
- * @param request
- * @return String read from the request, the empty string if nothing is
- * read.
- * @throws IOException
- */
- private static String readRequestBody(HttpServletRequest request) throws IOException {
-
- String body = null;
- StringBuilder stringBuilder = new StringBuilder();
- BufferedReader bufferedReader = null;
- try {
- InputStream inputStream = request.getInputStream();
- if (inputStream != null) {
- bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
- char[] charBuffer = new char[1024];
- int bytesRead = -1;
- while ((bytesRead = bufferedReader.read(charBuffer)) > 0) {
- stringBuilder.append(charBuffer, 0, bytesRead);
- }
- } else {
- stringBuilder.append("");
- }
- } finally {
- if (bufferedReader != null) {
- try {
- bufferedReader.close();
- } catch (IOException ex) {
- throw ex;
- }
- }
- }
- body = stringBuilder.toString();
- return body;
- }
-
- /**
- * Builds JSON object with status + message response body.
- *
- * @param success
- * True to indicate success, false to signal failure.
- * @param msg
- * Message to include in the response object; ignored if null.
- * @return
- *
- * <pre>
- * { "status" : "ok" (or "error"), "message": "some explanation" }
- * </pre>
- */
- private String buildJsonResponse(boolean success, String msg) {
- PortalAPIResponse response = new PortalAPIResponse(success, msg);
- String json = null;
- try {
- json = mapper.writeValueAsString(response);
- } catch (JsonProcessingException ex) {
- // Truly should never, ever happen
- json = "{ \"status\": \"error\",\"message\":\"" + ex.toString() + "\" }";
- }
- return json;
- }
-
- /**
- * Builds JSON object with status of error and message containing stack
- * trace for the specified throwable.
- *
- * @param t
- * Throwable with stack trace to use as message
- * @return
- *
- * <pre>
- * { "status" : "error", "message": "some-big-stacktrace" }
- * </pre>
- */
- private String buildJsonResponse(Throwable t) {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
- t.printStackTrace(pw);
- return buildJsonResponse(false, sw.toString());
- }
-}
diff --git a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalTimeoutBindingListener.java b/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalTimeoutBindingListener.java
deleted file mode 100644
index 906b7e88..00000000
--- a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalTimeoutBindingListener.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.portalsdk.core.onboarding.crossapi;
-
-import java.io.Serializable;
-
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.HttpSessionBindingEvent;
-import javax.servlet.http.HttpSessionBindingListener;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-public class PortalTimeoutBindingListener implements HttpSessionBindingListener, Serializable {
-
- private final Log logger = LogFactory.getLog(getClass());
-
- private static final long serialVersionUID = 1L;
-
- @Override
- public void valueBound(HttpSessionBindingEvent event) {
- final HttpSession session = event.getSession();
- PortalTimeoutHandler.sessionMap.put((String) session.getAttribute(PortalApiConstants.PORTAL_JSESSION_ID),
- session);
- }
-
- @Override
- public void valueUnbound(HttpSessionBindingEvent event) {
- final HttpSession session = event.getSession();
- String portalJSessionId = (String) session.getAttribute(PortalApiConstants.PORTAL_JSESSION_ID);
- logger.debug(portalJSessionId + " getting removed");
- PortalTimeoutHandler.sessionMap.remove(portalJSessionId);
- }
-
-}
diff --git a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalTimeoutHandler.java b/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalTimeoutHandler.java
deleted file mode 100644
index 09166794..00000000
--- a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalTimeoutHandler.java
+++ /dev/null
@@ -1,419 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.portalsdk.core.onboarding.crossapi;
-
-import java.util.Calendar;
-import java.util.Hashtable;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.core.type.TypeReference;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-/**
- * Invoked by listeners (UserContextListener and UserSessionListener) to track
- * user sessions.
- */
-public class PortalTimeoutHandler {
-
- protected static final SessionCommInf sessionComm = new SessionComm();
-
-
-
- public interface SessionCommInf {
- public Integer fetchSessionSlotCheckInterval(String... params) throws Exception;
-
- public void extendSessionTimeOuts(String... sessionMap) throws Exception;
- }
-
- public static class SessionComm implements SessionCommInf {
- public Integer fetchSessionSlotCheckInterval(String... params) throws Exception {
-
- String ecompRestURL = params[0];
- String userName = params[1];
- String pwd = params[2];
- String uebKey = params[3];
-
- String sessionSlot = SessionCommunication.getSessionSlotCheckInterval(ecompRestURL, userName, pwd, uebKey);
- if(sessionSlot == null)
- return null;
- return Integer.parseInt(sessionSlot);
- }
-
- public void extendSessionTimeOuts(String... params) throws Exception {
-
- String ecompRestURL = params[0];
- String userName = params[1];
- String pwd = params[2];
- String uebKey = params[3];
- String sessionTimeoutMap = params[4];
-
- SessionCommunication.requestPortalSessionTimeoutExtension(ecompRestURL, userName, pwd, uebKey, sessionTimeoutMap);
- }
- }
-
-
-
- public static final Map<String, HttpSession> sessionMap = new Hashtable<String, HttpSession>();
- public static final Integer repeatInterval = 15 * 60; // 15 minutes
- protected static final Log logger = LogFactory.getLog(PortalTimeoutHandler.class);
- static ObjectMapper mapper = new ObjectMapper();
- private static PortalTimeoutHandler timeoutHandler;
-
- public static PortalTimeoutHandler getInstance() {
- if (timeoutHandler == null)
- timeoutHandler = new PortalTimeoutHandler();
-
- return timeoutHandler;
- }
-
- /**
- * TODO: remove static
- *
- * @param portalJSessionId
- * @param jSessionId
- * @param session
- */
- public static void sessionCreated(String portalJSessionId, String jSessionId, HttpSession session) {
-
- storeMaxInactiveTime(session);
-
- // this key is a combination of portal jsession id and app session id
- String jSessionKey = jSessionKey(jSessionId, portalJSessionId);
- Object jSessionKeySessionVal = session.getAttribute(PortalApiConstants.PORTAL_JSESSION_ID);
-
- // do not reset the attributes if the same values have already been set
- // because that will cause PortalTimeoutBindingListener to unbound the value from map
- if(jSessionKeySessionVal != null && jSessionKeySessionVal.equals(jSessionKey)) {
- logger.debug(" Session Values already exist in te map for sessionKey " + jSessionKey);
- return;
- }
-
- session.setAttribute(PortalApiConstants.PORTAL_JSESSION_ID, jSessionKey);
-
- // session binding listener will add this value to the static map
- // and with session replication the listener will fire in all tomcat
- // instances
- session.setAttribute(PortalApiConstants.PORTAL_JSESSION_BIND, new PortalTimeoutBindingListener());
- // sessionMap.put((String)session.getAttribute(PortalApiConstants.PORTAL_JSESSION_ID),
- // session);
-
- }
-
- /**
- * TODO: remove static
- *
- * @param session
- */
- protected static void storeMaxInactiveTime(HttpSession session) {
- if (session.getAttribute(PortalApiConstants.GLOBAL_SESSION_MAX_IDLE_TIME) == null)
- session.setAttribute(PortalApiConstants.GLOBAL_SESSION_MAX_IDLE_TIME, session.getMaxInactiveInterval());
- }
-
- /**
- * TODO: remove static
- *
- * @param session
- */
- public static void sessionDestroyed(HttpSession session) {
- try {
- logger.info(" Session getting destroyed - id: " + session.getId());
- session.removeAttribute(PortalApiConstants.PORTAL_JSESSION_BIND);
- // sessionMap.remove((String)session.getAttribute(PortalApiConstants.PORTAL_JSESSION_ID));
- } catch (Exception e) {
- logger.error("Error while destroy user session" + e.getMessage());
- }
- }
-
- /***
- * TODO: remove static
- *
- * @param portalJSessionId
- * @return true on success, false if the session cannot be found, etc.
- */
- public static boolean invalidateSession(String portalJSessionId) {
- boolean result = false;
- logger.debug("Session Management: request from Portal to invalidate the session: " + portalJSessionId);
- for (String jSessionKey : sessionMap.keySet()) {
- try {
- HttpSession session = sessionMap.get(jSessionKey);
- if (portalJSessionId(jSessionKey).equals(portalJSessionId)) {
- session.invalidate();
- result = true;
- }
- } catch (Exception e) {
- logger.error("Session Management: Error when invalidating session", e);
- }
- }
- return result;
- }
-
- /**
- * TODO: remove static
- *
- * @return json version of the timeout map: session ID -> timeout object
- */
- public static String gatherSessionExtensions() {
- logger.debug("Session Management: gatherSessionExtensions");
-
- Map<String, PortalTimeoutVO> sessionTimeoutMap = new Hashtable<String, PortalTimeoutVO>();
- String jsonMap = "";
-
- for (String jSessionKey : sessionMap.keySet()) {
-
- try {
- // get the expirytime in seconds
- HttpSession session = sessionMap.get(jSessionKey);
-
- Long lastAccessedTimeMilliSec = session.getLastAccessedTime();
- Long maxIntervalMilliSec = session.getMaxInactiveInterval() * 1000L;
- // Long currentTimeMilliSec =
- // Calendar.getInstance().getTimeInMillis() ;
- // (maxIntervalMilliSec - (currentTimeMilliSec -
- // lastAccessedTimeMilliSec) + ;
- Calendar instance = Calendar.getInstance();
- instance.setTimeInMillis(session.getLastAccessedTime());
- logger.debug("Session Management: Last Accessed time for " + jSessionKey + ": " + instance.getTime());
-
- Long sessionTimOutMilliSec = maxIntervalMilliSec + lastAccessedTimeMilliSec;
-
- sessionTimeoutMap.put(portalJSessionId(jSessionKey),
- getSingleSessionTimeoutObj(jSessionKey, sessionTimOutMilliSec));
- logger.debug("Session Management: putting session in map " + jSessionKey + " sessionTimoutSec"
- + (int) (sessionTimOutMilliSec / 1000));
-
- jsonMap = mapper.writeValueAsString(sessionTimeoutMap);
-
- } catch (Exception e) {
- logger.error("Session Management: Error during JsonSessionTimout conversion", e);
- }
-
- }
-
- return jsonMap;
-
- }
-
- /**
- * TODO: remove static
- *
- * @param sessionTimeoutMapStr
- * @return true on success, false otherwise
- * @throws Exception
- */
- public static boolean updateSessionExtensions(String sessionTimeoutMapStr) throws Exception {
- logger.debug("Session Management: updateSessionExtensions");
- // Map<String,Object> sessionTimeoutMap =
- // mapper.readValue(sessionTimeoutMapStr, Map.class);
- Map<String, PortalTimeoutVO> sessionTimeoutMap = null;
-
- try {
- TypeReference<Hashtable<String, PortalTimeoutVO>> typeRef = new TypeReference<Hashtable<String, PortalTimeoutVO>>() {
- };
- sessionTimeoutMap = mapper.readValue(sessionTimeoutMapStr, typeRef);
- } catch (Exception e) {
- logger.error("Session Management:error when try to parse the sessionTimeoutMap from portal");
- return false;
- }
-
- boolean result = true;
- for (String jPortalSessionId : sessionTimeoutMap.keySet()) {
- try {
- PortalTimeoutVO extendedTimeoutVO = mapper.readValue(
- mapper.writeValueAsString(sessionTimeoutMap.get(jPortalSessionId)), PortalTimeoutVO.class);
- HttpSession session = sessionMap.get(jSessionKey(extendedTimeoutVO.getjSessionId(), jPortalSessionId));
-
- if (session == null) {
- continue;
- }
-
- Long lastAccessedTimeMilliSec = session.getLastAccessedTime();
- Long maxIntervalMilliSec = session.getMaxInactiveInterval() * 1000L;
- Long sessionTimOutMilliSec = maxIntervalMilliSec + lastAccessedTimeMilliSec;
-
- Long maxTimeoutTimeMilliSec = extendedTimeoutVO.getSessionTimOutMilliSec();
- if (maxTimeoutTimeMilliSec > sessionTimOutMilliSec) {
- session.setMaxInactiveInterval((int) (maxTimeoutTimeMilliSec - lastAccessedTimeMilliSec) / 1000);
- logger.debug("Session Management: extended session for :" + session.getId() + " to :"
- + (int) (maxTimeoutTimeMilliSec / 1000));
- // System.out.println("!!!!!!!!!extended session for :" +
- // session.getId() + " to :" +
- // (int)(maxTimeoutTimeMilliSec/1000));
- }
- } catch (Exception e) {
- logger.error("Session Management: error while updating the sessionTimeout" + e.getMessage());
- // Signal a problem if any one of them fails
- result = false;
- }
-
- }
- return result;
- }
-
- /**
- * TODO: Remove static
- *
- * @param request
- * @param userName
- * @param pwd
- * @param ecompRestURL
- * @param _sessionComm
- */
- public static void handleSessionUpdatesNative(HttpServletRequest request, String userName, String pwd, String uebKey,
- String ecompRestURL, SessionCommInf _sessionComm) {
-
- if (_sessionComm == null) {
- _sessionComm = sessionComm;
- }
- try {
- synchronizeSessionForLastMinuteRequests(request, ecompRestURL, userName, pwd, uebKey, _sessionComm);
- } catch (Exception e) {
- logger.error(e);
- }
- resetSessionMaxIdleTimeOut(request);
- }
-
- /**
- * TODO: remove Static
- *
- * @param request
- * @param ecompRestURL
- * @param userName
- * @param pwd
- * @param _sessionComm
- * @throws JsonProcessingException
- * @throws Exception
- */
- public static void synchronizeSessionForLastMinuteRequests(HttpServletRequest request, String ecompRestURL,
- String userName, String pwd, String uebKey, SessionCommInf _sessionComm) throws JsonProcessingException, Exception {
-
- HttpSession session = request.getSession(false);
- if (session == null)
- return;
-
- Object portalSessionSlotCheckObj = session.getServletContext()
- .getAttribute(PortalApiConstants.PORTAL_SESSION_SLOT_CHECK);
- Integer portalSessionSlotCheckinMilliSec = 5 * 60 * 1000; // (5 minutes)
- if (portalSessionSlotCheckObj != null) {
- portalSessionSlotCheckinMilliSec = Integer.valueOf(portalSessionSlotCheckObj.toString());
- } else {
- portalSessionSlotCheckObj = _sessionComm
- .fetchSessionSlotCheckInterval(new String[] { ecompRestURL, userName, pwd, uebKey });
- logger.debug("Fetching Portal Session Slot Object: " + portalSessionSlotCheckObj);
- if (portalSessionSlotCheckObj != null) {
- portalSessionSlotCheckinMilliSec = Integer.valueOf(portalSessionSlotCheckObj.toString());
- session.getServletContext().setAttribute(PortalApiConstants.PORTAL_SESSION_SLOT_CHECK,
- portalSessionSlotCheckinMilliSec);
- }
- }
-
- Object previousToLastAccessTimeObj = session.getAttribute(PortalApiConstants.SESSION_PREVIOUS_ACCESS_TIME);
- final long lastAccessedTimeMilliSec = session.getLastAccessedTime();
- if (previousToLastAccessTimeObj == null) {
- previousToLastAccessTimeObj = lastAccessedTimeMilliSec;
- session.setAttribute(PortalApiConstants.SESSION_PREVIOUS_ACCESS_TIME, previousToLastAccessTimeObj);
- } else {
- Long previousToLastAccessTime = (Long) previousToLastAccessTimeObj;
- final int maxIntervalMilliSec = session.getMaxInactiveInterval() * 1000;
- if (maxIntervalMilliSec
- - (lastAccessedTimeMilliSec - previousToLastAccessTime) <= portalSessionSlotCheckinMilliSec) {
-
- String jSessionKey = (String) session.getAttribute(PortalApiConstants.PORTAL_JSESSION_ID);
- Map<String, PortalTimeoutVO> sessionTimeoutMap = new Hashtable<String, PortalTimeoutVO>();
- Long sessionTimOutMilliSec = maxIntervalMilliSec + lastAccessedTimeMilliSec;
-
- sessionTimeoutMap.put(PortalTimeoutHandler.portalJSessionId(jSessionKey),
- PortalTimeoutHandler.getSingleSessionTimeoutObj(jSessionKey, sessionTimOutMilliSec));
- String jsonMap = mapper.writeValueAsString(sessionTimeoutMap);
- logger.debug("Extension requested for all the Apps and Portal; JessionKey: " + jSessionKey
- + "; SessionMap: " + sessionTimeoutMap);
- _sessionComm.extendSessionTimeOuts(new String[] { ecompRestURL, userName, pwd, uebKey, jsonMap });
- }
-
- }
- }
-
- /**
- * TODO: remove static
- *
- * @param request
- */
- public static void resetSessionMaxIdleTimeOut(HttpServletRequest request) {
- try {
- HttpSession session = request.getSession(false);
- if (session == null)
- return;
-
- final Object maxIdleAttribute = session.getAttribute(PortalApiConstants.GLOBAL_SESSION_MAX_IDLE_TIME);
- if (maxIdleAttribute != null) {
- session.setMaxInactiveInterval(Integer.parseInt(maxIdleAttribute.toString()));
- }
-
- } catch (Exception e) {
- logger.error("Could not reset the session timeout", e);
- }
-
- }
-
- /**
- *
- * @param jSessionKey
- * @param sessionTimOutMilliSec
- * @return
- */
- private static PortalTimeoutVO getSingleSessionTimeoutObj(String jSessionKey, Long sessionTimOutMilliSec) {
- return new PortalTimeoutVO(jSessionId(jSessionKey), sessionTimOutMilliSec);
- }
-
- /**
- *
- * @param jSessionId
- * @param portalJSessionId
- * @return
- */
- private static String jSessionKey(String jSessionId, String portalJSessionId) {
- return portalJSessionId + "-" + jSessionId;
- }
-
- /**
- *
- * @param jSessionKey
- * @return
- */
- private static String portalJSessionId(String jSessionKey) {
- return jSessionKey.split("-")[0];
- }
-
- /**
- *
- * @param jSessionKey
- * @return
- */
- private static String jSessionId(String jSessionKey) {
- return jSessionKey.split("-")[1];
- }
-
-}
diff --git a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalTimeoutVO.java b/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalTimeoutVO.java
deleted file mode 100644
index af6eab8a..00000000
--- a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/PortalTimeoutVO.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.portalsdk.core.onboarding.crossapi;
-
-public class PortalTimeoutVO implements Comparable<PortalTimeoutVO>{
-
- private String jSessionId;
- private Long sessionTimOutMilliSec;
-
- public PortalTimeoutVO(){
-
- }
-
- public PortalTimeoutVO(String _jSessionId, Long _sessionTimOutMilliSec) {
- setjSessionId(_jSessionId);
- setSessionTimOutMilliSec(_sessionTimOutMilliSec);
-
- }
-
- public String getjSessionId() {
- return jSessionId;
- }
-
- public void setjSessionId(String jSessionId) {
- this.jSessionId = jSessionId;
- }
-
- public Long getSessionTimOutMilliSec() {
- return sessionTimOutMilliSec;
- }
-
- public void setSessionTimOutMilliSec(Long sessionTimOutMilliSec) {
- this.sessionTimOutMilliSec = sessionTimOutMilliSec;
- }
-
- @Override
- public int compareTo(PortalTimeoutVO o) {
- return sessionTimOutMilliSec.compareTo(o.sessionTimOutMilliSec);
- }
-
-
-
-
-
-
-}
diff --git a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/SessionCommunication.java b/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/SessionCommunication.java
deleted file mode 100644
index 44178570..00000000
--- a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/SessionCommunication.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.portalsdk.core.onboarding.crossapi;
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.net.HttpURLConnection;
-import java.net.URL;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-public class SessionCommunication {
-
- protected static final Log logger = LogFactory.getLog(SessionCommunication.class);
-
- /**
- * Calls the ECOMP Portal to retrieve the session slot check interval.
- *
- * @param ecompRestURL
- * @param userName
- * application user name used for authentication at Portal
- * @param password
- * application password used for authentication at Portal
- * @param uebKey
- * application UEB key (basically application ID) used for
- * authentication at Portal
- * @return Content read from the remote REST endpoint
- */
- public static String getSessionSlotCheckInterval(String ecompRestURL, String userName, String password,
- String uebKey) {
- try {
- String url = ecompRestURL + "/getSessionSlotCheckInterval";
-
- URL obj = new URL(url);
-
- HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-
- // optional default is GET
- con.setRequestMethod("GET");
- con.setConnectTimeout(3000);
- con.setReadTimeout(8000);
- // add request header
- con.setRequestProperty("username", userName);
- con.setRequestProperty("password", password);
- con.setRequestProperty("uebkey", uebKey);
-
- int responseCode = con.getResponseCode();
- if (logger.isDebugEnabled()) {
- logger.debug("getSessionSlotCheckInterval: Sending 'GET' request to URL : " + url);
- logger.debug("getSessionSlotCheckInterval: Response Code : " + responseCode);
- }
-
- StringBuffer response = new StringBuffer();
-
- BufferedReader in = null;
- try {
- in = new BufferedReader(new InputStreamReader(con.getInputStream(), "UTF-8"));
- String inputLine;
- while ((inputLine = in.readLine()) != null)
- response.append(inputLine);
- } finally {
- in.close();
- }
- return response.toString();
- } catch (Exception e) {
- logger.error("getSessionSlotCheckInterval: failed to fetch the session slot check", e);
- return null;
- }
-
- }
-
- /**
- * Calls the ECOMP Portal to request an extension of the current session.
- *
- * @param ecompRestURL
- * @param userName
- * application user name used for authentication at Portal
- * @param password
- * application password used for authentication at Portal
- * @param uebKey
- * application UEB key (basically application ID) used for
- * authentication at Portal
- * @param sessionTimeoutMap
- * @return Content read from the remote REST endpoint
- * @throws Exception
- */
- public static String requestPortalSessionTimeoutExtension(String ecompRestURL, String userName, String password,
- String uebKey, String sessionTimeoutMap) throws Exception {
-
- try {
-
- String url = ecompRestURL + "/extendSessionTimeOuts";
- // String decreptedPwd =
- // app.appPassword;//CipherUtil.decrypt(encriptedPwdDB,
- // SystemProperties.getProperty(SystemProperties.SECRET_KEY));
-
- URL obj = new URL(url);
-
- HttpURLConnection con = (HttpURLConnection) obj.openConnection();
-
- con.setRequestMethod("POST");
- con.setConnectTimeout(3000);
- con.setReadTimeout(15000);
-
- // add request header
- con.setRequestProperty("username", userName);
- con.setRequestProperty("password", password);
- con.setRequestProperty("uebkey", uebKey);
- con.setRequestProperty("sessionMap", sessionTimeoutMap);
- con.setDoInput(true);
- con.setDoOutput(true);
- con.getOutputStream().write(sessionTimeoutMap.getBytes());
- con.getOutputStream().flush();
- con.getOutputStream().close();
-
- // con.set
-
- int responseCode = con.getResponseCode();
- if (logger.isDebugEnabled()) {
- logger.debug("requestPortalSessionTimeoutExtension: Sending 'GET' request to URL : " + url);
- logger.debug("requestPortalSessionTimeoutExtension: Response Code : " + responseCode);
- }
-
- StringBuffer response = new StringBuffer();
- BufferedReader in = null;
- try {
- in = new BufferedReader(new InputStreamReader(con.getInputStream()));
- String inputLine;
- while ((inputLine = in.readLine()) != null) {
- response.append(inputLine);
- }
- } finally {
- in.close();
- }
- return response.toString();
- } catch (Exception e) {
- logger.error("requestPortalSessionTimeoutExtension: failed to request Portal to extend time out ", e);
- return null;
- }
-
- }
-
-}
diff --git a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/UserContextListener.java b/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/UserContextListener.java
deleted file mode 100644
index ea346f1e..00000000
--- a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/UserContextListener.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.portalsdk.core.onboarding.crossapi;
-
-import java.util.HashMap;
-
-import javax.servlet.ServletContext;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-import javax.servlet.annotation.WebListener;
-import javax.servlet.http.HttpSession;
-
-@WebListener
-public class UserContextListener implements ServletContextListener{
-
- public void contextInitialized(ServletContextEvent event){
- ServletContext context = event.getServletContext();
- //
- // instanciate a map to store references to all the active
- // sessions and bind it to context scope.
- //
- HashMap<String, HttpSession> activeUsers = new HashMap<String, HttpSession>();
- context.setAttribute(PortalApiConstants.ACTIVE_USERS_NAME, activeUsers);
- }
-
- /**
- * Needed for the ServletContextListener interface.
- */
- public void contextDestroyed(ServletContextEvent event){
- // To overcome the problem with losing the session references
- // during server restarts, put code here to serialize the
- // activeUsers HashMap. Then put code in the contextInitialized
- // method that reads and reloads it if it exists...
- }
-}
diff --git a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/UserSessionListener.java b/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/UserSessionListener.java
deleted file mode 100644
index b468851d..00000000
--- a/ecomp-sdk/thirdparty/src/main/java/org/openecomp/portalsdk/core/onboarding/crossapi/UserSessionListener.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*-
- * ================================================================================
- * eCOMP Portal SDK
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property
- * ================================================================================
- * 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.
- * ================================================================================
- */
-package org.openecomp.portalsdk.core.onboarding.crossapi;
-
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Map;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletContext;
-import javax.servlet.annotation.WebListener;
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.HttpSessionEvent;
-import javax.servlet.http.HttpSessionListener;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * Listens to session-create and session-destroy events.
- */
-@WebListener
-public class UserSessionListener implements HttpSessionListener {
-
- private Log logger = LogFactory.getLog(getClass());
-
- public static Map<String, HttpSession> activeSessions = new Hashtable<String, HttpSession>();
-
- public void init(ServletConfig config) {
- }
-
- /**
- * Adds sessions to the context-scoped HashMap when they begin.
- */
- public void sessionCreated(HttpSessionEvent event) {
- HttpSession session = event.getSession();
- ServletContext context = session.getServletContext();
- @SuppressWarnings("unchecked")
- HashMap<String, HttpSession> activeUsers = (HashMap<String, HttpSession>) context
- .getAttribute(PortalApiConstants.ACTIVE_USERS_NAME);
- if (activeUsers != null)
- activeUsers.put(session.getId(), session);
- context.setAttribute(PortalApiConstants.ACTIVE_USERS_NAME, activeUsers);
- activeSessions.put(session.getId(), session);
- session.getServletContext().setAttribute(PortalApiConstants.MAX_IDLE_TIME, session.getMaxInactiveInterval());
- }
-
- /**
- * Removes sessions from the context-scoped HashMap when they expire or are
- * invalidated.
- */
- public void sessionDestroyed(HttpSessionEvent event) {
- try {
- HttpSession session = event.getSession();
- ServletContext context = session.getServletContext();
- @SuppressWarnings("unchecked")
- HashMap<String, HttpSession> activeUsers = (HashMap<String, HttpSession>) context
- .getAttribute(PortalApiConstants.ACTIVE_USERS_NAME);
- if (activeUsers != null)
- activeUsers.remove(session.getId());
- activeSessions.remove(session.getId());
- PortalTimeoutHandler.sessionDestroyed(session);
- } catch (Exception e) {
- logger.warn(e.getMessage(), e);
- }
- }
-}