From 1ab4d44603a91a84a34e34b5fc896fe8a227bca4 Mon Sep 17 00:00:00 2001 From: "arul.nambi" Date: Thu, 31 Aug 2017 15:15:00 -0400 Subject: [PATCH] [AAI-244] grep scan Issue-ID:AAI-244 Change-Id: Ibc51a8c72c411cff9ffc5b58bd40439ff3d703be Signed-off-by: arul.nambi --- ajsc-shared-config/etc/aft.properties | 15 -- ajsc-shared-config/etc/logback.xml | 4 +- .../etc/appprops/AAFUserRoles.properties | 13 - .../appprops/PreProcessorInterceptors.properties | 4 - bundleconfig-local/etc/appprops/caet.properties | 6 - .../etc/appprops/csp-cookie-filter.properties | 18 -- pom.xml | 26 +- src/main/config/ajsc-override-web.xml | 5 +- src/main/config/cadi.properties | 36 --- src/main/config/csp-cookie-filter.properties | 18 -- src/main/config/runner-web.xml | 5 +- .../org/openecomp/sparky/JaxrsUserService.java | 61 ----- .../sparky/dal/aai/ActiveInventoryAdapter.java | 1 - .../sparky/dal/cache/PersistentEntityCache.java | 55 ----- .../org/openecomp/sparky/security/EcompSso.java | 12 +- .../sparky/security/filter/CspCookieFilter.java | 268 --------------------- .../org/openecomp/sparky/util/KeystoreBuilder.java | 6 +- .../java/org/openecomp/sparky/util/NodeUtils.java | 4 +- .../viewandinspect/entity/ActiveInventoryNode.java | 4 +- src/main/resources/logging/AAIUIMsgs.properties | 2 +- src/main/scripts/encNameValue.sh | 20 -- .../dal/aai/config/ActiveInventoryConfigTest.java | 2 +- .../sas/entity/SearchAbstractionEntityBuilder.java | 20 +- .../sparky/synchronizer/SyncControllerBuilder.java | 2 +- .../org/openecomp/sparky/util/NodeUtilsTest.java | 10 +- .../viewandinspect/ActiveInventoryNodeTester.java | 6 +- 26 files changed, 48 insertions(+), 575 deletions(-) delete mode 100644 ajsc-shared-config/etc/aft.properties delete mode 100644 bundleconfig-local/etc/appprops/AAFUserRoles.properties delete mode 100644 bundleconfig-local/etc/appprops/PreProcessorInterceptors.properties delete mode 100644 bundleconfig-local/etc/appprops/caet.properties delete mode 100644 bundleconfig-local/etc/appprops/csp-cookie-filter.properties delete mode 100644 src/main/config/cadi.properties delete mode 100644 src/main/config/csp-cookie-filter.properties delete mode 100644 src/main/java/org/openecomp/sparky/JaxrsUserService.java delete mode 100644 src/main/java/org/openecomp/sparky/security/filter/CspCookieFilter.java delete mode 100644 src/main/scripts/encNameValue.sh diff --git a/ajsc-shared-config/etc/aft.properties b/ajsc-shared-config/etc/aft.properties deleted file mode 100644 index 95c7762..0000000 --- a/ajsc-shared-config/etc/aft.properties +++ /dev/null @@ -1,15 +0,0 @@ -#Copyright (c) 2016 AT&T Intellectual Property. All rights reserved. -# Flow test 319 -# The DEFAULT setup for this file is for deployment to soa cloud node which will use the "bundleconfig/etc/spm2.jks" location -# For Testing Locally, you can set the system property, csiEnable=true, found within bundleconfig-local/etc/sysprops/sys-props.properties -# and switch com.att.aft.keyStore and com.att.aft.trustStore values commented out below to "ajsc-shared-config/etc/spm2.jks" - -#replace proper values for the dummy values. -com.att.aft.discovery.client.environment=TEST -com.att.aft.discovery.client.latitude=35.318900 -com.att.aft.discovery.client.longitude=-80.762200 -com.att.aft.alias=fusionbus -com.att.aft.keyStore=bundleconfig/etc/key.jks -com.att.aft.keyStorePassword=password -com.att.aft.trustStore=bundleconfig/etc/key.jks -com.att.aft.trustStorePassword=password diff --git a/ajsc-shared-config/etc/logback.xml b/ajsc-shared-config/etc/logback.xml index 9913e73..c57cfc4 100644 --- a/ajsc-shared-config/etc/logback.xml +++ b/ajsc-shared-config/etc/logback.xml @@ -182,8 +182,8 @@ - - + + diff --git a/bundleconfig-local/etc/appprops/AAFUserRoles.properties b/bundleconfig-local/etc/appprops/AAFUserRoles.properties deleted file mode 100644 index adb7a10..0000000 --- a/bundleconfig-local/etc/appprops/AAFUserRoles.properties +++ /dev/null @@ -1,13 +0,0 @@ -#Copyright (c) 2016 AT&T Intellectual Property. All rights reserved. - -#If using AAF for Role based authentication/authorization, define your routes/services which will utilize AAF. The AJSC will -#read this file and protect the routes given with the AAF role defined. - -#The following example would protect the JAXRS echo example service provided with the archetype. -#/services/${namespace}/v1/jaxrs-services/jaxrsExample/echo/*=com.att.ajsc.myper|mymachine|manage - -#The following example would protect ALL AJSC services running within your project. -#/**=com.att.ajsc.myperm|mymachine|manage - -#The following example would protect ALL REST services utilizing the Camel restlet routes. -#/rest/**=com.att.ajsc.myperm|mymachine|manage diff --git a/bundleconfig-local/etc/appprops/PreProcessorInterceptors.properties b/bundleconfig-local/etc/appprops/PreProcessorInterceptors.properties deleted file mode 100644 index 1383071..0000000 --- a/bundleconfig-local/etc/appprops/PreProcessorInterceptors.properties +++ /dev/null @@ -1,4 +0,0 @@ -#Copyright (c) 2016 AT&T Intellectual Property. All rights reserved. -#This properties file is for defining any PreProcessorInterceptors that have been created for your AJSC service. - -/**=com.att.ajsc.csi.restmethodmap.RestMethodMapInterceptor diff --git a/bundleconfig-local/etc/appprops/caet.properties b/bundleconfig-local/etc/appprops/caet.properties deleted file mode 100644 index 94540a4..0000000 --- a/bundleconfig-local/etc/appprops/caet.properties +++ /dev/null @@ -1,6 +0,0 @@ -#caet_service=http://DME2RESOLVE/service=com.att.csid.CAET/version=3/envContext=TEST/routeOffer=TEST_CAET -#caet_service=http://DME2RESOLVE/service=com.att.csid.CAET/version=3/envContext=TEST/routeOffer=D3A_CAET -#caet_service=dme2://DME2RESOLVE/service=com.att.csid.CAET/version=4.0/envContext=TEST/routeOffer=TEST_CAET -caet_service=http://DME2SEARCH/service=com.att.csid.CAET/version=4/envContext=TEST//partner=*/stickySelectorKey=Q23A;roundTripTimeoutInMs=240000 -timeoutMs=10000 - diff --git a/bundleconfig-local/etc/appprops/csp-cookie-filter.properties b/bundleconfig-local/etc/appprops/csp-cookie-filter.properties deleted file mode 100644 index e12109a..0000000 --- a/bundleconfig-local/etc/appprops/csp-cookie-filter.properties +++ /dev/null @@ -1,18 +0,0 @@ -# AT&T Global login page. This is the redirect URL -# Production login page: -# https://www.e-access.att.com/empsvcs/hrpinmgt/pagLogin/ -# -# Test login page: -# https://webtest.csp.att.com/empsvcs/hrpinmgt/pagLogin/ -global.login.url=https://www.e-access.att.com/empsvcs/hrpinmgt/pagLogin/ - -# valid domains for open redirect -redirect-domain=att.com,sbc.com,bls.com,cingular.net - -# MOTS ID of the application -application.id=24153 - -# Required by esGateKeeper. Valid values are: -# DEVL - used during development -# PROD - used in production -gatekeeper.environment=PROD \ No newline at end of file diff --git a/pom.xml b/pom.xml index b120061..c69fceb 100644 --- a/pom.xml +++ b/pom.xml @@ -562,25 +562,21 @@ org.jacoco jacoco-maven-plugin - 0.7.9 + 0.7.7.201606060606 - ${basedir}/target/coverage-reports/jacoco-unit.exec - ${basedir}/target/coverage-reports/jacoco-unit.exec + true - prepare-agent - - prepare-agent - - - - jacoco-site - package - - report - - + jacoco-initialize-unit-tests + + prepare-agent + + + ${project.build.directory}/coverage-reports/jacoco.exec + + + diff --git a/src/main/config/ajsc-override-web.xml b/src/main/config/ajsc-override-web.xml index 0b3e693..c07a539 100644 --- a/src/main/config/ajsc-override-web.xml +++ b/src/main/config/ajsc-override-web.xml @@ -4,10 +4,7 @@ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" metadata-complete="false" version="3.0"> - - LoginFilter - /* - + ElasticSearchSynchronizerFilter diff --git a/src/main/config/cadi.properties b/src/main/config/cadi.properties deleted file mode 100644 index 83a5ce0..0000000 --- a/src/main/config/cadi.properties +++ /dev/null @@ -1,36 +0,0 @@ -#This properties file is used for defining AAF properties related to the CADI framework. This file is used for running AAF framework - -#In order to test functionality of cadi-ajsc-plugin locally cross domain cookie. Cadi "should" find your hostname for you. -#However, we have seen some situations where this fails. A Local testing -#modification can include modifying your hosts file so that you can use "mywebserver.att.com" for your localhost in order -#to test/verify GLO functionality locally. If you are on a Windows machine, you will already have a machine name associated with -#it that will utilize an AT&T domain such as "sbc.com". You may need to add your domain to this as a comma separated list depending -#upon your particular machine domain. This property is commented out as cadi SHOULD find your machine name. With version 1.2.1 of cadi, -#it appears to resolve Mac machine names as well, now. But, this can be somewhat inconsistent depending on your specific working envrironment. -hostname=mywebserver.att.com - -#Setting csp_domain to PROD will allow for testing using your attuid and password through GLO. -csp_domain=PROD -csp_devl_localhost=true - -basic_realm=csp.att.com -#basic_realm=aaf.att.com -basic_warn=TRUE - -cadi_loglevel=WARN -cadi_keyfile=target/swm/package/nix/dist_files/appl/inventory-ui-service/etc/keyfile - -# Configure AAF -#These are dummy values add appropriate values required -aaf_url=url - -#AJSC - MECHID -#These are dummy values add appropriate values required -aaf_id=dummyid@ajsc.att.com -aaf_password=enc:277edqJCjT0RlUI3BtbDQa-3Ha-CQGd -aaf_timeout=5000 -aaf_clean_interval=30000 -aaf_user_expires=5000 -aaf_high_count=1000 - - diff --git a/src/main/config/csp-cookie-filter.properties b/src/main/config/csp-cookie-filter.properties deleted file mode 100644 index e12109a..0000000 --- a/src/main/config/csp-cookie-filter.properties +++ /dev/null @@ -1,18 +0,0 @@ -# AT&T Global login page. This is the redirect URL -# Production login page: -# https://www.e-access.att.com/empsvcs/hrpinmgt/pagLogin/ -# -# Test login page: -# https://webtest.csp.att.com/empsvcs/hrpinmgt/pagLogin/ -global.login.url=https://www.e-access.att.com/empsvcs/hrpinmgt/pagLogin/ - -# valid domains for open redirect -redirect-domain=att.com,sbc.com,bls.com,cingular.net - -# MOTS ID of the application -application.id=24153 - -# Required by esGateKeeper. Valid values are: -# DEVL - used during development -# PROD - used in production -gatekeeper.environment=PROD \ No newline at end of file diff --git a/src/main/config/runner-web.xml b/src/main/config/runner-web.xml index b855800..abfdf74 100644 --- a/src/main/config/runner-web.xml +++ b/src/main/config/runner-web.xml @@ -40,10 +40,7 @@ org.openecomp.sparky.inventory.servlet.EntityCountHistoryServlet - - LoginFilter - org.openecomp.sparky.security.filter.LoginFilter - + ElasticSearchSynchronizerFilter diff --git a/src/main/java/org/openecomp/sparky/JaxrsUserService.java b/src/main/java/org/openecomp/sparky/JaxrsUserService.java deleted file mode 100644 index 1353acd..0000000 --- a/src/main/java/org/openecomp/sparky/JaxrsUserService.java +++ /dev/null @@ -1,61 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * Copyright © 2017 Amdocs - * ================================================================================ - * 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========================================================= - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - */ -package org.openecomp.sparky; - -import java.util.HashMap; -import java.util.Map; - -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; - -/** - * The Class JaxrsUserService. - */ -@Path("/user") -public class JaxrsUserService { - - private static final Map userIdToNameMap; - - static { - userIdToNameMap = new HashMap(); - userIdToNameMap.put("dw113c", "Doug Wait"); - userIdToNameMap.put("so401q", "Stuart O'Day"); - } - - /** - * Lookup user. - * - * @param userId the user id - * @return the string - */ - @GET - @Path("/{userId}") - @Produces("text/plain") - public String lookupUser(@PathParam("userId") String userId) { - String name = userIdToNameMap.get(userId); - return name != null ? name : "unknown id"; - } - -} diff --git a/src/main/java/org/openecomp/sparky/dal/aai/ActiveInventoryAdapter.java b/src/main/java/org/openecomp/sparky/dal/aai/ActiveInventoryAdapter.java index eade96c..0f1ed36 100644 --- a/src/main/java/org/openecomp/sparky/dal/aai/ActiveInventoryAdapter.java +++ b/src/main/java/org/openecomp/sparky/dal/aai/ActiveInventoryAdapter.java @@ -251,7 +251,6 @@ public class ActiveInventoryAdapter extends RestfulDataAccessor "Failed to getSelfLinkForEntity() because primaryKeyValue is null"); } - // https://aai-int1.test.att.com:8443/aai/v8/search/generic-query?key=complex.physical-location-id:atlngade&start-node-type=complex /* * Try to protect ourselves from illegal URI formatting exceptions caused by characters that diff --git a/src/main/java/org/openecomp/sparky/dal/cache/PersistentEntityCache.java b/src/main/java/org/openecomp/sparky/dal/cache/PersistentEntityCache.java index 6749c1f..9ee7680 100644 --- a/src/main/java/org/openecomp/sparky/dal/cache/PersistentEntityCache.java +++ b/src/main/java/org/openecomp/sparky/dal/cache/PersistentEntityCache.java @@ -221,61 +221,6 @@ public class PersistentEntityCache implements EntityCache { } - /** - * The main method. - * - * @param args the arguments - * @throws URISyntaxException the URI syntax exception - */ - public static void main(String[] args) throws URISyntaxException { - - OperationResult or = new OperationResult(); - or.setResult("asdjashdkajsdhaksdj"); - or.setResultCode(200); - - String url1 = "https://aai-int1.dev.att.com:8443/aai/v8/search/nodes-query?" - + "search-node-type=tenant&filter=tenant-id:EXISTS"; - - or.setRequestLink(url1); - - PersistentEntityCache pec = new PersistentEntityCache("e:\\my_special_folder", 5); - String k1 = NodeUtils.generateUniqueShaDigest(url1); - pec.put(k1, or); - - String url2 = - "https://aai-int1.dev.att.com:8443/aai/v8/network/vnfcs/vnfc/trial-vnfc?nodes-only"; - or.setRequestLink(url2); - String k2 = NodeUtils.generateUniqueShaDigest(url2); - pec.put(k2, or); - - String url3 = "https://1.2.3.4:8443/aai/v8/network/vnfcs/vnfc/trial-vnfc?nodes-only"; - or.setRequestLink(url3); - String k3 = NodeUtils.generateUniqueShaDigest(url3); - pec.put(k3, or); - - pec.shutdown(); - - /* - * URI uri1 = new URI(url1); - * - * System.out.println("schemea = " + uri1.getScheme()); System.out.println("host = " + - * uri1.getHost()); - * - * String host = uri1.getHost(); String[] tokens = host.split("\\."); - * System.out.println(Arrays.asList(tokens)); ArrayList tokenList = new - * ArrayList(Arrays.asList(tokens)); //tokenList.remove(tokens.length-1); String - * hostAsPathElement = NodeUtils.concatArray(tokenList, "_"); - * - * System.out.println("hostAsPathElement = " + hostAsPathElement); - * - * - * System.out.println("port = " + uri1.getPort()); System.out.println("path = " + - * uri1.getPath()); System.out.println("query = " + uri1.getQuery()); System.out.println( - * "fragment = " + uri1.getFragment()); - */ - - - } /* (non-Javadoc) * @see org.openecomp.sparky.dal.cache.EntityCache#shutdown() diff --git a/src/main/java/org/openecomp/sparky/security/EcompSso.java b/src/main/java/org/openecomp/sparky/security/EcompSso.java index 654af96..c771e6c 100644 --- a/src/main/java/org/openecomp/sparky/security/EcompSso.java +++ b/src/main/java/org/openecomp/sparky/security/EcompSso.java @@ -80,7 +80,7 @@ public class EcompSso { * then searches for a CSP cookie; if not found, for a WebJunction header. * * @param request - * @return ATT UID if the ECOMP cookie is present and the sign-on process established an ATT UID; + * @return User ID if the ECOMP cookie is present and the sign-on process established an User ID; * else null. */ public static String validateEcompSso(HttpServletRequest request) { @@ -98,23 +98,23 @@ public class EcompSso { } /** - * Searches the specified request for the CSP cookie, decodes it and gets the ATT UID. + * Searches the specified request for the CSP cookie, decodes it and gets the User ID. * * @param request - * @return ATTUID if the cookie is present in the request and can be decoded successfully (expired + * @return User ID if the cookie is present in the request and can be decoded successfully (expired * cookies do not decode); else null. */ private static String getLoginIdFromCookie(HttpServletRequest request) { - String attuid = null; + String userid = null; try { String[] cspFields = getCspData(request); if (cspFields != null && cspFields.length > 5) - attuid = cspFields[5]; + userid = cspFields[5]; } catch (Throwable t) { LOG.info(AaiUiMsgs.LOGIN_FILTER_INFO, "getLoginIdFromCookie failed " + t.getLocalizedMessage()); } - return attuid; + return userid; } /** diff --git a/src/main/java/org/openecomp/sparky/security/filter/CspCookieFilter.java b/src/main/java/org/openecomp/sparky/security/filter/CspCookieFilter.java deleted file mode 100644 index 1f06f9d..0000000 --- a/src/main/java/org/openecomp/sparky/security/filter/CspCookieFilter.java +++ /dev/null @@ -1,268 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017 AT&T Intellectual Property. All rights reserved. - * Copyright © 2017 Amdocs - * ================================================================================ - * 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========================================================= - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - */ -package org.openecomp.sparky.security.filter; - -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.UnsupportedEncodingException; -import java.net.InetAddress; -import java.net.URLDecoder; -import java.net.URLEncoder; -import java.net.UnknownHostException; -import java.nio.charset.StandardCharsets; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Properties; - -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.Cookie; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.openecomp.cl.api.Logger; -import org.openecomp.cl.eelf.LoggerFactory; -import org.openecomp.sparky.logging.AaiUiMsgs; -import org.openecomp.sparky.util.NodeUtils; -import org.openecomp.sparky.viewandinspect.config.TierSupportUiConstants; - -import org.openecomp.cl.mdc.MdcContext; - -// import esGateKeeper.esGateKeeper; - -/** - * Redirects to the AT&T global login page if the user is not authenticated.
- * Filter properties need to be configured in: csp-cookie-filter.properties - */ -public class CspCookieFilter implements Filter { - - /** Redirect URL for the login page. */ - private String globalLoginUrl; - - /** Application identifier. */ - private String applicationId; - - /** Gatekeeper environment setting (development or production). */ - private String gateKeeperEnvironment; - - private static final String FILTER_PARAMETER_CONFIG = "config"; - private static final String PROPERTY_GLOBAL_LOGIN_URL = "global.login.url"; - private static final String PROPERTY_APPLICATION_ID = "application.id"; - private static final String PROPERTY_GATEKEEPER_ENVIRONMENT = "gatekeeper.environment"; - // valid open redirect domains - private List redirectDomains = new ArrayList<>(); - private static final String PROPERTY_REDIRECT_DOMAINS = "redirect-domain"; - - /** Needed by esGateKeeper, does not accept any other value. */ - private static final String GATEKEEPER_ACCOUNT_NAME = "CSP"; - - private static final Logger LOG = LoggerFactory.getInstance().getLogger(CspCookieFilter.class); - - - /* (non-Javadoc) - * @see javax.servlet.Filter#init(javax.servlet.FilterConfig) - */ - @Override - public void init(FilterConfig filterConfig) throws ServletException { - String txnID = NodeUtils.getRandomTxnId(); - MdcContext.initialize(txnID, "CspCookieFilter", "", "Init", ""); - - try { - setConfigurationProperties(filterConfig); - } catch (IOException exc) { - LOG.error(AaiUiMsgs.ERROR_CSP_CONFIG_FILE); - throw new ServletException(exc); - } - } - - - /* (non-Javadoc) - * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) - */ - @Override - public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) - throws IOException, ServletException { - HttpServletRequest request = (HttpServletRequest) req; - HttpServletResponse response = (HttpServletResponse) res; - - Cookie[] cookies = request.getCookies(); - if ((cookies == null) || (cookies.length == 0)) { - doLogin(request, response); - return; - } - - /* - * String attEsSec = getSecurityCookie(cookies); - * - * if (attESSec == null || attESSec.length() == 0) { doLogin(request, response); return; } - * - * String attESSecUnEncrypted = esGateKeeper.esGateKeeper(attESSec, GATEKEEPER_ACCOUNT_NAME, - * gateKeeperEnvironment); if (attESSecUnEncrypted == null) { doLogin(request, response); } else - * { - */ - // LOG.info("User has valid cookie"); - chain.doFilter(request, response); - // } - } - - - /* (non-Javadoc) - * @see javax.servlet.Filter#destroy() - */ - @Override - public void destroy() {} - - /** - * Sets all required properties needed by this filter. - * - * @param filterConfig the filter configuration defined in the application web.xml - * @throws IOException if the properties failed to load. - */ - private void setConfigurationProperties(FilterConfig filterConfig) throws IOException { - InputStream inputStream = new FileInputStream(TierSupportUiConstants.STATIC_CONFIG_APP_LOCATION - + filterConfig.getInitParameter(FILTER_PARAMETER_CONFIG)); - Properties cspProperties = new Properties(); - cspProperties.load(inputStream); - globalLoginUrl = cspProperties.getProperty(PROPERTY_GLOBAL_LOGIN_URL); - applicationId = cspProperties.getProperty(PROPERTY_APPLICATION_ID); - gateKeeperEnvironment = cspProperties.getProperty(PROPERTY_GATEKEEPER_ENVIRONMENT); - redirectDomains = Arrays.asList(cspProperties.getProperty(PROPERTY_REDIRECT_DOMAINS).split(",")); - } - - /** - * Returns the attESSec cookie if found in the client. - * - * @param cookies the cookies available in the client - * @return the attESSec authentication cookie generated by the login page. - */ - private String getSecurityCookie(Cookie[] cookies) { - String attEsSec = null; - for (int i = 0; i < cookies.length; i++) { - Cookie thisCookie = cookies[i]; - String cookieName = thisCookie.getName(); - - if ("attESSec".equals(cookieName)) { - attEsSec = thisCookie.getValue(); - break; - } - } - return attEsSec; - } - - /** - * Redirects to the AT&T global login page. If this is an AJAX request it returns an unauthorized - * HTTP error in the response. - * - * @param request the filter request object - * @param response the filter response object - * @throws IOException if there is an error setting the error response - */ - private void doLogin(HttpServletRequest request, HttpServletResponse response) - throws IOException { - if (isAjaxRequest(request)) { - response.sendError(HttpServletResponse.SC_UNAUTHORIZED, - "User is not authorized. Please login to application"); - } else { - // Fix for Safari 7.0.2 onwards to avoid login page cache - response.addHeader("Cache-Control", "no-cache, no-store"); - String redirectURL = createRedirectUrl(request); - if (this.isValidRedirectURL(redirectURL)){ - response.sendRedirect(redirectURL); - LOG.debug(AaiUiMsgs.VALID_REDIRECT_URL, redirectURL); - } else{ - response.sendError(400, "Bad redirect URL: " + redirectURL); - LOG.error(AaiUiMsgs.INVALID_REDIRECT_URL, redirectURL); - } - } - } - - /** - * Checks if a redirect url is valid - * @param url URL to validate - * @return true if URL is a valid redirect URL, false otherwise - */ - private boolean isValidRedirectURL (String url){ - String redirectTo = url.substring(url.indexOf("?retURL=")+ "?retURL=".length()); - try { - redirectTo = URLDecoder.decode(redirectTo, StandardCharsets.UTF_8.toString()); - } catch (UnsupportedEncodingException e) { - LOG.error(AaiUiMsgs.UNSUPPORTED_URL_ENCODING, e.getLocalizedMessage()); - return false; - } - for (String domain: this.redirectDomains){ - if (redirectTo.endsWith(domain)) - return true; - } - return false; - } - - - /** - * Returns true if the request is an AJAX request. - * - * @param request the filter request object - * @return true if the request is an AJAX request. - */ - private boolean isAjaxRequest(HttpServletRequest request) { - String headerValue = request.getHeader("X-Requested-With"); - if ("XMLHttpRequest".equals(headerValue)) { - return true; - } - return false; - } - - /** - * Returns the redirection URL to the AT&T Global login page. - * - * @param request the request - * @return the string - * @throws UnsupportedEncodingException the unsupported encoding exception - */ - private String createRedirectUrl(HttpServletRequest request) throws UnsupportedEncodingException { - String returnUrl = getReturnUrl(request); - - return globalLoginUrl + "?retURL=" + returnUrl + "&sysName=" + applicationId; - } - - /** - * Gets the URL encoded return URL. - * - * @param request the HTTP request - * @return an encoded URL to return to following login - * @throws UnsupportedEncodingException the unsupported encoding exception - */ - private String getReturnUrl(HttpServletRequest request) throws UnsupportedEncodingException { - StringBuffer retUrl = request.getRequestURL(); - String urlParams = request.getQueryString(); - if (urlParams != null) { - retUrl.append("?" + urlParams); - } - return URLEncoder.encode(retUrl.toString(), StandardCharsets.UTF_8.toString()); - } -} diff --git a/src/main/java/org/openecomp/sparky/util/KeystoreBuilder.java b/src/main/java/org/openecomp/sparky/util/KeystoreBuilder.java index 6b6a937..916b1e9 100644 --- a/src/main/java/org/openecomp/sparky/util/KeystoreBuilder.java +++ b/src/main/java/org/openecomp/sparky/util/KeystoreBuilder.java @@ -244,8 +244,8 @@ public class KeystoreBuilder { private X509Certificate[] getCertificateChainForRemoteEndpoint(String hostname, int port) throws UnknownHostException, IOException { - System.out.println("Opening connection to localhost:8442.."); - SSLSocket socket = (SSLSocket) sslSocketFactory.createSocket("aai-int1.dev.att.com", 8440); + System.out.println("Opening connection to "+hostname+":"+port+".."); + SSLSocket socket = (SSLSocket) sslSocketFactory.createSocket(hostname, port); socket.setSoTimeout(10000); try { @@ -499,8 +499,6 @@ public class KeystoreBuilder { */ public static void main(String[] args) throws Exception { - // String endpointList = "aai-int1.test.att.com:8440;aai-int1.dev.att.com:8442"; - /* * Examples: localhost:8440;localhost:8442 d:\1\adhoc_keystore.jks aaiDomain2 false * localhost:8440;localhost:8442 d:\1\adhoc_keystore.jks aaiDomain2 true diff --git a/src/main/java/org/openecomp/sparky/util/NodeUtils.java b/src/main/java/org/openecomp/sparky/util/NodeUtils.java index d28c5e2..10fb90a 100644 --- a/src/main/java/org/openecomp/sparky/util/NodeUtils.java +++ b/src/main/java/org/openecomp/sparky/util/NodeUtils.java @@ -366,12 +366,12 @@ public class NodeUtils { String resourceId = null; if ("/".equals(link.substring(linkLength - 1))) { // Use-case: - // https://aai-ext1.test.att.com:9292/aai/v7/business/customers/customer/1607_20160524Func_Ak1_01/service-subscriptions/service-subscription/uCPE-VMS/ + // https://:9292/aai/v7/business/customers/customer/1607_20160524Func_Ak1_01/service-subscriptions/service-subscription/uCPE-VMS/ startIndex = link.lastIndexOf("/", linkLength - 2); resourceId = link.substring(startIndex + 1, linkLength - 1); } else { // Use-case: - // https://aai-ext1.test.att.com:9292/aai/v7/business/customers/customer/1607_20160524Func_Ak1_01/service-subscriptions/service-subscription/uCPE-VMS + // https://:9292/aai/v7/business/customers/customer/1607_20160524Func_Ak1_01/service-subscriptions/service-subscription/uCPE-VMS startIndex = link.lastIndexOf("/"); resourceId = link.substring(startIndex + 1, linkLength); } diff --git a/src/main/java/org/openecomp/sparky/viewandinspect/entity/ActiveInventoryNode.java b/src/main/java/org/openecomp/sparky/viewandinspect/entity/ActiveInventoryNode.java index 81ee178..aef710d 100644 --- a/src/main/java/org/openecomp/sparky/viewandinspect/entity/ActiveInventoryNode.java +++ b/src/main/java/org/openecomp/sparky/viewandinspect/entity/ActiveInventoryNode.java @@ -443,7 +443,7 @@ public class ActiveInventoryNode { } public boolean isDirectSelfLink() { - // https://aai-int1.test.att.com:8443/aai/v8/resources/id/2458124400 + // https://:8443/aai/v8/resources/id/2458124400 return isDirectSelfLink(this.selfLink); } @@ -454,7 +454,7 @@ public class ActiveInventoryNode { * @return true, if is direct self link */ public static boolean isDirectSelfLink(String link) { - // https://aai-int1.test.att.com:8443/aai/v8/resources/id/2458124400 + // https://:8443/aai/v8/resources/id/2458124400 if (link == null) { return false; diff --git a/src/main/resources/logging/AAIUIMsgs.properties b/src/main/resources/logging/AAIUIMsgs.properties index a70d9df..a2c12ca 100644 --- a/src/main/resources/logging/AAIUIMsgs.properties +++ b/src/main/resources/logging/AAIUIMsgs.properties @@ -120,7 +120,7 @@ RESTFULL_OP_COMPLETE=\ COOKIE_FOUND=\ AAIUI00030I|\ - attESHr cookie found in the request <{0}> + ESHr cookie found in the request <{0}> INDEX_ALREADY_EXISTS=\ AAIUI00031I|\ diff --git a/src/main/scripts/encNameValue.sh b/src/main/scripts/encNameValue.sh deleted file mode 100644 index daefd00..0000000 --- a/src/main/scripts/encNameValue.sh +++ /dev/null @@ -1,20 +0,0 @@ -# The script invokes the com.amdocs.aai.audit.security.encryption.EncryptedPropValue class to generate an encrypted value -# e.g -# ./encNameValue.sh odl.auth.password admin -# will return: -# odl.auth.password.x=f1e2c25183ef4b4ff655e7cd94d0c472 -# -if [ "$#" -ne 2 ]; then - echo "Illegal number of parameters (expected 2)" - echo "Usage: `basename $0` " 1>&2 - exit 1 -fi - -# On Windows we must use a different CLASSPATH separator character -if [ "$(expr substr $(uname -s) 1 5)" == "MINGW" ]; then - CPSEP=\; -else - CPSEP=: -fi - -java -cp ".${CPSEP}../extJars/*" com.att.aai.util.EncryptedPropValue -n $1 -v $2 diff --git a/src/test/java/org/openecomp/sparky/dal/aai/config/ActiveInventoryConfigTest.java b/src/test/java/org/openecomp/sparky/dal/aai/config/ActiveInventoryConfigTest.java index 24cb405..483c792 100644 --- a/src/test/java/org/openecomp/sparky/dal/aai/config/ActiveInventoryConfigTest.java +++ b/src/test/java/org/openecomp/sparky/dal/aai/config/ActiveInventoryConfigTest.java @@ -51,7 +51,7 @@ public class ActiveInventoryConfigTest { props.put("aai.rest.cache.storageFolderOverride",""); props.put("aai.rest.cache.maxTimeToLiveInMs","-1"); - props.put("aai.rest.shallowEntities","cloud-region,complex,vnf-image,att-aic,image"); + props.put("aai.rest.shallowEntities","cloud-region,complex,vnf-image,image"); props.put("aai.ssl.truststore.filename","synchronizer.jks"); props.put("aai.ssl.truststore.type","jks"); diff --git a/src/test/java/org/openecomp/sparky/dal/sas/entity/SearchAbstractionEntityBuilder.java b/src/test/java/org/openecomp/sparky/dal/sas/entity/SearchAbstractionEntityBuilder.java index fa3d463..e665bc2 100644 --- a/src/test/java/org/openecomp/sparky/dal/sas/entity/SearchAbstractionEntityBuilder.java +++ b/src/test/java/org/openecomp/sparky/dal/sas/entity/SearchAbstractionEntityBuilder.java @@ -42,7 +42,7 @@ public class SearchAbstractionEntityBuilder { doc.addContent("entityPrimaryKeyValue", "example-vnf-id-val-4394"); doc.addContent("entityType", "vpe"); doc.addContent("searchTags", "example-vnf-id-val-4394;example-vnf-name-val-4394;example-vnf-name2-val-4394"); - doc.addContent("link", "https://aai-ext1.test.att.com:8443/aai/v9/network/vpes/vpe/example-vnf-id-val-4394"); + doc.addContent("link", "https://aai-hostname:8443/aai/v9/network/vpes/vpe/example-vnf-id-val-4394"); doc.addContent("searchTagIDs", "0;1;2"); doc.addContent("lastmodTimestamp", "2017-04-18T17:20:48.072-0400"); @@ -65,7 +65,7 @@ public class SearchAbstractionEntityBuilder { doc.addContent("entityPrimaryKeyValue", "vpe-vnf-id-team4-11"); doc.addContent("entityType", "vpe"); doc.addContent("searchTags", "vpe-vnf-id-team4-11;example-vnf-name-val-9512;example-vnf-name2-val-9512"); - doc.addContent("link", "https://aai-ext1.test.att.com:8443/aai/v9/network/vpes/vpe/vpe-vnf-id-team4-11"); + doc.addContent("link", "https://aai-hostname:8443/aai/v9/network/vpes/vpe/vpe-vnf-id-team4-11"); doc.addContent("searchTagIDs", "0;1;2"); doc.addContent("lastmodTimestamp", "2017-04-18T17:20:48.175-0400"); @@ -88,7 +88,7 @@ public class SearchAbstractionEntityBuilder { doc.addContent("entityPrimaryKeyValue", "example-vnf-id-val-6176"); doc.addContent("entityType", "generic-vnf"); doc.addContent("searchTags", "example-vnf-id-val-6176;example-vnf-name-val-6176;example-vnf-name2-val-6176"); - doc.addContent("link", "https://aai-ext1.test.att.com:8443/aai/v9/network/generic-vnfs/generic-vnf/example-vnf-id-val-6176"); + doc.addContent("link", "https://aai-hostname:8443/aai/v9/network/generic-vnfs/generic-vnf/example-vnf-id-val-6176"); doc.addContent("searchTagIDs", "0;1;2"); doc.addContent("lastmodTimestamp", "2017-04-18T17:29:39.889-0400"); @@ -111,7 +111,7 @@ public class SearchAbstractionEntityBuilder { doc.addContent("entityPrimaryKeyValue", "vnf-id-team4-11"); doc.addContent("entityType", "newvce"); doc.addContent("searchTags", "vnf-id-team4-11;example-vnf-name-val-5313;example-vnf-name2-val-5313"); - doc.addContent("link", "https://aai-ext1.test.att.com:8443/aai/v9/network/newvces/newvce/vnf-id-team4-11"); + doc.addContent("link", "https://aai-hostname:8443/aai/v9/network/newvces/newvce/vnf-id-team4-11"); doc.addContent("searchTagIDs", "0;1;2"); doc.addContent("lastmodTimestamp", "2017-04-18T17:21:08.142-0400"); @@ -134,7 +134,7 @@ public class SearchAbstractionEntityBuilder { doc.addContent("entityPrimaryKeyValue", "example-vnf-id2-val-9501"); doc.addContent("entityType", "newvce"); doc.addContent("searchTags", "example-vnf-id2-val-9501;example-vnf-name-val-9501;example-vnf-name2-val-9501"); - doc.addContent("link", "https://aai-ext1.test.att.com:8443/aai/v9/network/newvces/newvce/example-vnf-id2-val-9501"); + doc.addContent("link", "https://aai-hostname:8443/aai/v9/network/newvces/newvce/example-vnf-id2-val-9501"); doc.addContent("searchTagIDs", "0;1;2"); doc.addContent("lastmodTimestamp", "2017-04-18T17:21:23.323-0400"); @@ -157,7 +157,7 @@ public class SearchAbstractionEntityBuilder { doc.addContent("entityPrimaryKeyValue", "vnf-id-dm-auto-10"); doc.addContent("entityType", "vce"); doc.addContent("searchTags", "vpe-id-dm-auto-10;vnf-id-dm-auto-10;vnf-name-dm-auto-10;vnf-name2-dm-auto-10"); - doc.addContent("link", "https://aai-ext1.test.att.com:8443/aai/v9/network/vces/vce/vnf-id-dm-auto-10"); + doc.addContent("link", "https://aai-hostname:8443/aai/v9/network/vces/vce/vnf-id-dm-auto-10"); doc.addContent("searchTagIDs", "0;1;2;3"); doc.addContent("lastmodTimestamp", "2017-04-18T17:24:57.209-0400"); @@ -180,7 +180,7 @@ public class SearchAbstractionEntityBuilder { doc.addContent("entityPrimaryKeyValue", "e3e59c5b-ad48-44d0-b3e4-80eacdcee4c7"); doc.addContent("entityType", "generic-vnf"); doc.addContent("searchTags", "e3e59c5b-ad48-44d0-b3e4-80eacdcee4c7;VNF_Test_vNF_modules_01"); - doc.addContent("link", "https://aai-ext1.test.att.com:8443/aai/v9/network/generic-vnfs/generic-vnf/e3e59c5b-ad48-44d0-b3e4-80eacdcee4c7"); + doc.addContent("link", "https://aai-hostname:8443/aai/v9/network/generic-vnfs/generic-vnf/e3e59c5b-ad48-44d0-b3e4-80eacdcee4c7"); doc.addContent("searchTagIDs", "0;1"); doc.addContent("lastmodTimestamp", "2017-04-18T17:26:34.603-0400"); @@ -203,7 +203,7 @@ public class SearchAbstractionEntityBuilder { doc.addContent("entityPrimaryKeyValue", "fusion-jitsi-vnf-001"); doc.addContent("entityType", "generic-vnf"); doc.addContent("searchTags", "fusion-jitsi-vnf-001;fusion-jitsi-vnf"); - doc.addContent("link", "https://aai-ext1.test.att.com:8443/aai/v9/network/generic-vnfs/generic-vnf/fusion-jitsi-vnf-001"); + doc.addContent("link", "https://aai-hostname:8443/aai/v9/network/generic-vnfs/generic-vnf/fusion-jitsi-vnf-001"); doc.addContent("searchTagIDs", "0;1"); doc.addContent("lastmodTimestamp", "2017-04-18T17:28:14.293-0400"); @@ -226,7 +226,7 @@ public class SearchAbstractionEntityBuilder { doc.addContent("entityPrimaryKeyValue", "vnfm0003v"); doc.addContent("entityType", "generic-vnf"); doc.addContent("searchTags", "vnfm0003v;vnfm0003v"); - doc.addContent("link", "https://aai-ext1.test.att.com:8443/aai/v9/network/generic-vnfs/generic-vnf/vnfm0003v"); + doc.addContent("link", "https://aai-hostname:8443/aai/v9/network/generic-vnfs/generic-vnf/vnfm0003v"); doc.addContent("searchTagIDs", "0;1"); doc.addContent("lastmodTimestamp", "2017-04-18T17:29:39.594-0400"); @@ -249,7 +249,7 @@ public class SearchAbstractionEntityBuilder { doc.addContent("entityPrimaryKeyValue", "amist456vnf"); doc.addContent("entityType", "generic-vnf"); doc.addContent("searchTags", "amist456vnf;amist456vnf"); - doc.addContent("link", "https://aai-ext1.test.att.com:8443/aai/v9/network/generic-vnfs/generic-vnf/amist456vnf"); + doc.addContent("link", "https://aai-hostname:8443/aai/v9/network/generic-vnfs/generic-vnf/amist456vnf"); doc.addContent("searchTagIDs", "0;1"); doc.addContent("lastmodTimestamp", "2017-04-18T17:28:28.163-0400"); diff --git a/src/test/java/org/openecomp/sparky/synchronizer/SyncControllerBuilder.java b/src/test/java/org/openecomp/sparky/synchronizer/SyncControllerBuilder.java index 45c272b..e09e08a 100644 --- a/src/test/java/org/openecomp/sparky/synchronizer/SyncControllerBuilder.java +++ b/src/test/java/org/openecomp/sparky/synchronizer/SyncControllerBuilder.java @@ -69,7 +69,7 @@ public class SyncControllerBuilder { new ElasticSearchAdapter(nonCachingRestProvider, esConfig); String payload = - "{ \"entityType\": \"complex\", \"pkey\": \"MORRISTOWN0075\", \"location\": { \"lat\": \"40.793414\", \"lon\": \"-74.480432\" }, \"selfLink\": \"https://aai-int1.test.att.com:8443/aai/v8/cloud-infrastructure/complexes/complex/MORRISTOWN0075?nodes-only\" }\n"; + "{ \"entityType\": \"complex\", \"pkey\": \"MORRISTOWN0075\", \"location\": { \"lat\": \"40.793414\", \"lon\": \"-74.480432\" }, \"selfLink\": \"https://aai-hostname:8443/aai/v8/cloud-infrastructure/complexes/complex/MORRISTOWN0075?nodes-only\" }\n"; String updateRequest = elasticSearchDataProvider.buildBulkImportOperationRequest( "topographysearchindex-localhost", "default", diff --git a/src/test/java/org/openecomp/sparky/util/NodeUtilsTest.java b/src/test/java/org/openecomp/sparky/util/NodeUtilsTest.java index 23d9df3..c3c7f7f 100644 --- a/src/test/java/org/openecomp/sparky/util/NodeUtilsTest.java +++ b/src/test/java/org/openecomp/sparky/util/NodeUtilsTest.java @@ -51,15 +51,15 @@ public class NodeUtilsTest { private static final String TEST_LINK1 = - "https://aai-ext1.test.att.com:9292/aai/v7/network/generic-vnfs/generic-vnf/cafaeb02-b54d-4918-bd06-85406dad19e7/l-interfaces/l-interface/WAN1_1123_GAMMA2016.04_PWT/l3-interface-ipv4-address-list/155.196.36.1/"; + "https://aai-hostname:9292/aai/v7/network/generic-vnfs/generic-vnf/cafaeb02-b54d-4918-bd06-85406dad19e7/l-interfaces/l-interface/WAN1_1123_GAMMA2016.04_PWT/l3-interface-ipv4-address-list/155.196.36.1/"; private static final String TEST_LINK2 = - "https://aai-ext1.test.att.com:9292/aai/v7/network/generic-vnfs/generic-vnf/cafaeb02-b54d-4918-bd06-85406dad19e7/l-interfaces/l-interface/WAN1_1123_GAMMA2016.04_PWT/l3-interface-ipv4-address-list/155.196.36.1"; + "https://aai-hostname:9292/aai/v7/network/generic-vnfs/generic-vnf/cafaeb02-b54d-4918-bd06-85406dad19e7/l-interfaces/l-interface/WAN1_1123_GAMMA2016.04_PWT/l3-interface-ipv4-address-list/155.196.36.1"; private static final String TEST_LINK3 = - "https://aai-ext1.test.att.com:9292/aai/v7/network/generic-vnfs/generic-vnf/cafaeb02-b54d-4918-bd06-85406dad19e7/l-interfaces/l-interface/WAN1_1123_GAMMA2016.04_PWT/l3-interface-ipv4-address-list/ge-0%2f1%2f0"; + "https://aai-hostname:9292/aai/v7/network/generic-vnfs/generic-vnf/cafaeb02-b54d-4918-bd06-85406dad19e7/l-interfaces/l-interface/WAN1_1123_GAMMA2016.04_PWT/l3-interface-ipv4-address-list/ge-0%2f1%2f0"; private static final String TEST_LINK4 = - "https://aai-ext1.test.att.com:9292/aai/v7/network/generic-vnfs/generic-vnf/cafaeb02-b54d-4918-bd06-85406dad19e7/l-interfaces/l-interface/WAN1_1123_GAMMA2016.04_PWT/l3-interface-ipv4-address-list/ge-%bad%wolf%timelord"; + "https://aai-hostname:9292/aai/v7/network/generic-vnfs/generic-vnf/cafaeb02-b54d-4918-bd06-85406dad19e7/l-interfaces/l-interface/WAN1_1123_GAMMA2016.04_PWT/l3-interface-ipv4-address-list/ge-%bad%wolf%timelord"; private static final String TEST_LINK5_NO_RESOURCE_ID = - "https://aai-ext1.test.att.com:9292/aai/v7/network/generic-vnfs/generic-vnf/cafaeb02-b54d-4918-bd06-85406dad19e7/l-interfaces/l-interface/WAN1_1123_GAMMA2016.04_PWT/l3-interface-ipv4-address-list//"; + "https://aai-hostname:9292/aai/v7/network/generic-vnfs/generic-vnf/cafaeb02-b54d-4918-bd06-85406dad19e7/l-interfaces/l-interface/WAN1_1123_GAMMA2016.04_PWT/l3-interface-ipv4-address-list//"; private static final int NODE_UTILS_TAB_WIDTH = 3; /** diff --git a/src/test/java/org/openecomp/sparky/viewandinspect/ActiveInventoryNodeTester.java b/src/test/java/org/openecomp/sparky/viewandinspect/ActiveInventoryNodeTester.java index bdacfe9..d976dee 100644 --- a/src/test/java/org/openecomp/sparky/viewandinspect/ActiveInventoryNodeTester.java +++ b/src/test/java/org/openecomp/sparky/viewandinspect/ActiveInventoryNodeTester.java @@ -88,7 +88,7 @@ public class ActiveInventoryNodeTester { } private String selfLinkFormat = - "https://aai-ext1.test.att.com:9292/aai/v7/network/generic-vnfs/%s/%s"; + "https://aai-hostname:9292/aai/v7/network/generic-vnfs/%s/%s"; /** @@ -197,9 +197,9 @@ public class ActiveInventoryNodeTester { } public static String DIRECT_COMPLEX_SELF_LINK_JSON_RESPONSE = - "{\"complex\":{\"physical-location-id\":\"MJ-1604-COMPLEX\",\"data-center-code\":\"DAYTONNJ\",\"complex-name\":\"complex-name-MDTWNJ23A4\",\"resource-version\":\"1470195143\",\"physical-location-type\":\"SBC/VHO and Mega Pop\",\"street1\":\"451 Western Ave\",\"street2\":\"CU-212\",\"city\":\"dayton\",\"state\":\"NJ\",\"postal-code\":\"08852\",\"country\":\"USA\",\"region\":\"Northeast\",\"latitude\":\"40.3896\",\"longitude\":\"-74.5463\",\"relationship-list\":{\"relationship\":[{\"related-to\":\"pserver\",\"related-link\":\"https://aai-int1.test.att.com:8443/aai/v8/cloud-infrastructure/pservers/pserver/MJ-1604-PSERVER/\",\"relationship-data\":[{\"relationship-key\":\"pserver.hostname\",\"relationship-value\":\"MJ-1604-PSERVER\"}],\"related-to-property\":[{\"property-key\":\"pserver.pserver-name2\",\"property-value\":\"MJ-1604-PSERVER\"}]}]}}}"; + "{\"complex\":{\"physical-location-id\":\"MJ-1604-COMPLEX\",\"data-center-code\":\"DAYTONNJ\",\"complex-name\":\"complex-name-MDTWNJ23A4\",\"resource-version\":\"1470195143\",\"physical-location-type\":\"SBC/VHO and Mega Pop\",\"street1\":\"451 Western Ave\",\"street2\":\"CU-212\",\"city\":\"dayton\",\"state\":\"NJ\",\"postal-code\":\"08852\",\"country\":\"USA\",\"region\":\"Northeast\",\"latitude\":\"40.3896\",\"longitude\":\"-74.5463\",\"relationship-list\":{\"relationship\":[{\"related-to\":\"pserver\",\"related-link\":\"https://aai-hostname:8443/aai/v8/cloud-infrastructure/pservers/pserver/MJ-1604-PSERVER/\",\"relationship-data\":[{\"relationship-key\":\"pserver.hostname\",\"relationship-value\":\"MJ-1604-PSERVER\"}],\"related-to-property\":[{\"property-key\":\"pserver.pserver-name2\",\"property-value\":\"MJ-1604-PSERVER\"}]}]}}}"; public static String DIRECT_PSERVER_SELF_LINK_JSON_RESPONSE = - "{\"pserver\":{\"hostname\":\"MJ-1604-PSERVER\",\"equip-type\":\"JUNIPER UCPE\",\"equip-vendor\":\"JUNIPER\",\"equip-model\":\"QFX5100-24P-AA\",\"ipv4-oam-address\":\"10.402.143.1\",\"serial-number\":\"VX371521MAHI\",\"pserver-id\":\"1C2B8D47-AVAE-4721-0110-E2C41A07MAHI\",\"in-maint\":false,\"resource-version\":\"1456765026\",\"pserver-name2\":\"MJ-1604-PSERVER\",\"relationship-list\":{\"relationship\":[{\"related-to\":\"complex\",\"related-link\":\"https://aai-int1.test.att.com:8443/aai/v8/cloud-infrastructure/complexes/complex/MJ-1604-COMPLEX/\",\"relationship-data\":[{\"relationship-key\":\"complex.physical-location-id\",\"relationship-value\":\"MJ-1604-COMPLEX\"}]}]},\"p-interfaces\":{\"p-interface\":[{\"interface-name\":\"ge-0/2/0\",\"speed-value\":\"1\",\"speed-units\":\"GBPS\",\"resource-version\":\"1456723241\",\"relationship-list\":{\"relationship\":[{\"related-to\":\"physical-link\",\"related-link\":\"https://aai-int1.test.att.com:8443/aai/v8/network/physical-links/physical-link/BBEC.112430..ATI/\",\"relationship-data\":[{\"relationship-key\":\"physical-link.link-name\",\"relationship-value\":\"BBEC.112430..ATI\"}]}]}},{\"interface-name\":\"ge-0/2/1\",\"speed-value\":\"1\",\"speed-units\":\"GBPS\",\"resource-version\":\"1456723241\",\"relationship-list\":{\"relationship\":[{\"related-to\":\"physical-link\",\"related-link\":\"https://aai-int1.test.att.com:8443/aai/v8/network/physical-links/physical-link/BBEC.112431..ATI/\",\"relationship-data\":[{\"relationship-key\":\"physical-link.link-name\",\"relationship-value\":\"BBEC.112431..ATI\"}]}]}}]}}}"; + "{\"pserver\":{\"hostname\":\"MJ-1604-PSERVER\",\"equip-type\":\"JUNIPER UCPE\",\"equip-vendor\":\"JUNIPER\",\"equip-model\":\"QFX5100-24P-AA\",\"ipv4-oam-address\":\"10.402.143.1\",\"serial-number\":\"VX371521MAHI\",\"pserver-id\":\"1C2B8D47-AVAE-4721-0110-E2C41A07MAHI\",\"in-maint\":false,\"resource-version\":\"1456765026\",\"pserver-name2\":\"MJ-1604-PSERVER\",\"relationship-list\":{\"relationship\":[{\"related-to\":\"complex\",\"related-link\":\"https://aai-hostname:8443/aai/v8/cloud-infrastructure/complexes/complex/MJ-1604-COMPLEX/\",\"relationship-data\":[{\"relationship-key\":\"complex.physical-location-id\",\"relationship-value\":\"MJ-1604-COMPLEX\"}]}]},\"p-interfaces\":{\"p-interface\":[{\"interface-name\":\"ge-0/2/0\",\"speed-value\":\"1\",\"speed-units\":\"GBPS\",\"resource-version\":\"1456723241\",\"relationship-list\":{\"relationship\":[{\"related-to\":\"physical-link\",\"related-link\":\"https://aai-hostname:8443/aai/v8/network/physical-links/physical-link/BBEC.112430..ATI/\",\"relationship-data\":[{\"relationship-key\":\"physical-link.link-name\",\"relationship-value\":\"BBEC.112430..ATI\"}]}]}},{\"interface-name\":\"ge-0/2/1\",\"speed-value\":\"1\",\"speed-units\":\"GBPS\",\"resource-version\":\"1456723241\",\"relationship-list\":{\"relationship\":[{\"related-to\":\"physical-link\",\"related-link\":\"https://aai-hostname:8443/aai/v8/network/physical-links/physical-link/BBEC.112431..ATI/\",\"relationship-data\":[{\"relationship-key\":\"physical-link.link-name\",\"relationship-value\":\"BBEC.112431..ATI\"}]}]}}]}}}"; /** * Parses the direct self link json response. -- 2.16.6