You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ji...@apache.org on 2016/10/10 22:08:32 UTC

[4/6] incubator-geode git commit: GEODE-1570: upgrade spring libraries

GEODE-1570: upgrade spring libraries

* upgrade the spring libraries and related libraries
* upgrade version numbers in the NOTICE and LICENSE file
* some test refactor


Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/a7b9ac13
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/a7b9ac13
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/a7b9ac13

Branch: refs/heads/develop
Commit: a7b9ac13d542a5e63a633e54d9b1b527703e3511
Parents: 2b0b55e
Author: Jinmei Liao <ji...@pivotal.io>
Authored: Thu Sep 15 14:17:05 2016 -0700
Committer: Jinmei Liao <ji...@pivotal.io>
Committed: Mon Oct 10 15:07:08 2016 -0700

----------------------------------------------------------------------
 geode-assembly/src/main/dist/NOTICE             |  10 +-
 .../internal/web/RestInterfaceJUnitTest.java    |  42 +++--
 .../internal/web/RestSecurityDUnitTest.java     | 173 +++++--------------
 .../src/test/resources/expected_jars.txt        |   1 +
 geode-core/build.gradle                         |   3 +
 .../cli/shell/GfshInitFileJUnitTest.java        |  18 +-
 .../security/AbstractSecureServerDUnitTest.java |   1 -
 .../security/GemFireAuthentication.java         |   2 +-
 .../security/GemFireAuthenticationProvider.java |   1 -
 .../service/MemberGatewayHubService.java        |  11 +-
 geode-pulse/src/main/webapp/Login.html          |   6 +-
 geode-pulse/src/main/webapp/META-INF/NOTICE     |   6 +-
 .../webapp/WEB-INF/mvc-dispatcher-servlet.xml   |   8 +-
 .../src/main/webapp/WEB-INF/spring-security.xml |  17 +-
 .../geode/tools/pulse/tests/PulseAuthTest.java  |   2 +-
 .../tools/pulse/tests/PulseAutomatedTest.java   |   2 +-
 geode-web-api/build.gradle                      |   1 +
 .../geode/rest/internal/web/util/JSONUtils.java | 105 ++---------
 .../rest/internal/web/util/JsonWriter.java      |  16 +-
 geode-web-api/src/main/webapp/META-INF/NOTICE   |   6 +-
 .../src/main/webapp/WEB-INF/geode-servlet.xml   |  14 +-
 geode-web/src/main/webapp/META-INF/NOTICE       |   2 +-
 .../main/webapp/WEB-INF/geode-mgmt-servlet.xml  |   6 +-
 gradle/dependency-resolution.gradle             |  19 --
 gradle/dependency-versions.properties           |  20 +--
 25 files changed, 162 insertions(+), 330 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/geode-assembly/src/main/dist/NOTICE
----------------------------------------------------------------------
diff --git a/geode-assembly/src/main/dist/NOTICE b/geode-assembly/src/main/dist/NOTICE
index 1924007..412774d 100644
--- a/geode-assembly/src/main/dist/NOTICE
+++ b/geode-assembly/src/main/dist/NOTICE
@@ -26,7 +26,7 @@ Java ClassMate library was originally written by Tatu Saloranta (tatu.saloranta@
   
   * Brian Langel
 
-Jackson Core 2.2.0
+Jackson Core 2.8.2
 
   # Jackson JSON processor
 
@@ -242,7 +242,7 @@ Apache Lucene
   from and not be held liable to the user for any such damages as noted
   above as far as the program is concerned.
 
-Spring Framework 4.2.4.RELEASE
+Spring Framework 4.3.2.RELEASE
 Copyright (c) 2002-2015 Pivotal, Inc.
 
   This product is licensed to you under the Apache License, Version 2.0
@@ -254,7 +254,7 @@ Copyright (c) 2002-2015 Pivotal, Inc.
   these subcomponents is subject to the terms and conditions of the
   subcomponent's license, as noted in the license.txt file.
 
-Spring Hateoas 0.12
+Spring Hateoas 0.21.0
 Copyright (c) [2012-2014] Pivotal Software, Inc.
 
   This product is licensed to you under the Apache License, Version 2.0 (the "License").  
@@ -265,12 +265,12 @@ Copyright (c) [2012-2014] Pivotal Software, Inc.
   code for the these subcomponents is subject to the terms and
   conditions of the subcomponent's license, as noted in the LICENSE file.
 
-Spring LDAP Core 1.3.2
+Spring LDAP Core 2.1.0
 
    This product includes software developed by the Spring LDAP
    Project (http://www.springframework.org/ldap).
 
-Spring Shell 1.1.0
+Spring Shell 1.2.0
 
    This product includes software developed by the Spring Framework
    Project (http://www.springframework.org).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/geode-assembly/src/test/java/org/apache/geode/rest/internal/web/RestInterfaceJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-assembly/src/test/java/org/apache/geode/rest/internal/web/RestInterfaceJUnitTest.java b/geode-assembly/src/test/java/org/apache/geode/rest/internal/web/RestInterfaceJUnitTest.java
index 0d93518..4e3269e 100644
--- a/geode-assembly/src/test/java/org/apache/geode/rest/internal/web/RestInterfaceJUnitTest.java
+++ b/geode-assembly/src/test/java/org/apache/geode/rest/internal/web/RestInterfaceJUnitTest.java
@@ -16,15 +16,41 @@
  */
 package org.apache.geode.rest.internal.web;
 
+import static org.apache.geode.distributed.ConfigurationProperties.*;
+import static org.junit.Assert.*;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Properties;
+import java.util.Set;
+
+import javax.annotation.Resource;
+
 import com.fasterxml.jackson.core.JsonParser.Feature;
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import org.apache.geode.cache.*;
+import org.apache.geode.cache.Cache;
+import org.apache.geode.cache.CacheFactory;
+import org.apache.geode.cache.DataPolicy;
+import org.apache.geode.cache.Region;
+import org.apache.geode.cache.RegionFactory;
+import org.apache.geode.cache.RegionService;
 import org.apache.geode.internal.AvailablePortHelper;
 import org.apache.geode.internal.GemFireVersion;
 import org.apache.geode.internal.util.IOUtils;
 import org.apache.geode.management.internal.AgentUtil;
-import org.apache.geode.pdx.*;
+import org.apache.geode.pdx.PdxInstance;
+import org.apache.geode.pdx.PdxReader;
+import org.apache.geode.pdx.PdxSerializable;
+import org.apache.geode.pdx.PdxWriter;
+import org.apache.geode.pdx.ReflectionBasedAutoSerializer;
 import org.apache.geode.test.junit.categories.IntegrationTest;
 import org.junit.After;
 import org.junit.Before;
@@ -42,16 +68,6 @@ import org.springframework.util.StringUtils;
 import org.springframework.web.client.ResponseErrorHandler;
 import org.springframework.web.client.RestTemplate;
 
-import javax.annotation.Resource;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-import static org.apache.geode.distributed.ConfigurationProperties.*;
-import static org.junit.Assert.*;
-
 /**
  * The GemFireRestInterfaceTest class is a test suite of test cases testing the contract and functionality of the
  * GemFire Developer REST API, mixing Java clients, this test GemFire's Cache Region API, along with
@@ -60,8 +76,6 @@ import static org.junit.Assert.*;
  *
  * @see org.junit.Test
  * @see org.junit.runner.RunWith
- * @see org.springframework.test.context.ContextConfiguration
- * @see org.springframework.test.context.junit4.SpringJUnit4ClassRunner
  * @see org.springframework.web.client.RestTemplate
  * @see org.apache.geode.cache.Cache
  * @see org.apache.geode.cache.Region

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/geode-assembly/src/test/java/org/apache/geode/rest/internal/web/RestSecurityDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-assembly/src/test/java/org/apache/geode/rest/internal/web/RestSecurityDUnitTest.java b/geode-assembly/src/test/java/org/apache/geode/rest/internal/web/RestSecurityDUnitTest.java
index a9d90ed..7d232ce 100644
--- a/geode-assembly/src/test/java/org/apache/geode/rest/internal/web/RestSecurityDUnitTest.java
+++ b/geode-assembly/src/test/java/org/apache/geode/rest/internal/web/RestSecurityDUnitTest.java
@@ -26,10 +26,6 @@ import java.net.MalformedURLException;
 import java.net.URL;
 import java.nio.charset.StandardCharsets;
 
-import org.apache.geode.internal.AvailablePortHelper;
-import org.apache.geode.security.AbstractSecureServerDUnitTest;
-import org.apache.geode.test.junit.categories.DistributedTest;
-import org.apache.geode.test.junit.categories.SecurityTest;
 import org.apache.http.HttpEntity;
 import org.apache.http.HttpHost;
 import org.apache.http.HttpResponse;
@@ -43,6 +39,7 @@ import org.apache.http.client.methods.HttpGet;
 import org.apache.http.client.methods.HttpHead;
 import org.apache.http.client.methods.HttpPost;
 import org.apache.http.client.methods.HttpPut;
+import org.apache.http.client.methods.HttpRequestBase;
 import org.apache.http.client.protocol.HttpClientContext;
 import org.apache.http.entity.StringEntity;
 import org.apache.http.impl.auth.BasicScheme;
@@ -53,6 +50,11 @@ import org.apache.http.impl.client.HttpClients;
 import org.json.JSONTokener;
 import org.junit.experimental.categories.Category;
 
+import org.apache.geode.internal.AvailablePortHelper;
+import org.apache.geode.security.AbstractSecureServerDUnitTest;
+import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.SecurityTest;
+
 
 @Category({ DistributedTest.class, SecurityTest.class })
 public class RestSecurityDUnitTest extends AbstractSecureServerDUnitTest {
@@ -73,141 +75,24 @@ public class RestSecurityDUnitTest extends AbstractSecureServerDUnitTest {
   }
 
   protected HttpResponse doHEAD(String query, String username, String password) throws MalformedURLException {
-    HttpHost targetHost = new HttpHost(url.getHost(), url.getPort(), url.getProtocol());
-    HttpClientContext clientContext = HttpClientContext.create();
-    CredentialsProvider credsProvider = new BasicCredentialsProvider();
-    credsProvider.setCredentials(new AuthScope(targetHost.getHostName(), targetHost.getPort()), new UsernamePasswordCredentials(username, password));
-    CloseableHttpClient httpclient = HttpClients.custom().setDefaultCredentialsProvider(credsProvider).build();
-    AuthCache authCache = new BasicAuthCache();
-    BasicScheme basicAuth = new BasicScheme();
-    authCache.put(targetHost, basicAuth);
-    clientContext.setCredentialsProvider(credsProvider);
-    clientContext.setAuthCache(authCache);
-
     HttpHead httpHead = new HttpHead(CONTEXT + query);
-    try {
-      return httpclient.execute(targetHost, httpHead, clientContext);
-    } catch (ClientProtocolException e) {
-      e.printStackTrace();
-      fail("Rest HEAD should not have thrown ClientProtocolException!");
-    } catch (IOException e) {
-      e.printStackTrace();
-      fail("Rest HEAD Request should not have thrown IOException!");
-    }
-    return null;
+    return doRequest(httpHead, username, password);
   }
 
-  protected HttpResponse doGet(String query, String username, String password) throws MalformedURLException {
-    HttpHost targetHost = new HttpHost(url.getHost(), url.getPort(), url.getProtocol());
-    CloseableHttpClient httpclient = HttpClients.custom().build();
-    HttpClientContext clientContext = HttpClientContext.create();
-//    // if username or password are null or empty, do not put in authentication
-//    if (!(username == null
-//          || password == null
-//          || !username.isEmpty()
-//          || !password.isEmpty())) {
-      CredentialsProvider credsProvider = new BasicCredentialsProvider();
-      credsProvider.setCredentials(new AuthScope(targetHost.getHostName(), targetHost.getPort()), new UsernamePasswordCredentials(username, password));
-      httpclient = HttpClients.custom().setDefaultCredentialsProvider(credsProvider).build();
-      AuthCache authCache = new BasicAuthCache();
-      BasicScheme basicAuth = new BasicScheme();
-      authCache.put(targetHost, basicAuth);
-      clientContext.setCredentialsProvider(credsProvider);
-      clientContext.setAuthCache(authCache);
-//    }
-
-    HttpGet getRequest = new HttpGet(CONTEXT + query);
-    try {
-      return httpclient.execute(targetHost, getRequest, clientContext);
-    } catch (ClientProtocolException e) {
-      e.printStackTrace();
-      fail("Rest GET should not have thrown ClientProtocolException!");
-    } catch (IOException e) {
-      e.printStackTrace();
-      fail("Rest GET Request should not have thrown IOException!");
-    }
-    return null;
-  }
-
-  protected HttpResponse doDelete(String query, String username, String password) throws MalformedURLException {
-    HttpHost targetHost = new HttpHost(url.getHost(), url.getPort(), url.getProtocol());
-    CredentialsProvider credsProvider = new BasicCredentialsProvider();
-    credsProvider.setCredentials(new AuthScope(targetHost.getHostName(), targetHost.getPort()), new UsernamePasswordCredentials(username, password));
-    CloseableHttpClient httpclient = HttpClients.custom().setDefaultCredentialsProvider(credsProvider).build();
-    AuthCache authCache = new BasicAuthCache();
-    BasicScheme basicAuth = new BasicScheme();
-    authCache.put(targetHost, basicAuth);
-
-    HttpClientContext clientContext = HttpClientContext.create();
-    clientContext.setCredentialsProvider(credsProvider);
-    clientContext.setAuthCache(authCache);
-
-    HttpDelete httpDelete = new HttpDelete(CONTEXT + query);
-    try {
-      return httpclient.execute(targetHost, httpDelete, clientContext);
-    } catch (ClientProtocolException e) {
-      e.printStackTrace();
-      fail("Rest DELETE Request should not have thrown ClientProtocolException!");
-    } catch (IOException e) {
-      e.printStackTrace();
-      fail("Rest DELETE Request should not have thrown IOException!");
-    }
-    return null;
-  }
 
   protected HttpResponse doPost(String query, String username, String password, String body) throws MalformedURLException {
-    HttpHost targetHost = new HttpHost(url.getHost(), url.getPort(), url.getProtocol());
-    CredentialsProvider credsProvider = new BasicCredentialsProvider();
-    credsProvider.setCredentials(new AuthScope(targetHost.getHostName(), targetHost.getPort()), new UsernamePasswordCredentials(username, password));
-    CloseableHttpClient httpclient = HttpClients.custom().setDefaultCredentialsProvider(credsProvider).build();
-    AuthCache authCache = new BasicAuthCache();
-    BasicScheme basicAuth = new BasicScheme();
-    authCache.put(targetHost, basicAuth);
-
-    HttpClientContext clientContext = HttpClientContext.create();
-    clientContext.setCredentialsProvider(credsProvider);
-    clientContext.setAuthCache(authCache);
-
     HttpPost httpPost = new HttpPost(CONTEXT + query);
     httpPost.addHeader("content-type", "application/json");
     httpPost.setEntity(new StringEntity(body, StandardCharsets.UTF_8));
-    try {
-      return httpclient.execute(targetHost, httpPost, clientContext);
-    } catch (ClientProtocolException e) {
-      e.printStackTrace();
-      fail("Rest POST Request should not have thrown ClientProtocolException!");
-    } catch (IOException e) {
-      e.printStackTrace();
-      fail("Rest POST Request should not have thrown IOException!");
-    }
-    return null;
+    return doRequest(httpPost, username, password);
   }
-  protected HttpResponse doPut(String query, String username, String password, String body) throws MalformedURLException {
-    HttpHost targetHost = new HttpHost(url.getHost(), url.getPort(), url.getProtocol());
-    CredentialsProvider credsProvider = new BasicCredentialsProvider();
-    credsProvider.setCredentials(new AuthScope(targetHost.getHostName(), targetHost.getPort()), new UsernamePasswordCredentials(username, password));
-    CloseableHttpClient httpclient = HttpClients.custom().setDefaultCredentialsProvider(credsProvider).build();
-    AuthCache authCache = new BasicAuthCache();
-    BasicScheme basicAuth = new BasicScheme();
-    authCache.put(targetHost, basicAuth);
 
-    HttpClientContext clientContext = HttpClientContext.create();
-    clientContext.setCredentialsProvider(credsProvider);
-    clientContext.setAuthCache(authCache);
 
+  protected HttpResponse doPut(String query, String username, String password, String body) throws MalformedURLException {
     HttpPut httpPut = new HttpPut(CONTEXT + query);
     httpPut.addHeader("content-type", "application/json");
     httpPut.setEntity(new StringEntity(body, StandardCharsets.UTF_8));
-    try {
-      return httpclient.execute(targetHost, httpPut, clientContext);
-    } catch (ClientProtocolException e) {
-      e.printStackTrace();
-      fail("Rest PUT Request should not have thrown ClientProtocolException!");
-    } catch (IOException e) {
-      e.printStackTrace();
-      fail("Rest PUT Request should not have thrown IOException!");
-    }
-    return null;
+    return doRequest(httpPut, username, password);
   }
 
   /**
@@ -254,4 +139,42 @@ public class RestSecurityDUnitTest extends AbstractSecureServerDUnitTest {
     }
     return new JSONTokener(str.toString());
   }
+
+  protected HttpResponse doGet(String uri, String username, String password) throws MalformedURLException {
+    HttpGet getRequest = new HttpGet(CONTEXT + uri);
+    return doRequest(getRequest, username, password);
+  }
+
+  protected HttpResponse doDelete(String uri, String username, String password) throws MalformedURLException {
+    HttpDelete httpDelete = new HttpDelete(CONTEXT + uri);
+    return doRequest(httpDelete, username, password);
+  }
+
+  private HttpResponse doRequest(HttpRequestBase request, String username, String password) throws MalformedURLException {
+    HttpHost targetHost = new HttpHost(HOSTNAME, this.restPort, PROTOCOL);
+    CloseableHttpClient httpclient = HttpClients.custom().build();
+    HttpClientContext clientContext = HttpClientContext.create();
+    // if username is null, do not put in authentication
+    if (username != null) {
+      CredentialsProvider credsProvider = new BasicCredentialsProvider();
+      credsProvider.setCredentials(new AuthScope(targetHost.getHostName(), targetHost.getPort()), new UsernamePasswordCredentials(username, password));
+      httpclient = HttpClients.custom().setDefaultCredentialsProvider(credsProvider).build();
+      AuthCache authCache = new BasicAuthCache();
+      BasicScheme basicAuth = new BasicScheme();
+      authCache.put(targetHost, basicAuth);
+      clientContext.setCredentialsProvider(credsProvider);
+      clientContext.setAuthCache(authCache);
+    }
+
+    try {
+      return httpclient.execute(targetHost, request, clientContext);
+    } catch (ClientProtocolException e) {
+      e.printStackTrace();
+      fail("Rest GET should not have thrown ClientProtocolException!");
+    } catch (IOException e) {
+      e.printStackTrace();
+      fail("Rest GET Request should not have thrown IOException!");
+    }
+    return null;
+  }
 }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/geode-assembly/src/test/resources/expected_jars.txt
----------------------------------------------------------------------
diff --git a/geode-assembly/src/test/resources/expected_jars.txt b/geode-assembly/src/test/resources/expected_jars.txt
index 939464a..76f4b86 100644
--- a/geode-assembly/src/test/resources/expected_jars.txt
+++ b/geode-assembly/src/test/resources/expected_jars.txt
@@ -17,6 +17,7 @@ guava
 jackson-annotations
 jackson-core
 jackson-databind
+jackson-module-paranamer
 jackson-module-scala
 jansi
 javax.mail-api

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/geode-core/build.gradle
----------------------------------------------------------------------
diff --git a/geode-core/build.gradle b/geode-core/build.gradle
index 3cbdfbe..067bafc 100755
--- a/geode-core/build.gradle
+++ b/geode-core/build.gradle
@@ -87,6 +87,9 @@ dependencies {
     exclude module: 'spring-aop'
     ext.optional = true
   }
+  compile ('org.springframework:spring-core:' + project.'springframework.version') {
+    ext.optional = true
+  }
   compile ('org.springframework.shell:spring-shell:' + project.'spring-shell.version') {
     exclude module: 'aopalliance'
     exclude module: 'asm'

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/geode-core/src/test/java/org/apache/geode/management/internal/cli/shell/GfshInitFileJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/shell/GfshInitFileJUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/shell/GfshInitFileJUnitTest.java
index 9e7b7bf..233859c 100755
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/shell/GfshInitFileJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/shell/GfshInitFileJUnitTest.java
@@ -366,12 +366,10 @@ public class GfshInitFileJUnitTest {
     int expectedStatus = 0;
     assertNotEquals("Status <0==failure", expectedStatus, actualStatus);
 
-    int expectedLogCount = BANNER_LINES + INIT_FILE_CITATION_LINES + 1;
+    // after upgrading to Spring-shell 1.2, the bad command exception is logged as well
+    int expectedLogCount = BANNER_LINES + INIT_FILE_CITATION_LINES + 2;
     assertEquals("Log records written", expectedLogCount,
         this.junitLoggerHandler.getLog().size());
-    for (LogRecord logRecord : this.junitLoggerHandler.getLog()) {
-      assertNull("No exceptions in log", logRecord.getThrown());
-    }
   }
 
   @Test
@@ -399,12 +397,10 @@ public class GfshInitFileJUnitTest {
     int expectedStatus = 0;
     assertNotEquals("Status <0==failure", expectedStatus, actualStatus);
 
-    int expectedLogCount = BANNER_LINES + INIT_FILE_CITATION_LINES + 1;
+    // after upgrading to Spring-shell 1.2, the bad command exception is logged as well
+    int expectedLogCount = BANNER_LINES + INIT_FILE_CITATION_LINES + 2;
     assertEquals("Log records written", expectedLogCount,
         this.junitLoggerHandler.getLog().size());
-    for (LogRecord logRecord : this.junitLoggerHandler.getLog()) {
-      assertNull("No exceptions in log", logRecord.getThrown());
-    }
   }
 
   @Test
@@ -433,12 +429,10 @@ public class GfshInitFileJUnitTest {
     int expectedStatus = 0;
     assertNotEquals("Status <0==failure", expectedStatus, actualStatus);
 
-    int expectedLogCount = BANNER_LINES + INIT_FILE_CITATION_LINES + 1;
+    // after upgrading to Spring-shell 1.2, the bad command exception is logged as well
+    int expectedLogCount = BANNER_LINES + INIT_FILE_CITATION_LINES + 2;
     assertEquals("Log records written", expectedLogCount,
         this.junitLoggerHandler.getLog().size());
-    for (LogRecord logRecord : this.junitLoggerHandler.getLog()) {
-      assertNull("No exceptions in log", logRecord.getThrown());
-    }
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/geode-core/src/test/java/org/apache/geode/security/AbstractSecureServerDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/security/AbstractSecureServerDUnitTest.java b/geode-core/src/test/java/org/apache/geode/security/AbstractSecureServerDUnitTest.java
index 435b426..d2e4440 100644
--- a/geode-core/src/test/java/org/apache/geode/security/AbstractSecureServerDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/security/AbstractSecureServerDUnitTest.java
@@ -80,7 +80,6 @@ public class AbstractSecureServerDUnitTest extends JUnit4CacheTestCase {
     Properties props = new Properties();
     props.setProperty(SampleSecurityManager.SECURITY_JSON, "org/apache/geode/management/internal/security/clientServer.json");
     props.setProperty(SECURITY_MANAGER, SampleSecurityManager.class.getName());
-//    props.setProperty(SECURITY_SHIRO_INIT, "shiro.ini");
     props.setProperty(LOCATORS, "");
     props.setProperty(MCAST_PORT, "0");
     if (postProcessor!=null) {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/geode-pulse/src/main/java/org/apache/geode/tools/pulse/internal/security/GemFireAuthentication.java
----------------------------------------------------------------------
diff --git a/geode-pulse/src/main/java/org/apache/geode/tools/pulse/internal/security/GemFireAuthentication.java b/geode-pulse/src/main/java/org/apache/geode/tools/pulse/internal/security/GemFireAuthentication.java
index 425f5a5..65f563d 100644
--- a/geode-pulse/src/main/java/org/apache/geode/tools/pulse/internal/security/GemFireAuthentication.java
+++ b/geode-pulse/src/main/java/org/apache/geode/tools/pulse/internal/security/GemFireAuthentication.java
@@ -72,7 +72,7 @@ public class GemFireAuthentication extends UsernamePasswordAuthenticationToken {
         String[] signature = new String[] { String.class.getCanonicalName(), String.class.getCanonicalName() };
         boolean result = (Boolean) mbeanServer.invoke(name, "authorize", params, signature);
         if (result) {
-          authorities.add(new SimpleGrantedAuthority(role));
+          authorities.add(new SimpleGrantedAuthority("ROLE_"+role));
         }
       }
     }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/geode-pulse/src/main/java/org/apache/geode/tools/pulse/internal/security/GemFireAuthenticationProvider.java
----------------------------------------------------------------------
diff --git a/geode-pulse/src/main/java/org/apache/geode/tools/pulse/internal/security/GemFireAuthenticationProvider.java b/geode-pulse/src/main/java/org/apache/geode/tools/pulse/internal/security/GemFireAuthenticationProvider.java
index f4575cc..f117ded 100644
--- a/geode-pulse/src/main/java/org/apache/geode/tools/pulse/internal/security/GemFireAuthenticationProvider.java
+++ b/geode-pulse/src/main/java/org/apache/geode/tools/pulse/internal/security/GemFireAuthenticationProvider.java
@@ -40,7 +40,6 @@ public class GemFireAuthenticationProvider implements AuthenticationProvider {
   private final static PulseLogWriter LOGGER = PulseLogWriter.getLogger();
 
   public GemFireAuthenticationProvider() {
-    System.out.println("here");
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/geode-pulse/src/main/java/org/apache/geode/tools/pulse/internal/service/MemberGatewayHubService.java
----------------------------------------------------------------------
diff --git a/geode-pulse/src/main/java/org/apache/geode/tools/pulse/internal/service/MemberGatewayHubService.java b/geode-pulse/src/main/java/org/apache/geode/tools/pulse/internal/service/MemberGatewayHubService.java
index 51abb3f..6517d2c 100644
--- a/geode-pulse/src/main/java/org/apache/geode/tools/pulse/internal/service/MemberGatewayHubService.java
+++ b/geode-pulse/src/main/java/org/apache/geode/tools/pulse/internal/service/MemberGatewayHubService.java
@@ -19,6 +19,12 @@
 
 package org.apache.geode.tools.pulse.internal.service;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ArrayNode;
@@ -30,11 +36,6 @@ import org.springframework.context.annotation.Scope;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Service;
 
-import javax.servlet.http.HttpServletRequest;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
 /**
  * Class MemberGatewayHubService
  * 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/geode-pulse/src/main/webapp/Login.html
----------------------------------------------------------------------
diff --git a/geode-pulse/src/main/webapp/Login.html b/geode-pulse/src/main/webapp/Login.html
index f22490f..2ca512f 100644
--- a/geode-pulse/src/main/webapp/Login.html
+++ b/geode-pulse/src/main/webapp/Login.html
@@ -86,10 +86,10 @@ $(function(){
       <div id="errorText" class="errorInnerIcon"> </div>
     </div>
     <div class="loginInnerBlock">
-    <form method="POST" action="j_spring_security_check" name="loginForm" id="loginForm" autocomplete="off">
-      <input class="inputUserName" type="text" name="j_username" id="user_name"  placeholder="Username" autofocus="autofocus" autocomplete="off">
+    <form method="POST" action="login" name="loginForm" id="loginForm" autocomplete="off">
+      <input class="inputUserName" type="text" name="username" id="user_name"  placeholder="Username" autofocus="autofocus" autocomplete="off">
       <input style="display:none;" type="password" id="fool_password" autocomplete="off">
-      <input class="inputPassword" type="password" name="j_password" id="user_password" placeholder="Password" autocomplete="off">
+      <input class="inputPassword" type="password" name="password" id="user_password" placeholder="Password" autocomplete="off">
       <!-- Locator host and port are removed for a time -->
       <!-- <input class="inputUserName" type="text" name="locator_host" id="locator_host" placeholder="Host">
       <input class="inputUserName" type="text" name="locator_port" id="locator_port" placeholder="Port">-->

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/geode-pulse/src/main/webapp/META-INF/NOTICE
----------------------------------------------------------------------
diff --git a/geode-pulse/src/main/webapp/META-INF/NOTICE b/geode-pulse/src/main/webapp/META-INF/NOTICE
index 40f9fc8..5ee5073 100644
--- a/geode-pulse/src/main/webapp/META-INF/NOTICE
+++ b/geode-pulse/src/main/webapp/META-INF/NOTICE
@@ -20,7 +20,7 @@ Copyright 2016 AddThis
 This product includes software developed by the MX4J
 project (http://mx4j.sourceforge.net).
 
-Jackson Core 2.2.0
+Jackson Core 2.8.0
 
   # Jackson JSON processor
   
@@ -43,7 +43,7 @@ Jackson Core 2.2.0
   in some artifacts (usually source distributions); but is always available
   from the source code management (SCM) system project uses.
 
-Spring Framework 4.2.4.RELEASE
+Spring Framework 4.3.2.RELEASE
 Copyright (c) 2002-2015 Pivotal, Inc.
 
   This product is licensed to you under the Apache License, Version 2.0
@@ -55,7 +55,7 @@ Copyright (c) 2002-2015 Pivotal, Inc.
   these subcomponents is subject to the terms and conditions of the
   subcomponent's license, as noted in the license.txt file.
 
-Spring LDAP Core 1.3.2.RELEASE
+Spring LDAP Core 2.1.0.RELEASE
 
    This product includes software developed by the Spring LDAP
    Project (http://www.springframework.org/ldap).

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/geode-pulse/src/main/webapp/WEB-INF/mvc-dispatcher-servlet.xml
----------------------------------------------------------------------
diff --git a/geode-pulse/src/main/webapp/WEB-INF/mvc-dispatcher-servlet.xml b/geode-pulse/src/main/webapp/WEB-INF/mvc-dispatcher-servlet.xml
index cb7181d..8cdbac9 100644
--- a/geode-pulse/src/main/webapp/WEB-INF/mvc-dispatcher-servlet.xml
+++ b/geode-pulse/src/main/webapp/WEB-INF/mvc-dispatcher-servlet.xml
@@ -21,15 +21,15 @@
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="
         http://www.springframework.org/schema/beans     
-        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
+        http://www.springframework.org/schema/beans/spring-beans.xsd
         http://www.springframework.org/schema/context 
-        http://www.springframework.org/schema/context/spring-context-3.2.xsd
+        http://www.springframework.org/schema/context/spring-context.xsd
         http://www.springframework.org/schema/mvc
-        http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">
+        http://www.springframework.org/schema/mvc/spring-mvc.xsd">
  
     
     <context:component-scan base-package="org.apache.geode.tools.pulse.internal" />
 
     <mvc:annotation-driven />
      
-</beans>
\ No newline at end of file
+</beans>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/geode-pulse/src/main/webapp/WEB-INF/spring-security.xml
----------------------------------------------------------------------
diff --git a/geode-pulse/src/main/webapp/WEB-INF/spring-security.xml b/geode-pulse/src/main/webapp/WEB-INF/spring-security.xml
index 924dd50..7efc356 100644
--- a/geode-pulse/src/main/webapp/WEB-INF/spring-security.xml
+++ b/geode-pulse/src/main/webapp/WEB-INF/spring-security.xml
@@ -20,13 +20,12 @@
 	xmlns:context="http://www.springframework.org/schema/context"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xsi:schemaLocation="http://www.springframework.org/schema/beans
-	http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
+	http://www.springframework.org/schema/beans/spring-beans.xsd
 	http://www.springframework.org/schema/security
-	http://www.springframework.org/schema/security/spring-security-3.2.xsd
-	http://www.springframework.org/schema/context
-	http://www.springframework.org/schema/context/spring-context-3.2.xsd">
+	http://www.springframework.org/schema/security/spring-security.xsd">
 
 	<http auto-config="true" use-expressions="true">
+		<csrf disabled="true"/>
 		<!-- Can be invoked w/o auth -->
 		<intercept-url pattern="/Login.html" access="permitAll"  />
 		<intercept-url pattern="/pulse/pulseVersion" access="permitAll" />
@@ -34,8 +33,7 @@
 		<intercept-url pattern="/pulse/pulseProductSupport" access="permitAll" />
 		<!-- Can be invoked w/o auth -->
 
-		<!-- Restricted urls -->		
-		<intercept-url pattern="/DataBrowser.html" access="hasRole('CLUSTER:READ') and hasRole('DATA:READ')" />
+		<!-- Restricted urls -->
 		<intercept-url pattern="/clusterDetail.html" access="hasRole('CLUSTER:READ')" />
 		<intercept-url pattern="/MemberDetails.html" access="hasRole('CLUSTER:READ')" />
 		<intercept-url pattern="/regionDetail.html" access="hasRole('CLUSTER:READ')" />
@@ -76,13 +74,14 @@
 		class="org.apache.geode.tools.pulse.internal.security.GemFireAuthenticationProvider">
   	</beans:bean>
 
-	
+
 	<!-- Default user authentication -->
 	<beans:beans profile="pulse.authentication.default">
 		<authentication-manager>
 			<authentication-provider>
 				<user-service>
-					<user name="admin" password="admin" authorities="CLUSTER:READ,DATA:READ" />
+					<user name="admin" password="admin"
+										authorities="ROLE_CLUSTER:READ,ROLE_DATA:READ"/>
 				</user-service>
 			</authentication-provider>
 		</authentication-manager>
@@ -100,4 +99,4 @@
 		<beans:import resource="classpath:pulse-authentication-custom.xml" />
 	</beans:beans>
    
-</beans:beans>
\ No newline at end of file
+</beans:beans>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/geode-pulse/src/test/java/org/apache/geode/tools/pulse/tests/PulseAuthTest.java
----------------------------------------------------------------------
diff --git a/geode-pulse/src/test/java/org/apache/geode/tools/pulse/tests/PulseAuthTest.java b/geode-pulse/src/test/java/org/apache/geode/tools/pulse/tests/PulseAuthTest.java
index a77e0ca..b292a2a 100644
--- a/geode-pulse/src/test/java/org/apache/geode/tools/pulse/tests/PulseAuthTest.java
+++ b/geode-pulse/src/test/java/org/apache/geode/tools/pulse/tests/PulseAuthTest.java
@@ -28,6 +28,6 @@ public class PulseAuthTest extends PulseAbstractTest {
 
   @BeforeClass
   public static void beforeClassSetup() throws Exception {
-    setUpServer("pulseUser", "12345", "/pulse-auth.json");
+    setUpServer("pulseUser", "12345", "pulse-auth.json");
   }
 }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/geode-pulse/src/test/java/org/apache/geode/tools/pulse/tests/PulseAutomatedTest.java
----------------------------------------------------------------------
diff --git a/geode-pulse/src/test/java/org/apache/geode/tools/pulse/tests/PulseAutomatedTest.java b/geode-pulse/src/test/java/org/apache/geode/tools/pulse/tests/PulseAutomatedTest.java
index a4f14f8..778acf9 100644
--- a/geode-pulse/src/test/java/org/apache/geode/tools/pulse/tests/PulseAutomatedTest.java
+++ b/geode-pulse/src/test/java/org/apache/geode/tools/pulse/tests/PulseAutomatedTest.java
@@ -48,7 +48,7 @@ public class PulseAutomatedTest extends PulseAbstractTest {
 
 	@BeforeClass
 	public static void beforeClassSetup() throws Exception {
-		setUpServer("pulseUser", "12345", "/pulse-auth.json");
+		setUpServer("pulseUser", "12345", "pulse-auth.json");
 	}
 
 	@Test

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/geode-web-api/build.gradle
----------------------------------------------------------------------
diff --git a/geode-web-api/build.gradle b/geode-web-api/build.gradle
index 3ea652b..e823ed3 100755
--- a/geode-web-api/build.gradle
+++ b/geode-web-api/build.gradle
@@ -57,6 +57,7 @@ dependencies {
   compile 'org.springframework.security:spring-security-core:' + project.'spring-security.version'
   compile 'org.springframework.security:spring-security-web:' + project.'spring-security.version'
   compile 'org.springframework.security:spring-security-config:' + project.'spring-security.version'
+  compile 'org.springframework:spring-webmvc:' + project.'springframework.version'
   compile ('org.springframework.hateoas:spring-hateoas:' + project.'spring-hateoas.version') {
     exclude module: 'aopalliance'
     exclude module: 'commons-logging'

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/geode-web-api/src/main/java/org/apache/geode/rest/internal/web/util/JSONUtils.java
----------------------------------------------------------------------
diff --git a/geode-web-api/src/main/java/org/apache/geode/rest/internal/web/util/JSONUtils.java b/geode-web-api/src/main/java/org/apache/geode/rest/internal/web/util/JSONUtils.java
index ccf3b9d..64d4261 100644
--- a/geode-web-api/src/main/java/org/apache/geode/rest/internal/web/util/JSONUtils.java
+++ b/geode-web-api/src/main/java/org/apache/geode/rest/internal/web/util/JSONUtils.java
@@ -18,8 +18,8 @@
 package org.apache.geode.rest.internal.web.util;
 
 import java.io.IOException;
+import java.io.OutputStream;
 import java.util.Collection;
-import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicReference;
 
@@ -28,14 +28,12 @@ import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.core.JsonGenerator.Feature;
 import com.fasterxml.jackson.core.util.DefaultPrettyPrinter;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import org.apache.geode.cache.Region;
-import org.apache.geode.cache.query.internal.StructImpl;
-import org.apache.geode.internal.HeapDataOutputStream;
 import org.json.JSONException;
-
-import org.springframework.hateoas.Link;
 import org.springframework.util.Assert;
 
+import org.apache.geode.cache.Region;
+import org.apache.geode.internal.HeapDataOutputStream;
+
 /**
  * The JSONUtils class is a utility class for getting JSON equivalent from Java types.
  *
@@ -66,7 +64,7 @@ public abstract class JSONUtils {
     HeapDataOutputStream outputStream = new HeapDataOutputStream(org.apache.geode.internal.Version.CURRENT);
     try {
       JsonGenerator generator = enableDisableJSONGeneratorFeature(getObjectMapper().getFactory()
-        .createGenerator(outputStream, JsonEncoding.UTF8));
+        .createGenerator((OutputStream)outputStream, JsonEncoding.UTF8));
       generator.writeStartObject();
       generator.writeFieldName("functions");
       JsonWriter.writeCollectionAsJson(generator, functionIds);
@@ -80,28 +78,12 @@ public abstract class JSONUtils {
     }
   }
 
-  public static String formulateJsonForListCall(Map<String, Link> LinksByName, String keyName, String fieldName) {
-    HeapDataOutputStream outputStream = new HeapDataOutputStream(org.apache.geode.internal.Version.CURRENT);
-
-    try {
-      JsonGenerator generator = enableDisableJSONGeneratorFeature(getObjectMapper().getFactory()
-        .createGenerator(outputStream, JsonEncoding.UTF8));
-      JsonWriter.writeListAsJson(generator, LinksByName, keyName, fieldName);
-      generator.close();
-      return new String(outputStream.toByteArray());
-    } catch (IOException e) {
-      throw new RuntimeException(e.getMessage());
-    } finally {
-      outputStream.close();
-    }
-  }
-
   public static String formulateJsonForListKeys(Object[] keys, String fieldName) {
     HeapDataOutputStream outputStream = new HeapDataOutputStream(org.apache.geode.internal.Version.CURRENT);
 
     try {
       JsonGenerator generator = enableDisableJSONGeneratorFeature(getObjectMapper().getFactory()
-        .createGenerator(outputStream, JsonEncoding.UTF8));
+        .createGenerator((OutputStream)outputStream, JsonEncoding.UTF8));
       generator.writeStartObject();
       generator.writeFieldName(fieldName);
       JsonWriter.writeObjectArrayAsJson(generator, keys, null);
@@ -120,7 +102,7 @@ public abstract class JSONUtils {
 
     try {
       JsonGenerator generator = enableDisableJSONGeneratorFeature(getObjectMapper().getFactory()
-        .createGenerator(outputStream, JsonEncoding.UTF8));
+        .createGenerator((OutputStream)outputStream, JsonEncoding.UTF8));
       generator.writeStartObject();
       generator.writeFieldName(fieldName);
       JsonWriter.writeRegionSetAsJson(generator, regions);
@@ -134,46 +116,12 @@ public abstract class JSONUtils {
     }
   }
 
-  public static String formulateJsonForGetOnKey(Object value) throws JSONException {
-    HeapDataOutputStream outputStream = new HeapDataOutputStream(org.apache.geode.internal.Version.CURRENT);
-
-    try {
-      JsonGenerator generator = enableDisableJSONGeneratorFeature(getObjectMapper().getFactory()
-        .createGenerator(outputStream, JsonEncoding.UTF8));
-      JsonWriter.writeValueAsJson(generator, value, "GET_ON_KEY_RESPONSE");
-      generator.close();
-      return new String(outputStream.toByteArray());
-    } catch (IOException e) {
-      throw new RuntimeException(e.getMessage());
-    } finally {
-      outputStream.close();
-    }
-  }
-
-  public static String formulateJsonForGetOnMultipleKey(Collection<Object> collection, String regionName) throws JSONException {
-    HeapDataOutputStream outputStream = new HeapDataOutputStream(org.apache.geode.internal.Version.CURRENT);
-
-    try {
-      JsonGenerator generator = enableDisableJSONGeneratorFeature(getObjectMapper().getFactory()
-        .createGenerator(outputStream, JsonEncoding.UTF8));
-      generator.writeStartObject();
-      generator.writeFieldName(regionName);
-      JsonWriter.writeCollectionAsJson(generator, collection);
-      generator.writeEndObject();
-      generator.close();
-      return new String(outputStream.toByteArray());
-    } catch (IOException e) {
-      throw new RuntimeException(e.getMessage());
-    } finally {
-      outputStream.close();
-    }
-  }
 
   public static String formulateJsonForListQueriesCall(Region<String, String> queryRegion) {
     HeapDataOutputStream outputStream = new HeapDataOutputStream(org.apache.geode.internal.Version.CURRENT);
     try {
       JsonGenerator generator = enableDisableJSONGeneratorFeature(getObjectMapper().getFactory()
-        .createGenerator(outputStream, JsonEncoding.UTF8));
+        .createGenerator((OutputStream)outputStream, JsonEncoding.UTF8));
       JsonWriter.writeQueryListAsJson(generator, "queries", queryRegion);
       generator.close();
       return new String(outputStream.toByteArray());
@@ -189,7 +137,7 @@ public abstract class JSONUtils {
 
     try {
       JsonGenerator generator = enableDisableJSONGeneratorFeature(getObjectMapper().getFactory()
-        .createGenerator(outputStream, JsonEncoding.UTF8));
+        .createGenerator((OutputStream)outputStream, JsonEncoding.UTF8));
       JsonWriter.writeQueryAsJson(generator, queryId, oql);
       generator.close();
       return new String(outputStream.toByteArray());
@@ -205,7 +153,7 @@ public abstract class JSONUtils {
 
     try {
       JsonGenerator generator = enableDisableJSONGeneratorFeature(getObjectMapper().getFactory()
-        .createGenerator(outputStream, JsonEncoding.UTF8));
+        .createGenerator((OutputStream)outputStream, JsonEncoding.UTF8));
       JsonWriter.writeCollectionAsJson(generator, collection);
       generator.close();
       return new String(outputStream.toByteArray());
@@ -215,37 +163,4 @@ public abstract class JSONUtils {
       outputStream.close();
     }
   }
-
-  public static String convertMapToJson(Map<?, ?> map) throws JSONException {
-    HeapDataOutputStream outputStream = new HeapDataOutputStream(org.apache.geode.internal.Version.CURRENT);
-
-    try {
-      JsonGenerator generator = enableDisableJSONGeneratorFeature(getObjectMapper().getFactory()
-        .createGenerator(outputStream, JsonEncoding.UTF8));
-      JsonWriter.writeMapAsJson(generator, map, null);
-      generator.close();
-      return new String(outputStream.toByteArray());
-    } catch (IOException e) {
-      throw new RuntimeException(e.getMessage());
-    } finally {
-      outputStream.close();
-    }
-  }
-
-  public static String convertStructToJson(StructImpl structSet) throws JSONException {
-    HeapDataOutputStream outputStream = new HeapDataOutputStream(org.apache.geode.internal.Version.CURRENT);
-
-    try {
-      JsonGenerator generator = enableDisableJSONGeneratorFeature(getObjectMapper().getFactory()
-        .createGenerator(outputStream, JsonEncoding.UTF8));
-      JsonWriter.writeStructAsJson(generator, structSet);
-      generator.close();
-      return new String(outputStream.toByteArray());
-    } catch (IOException e) {
-      throw new RuntimeException(e.getMessage());
-    } finally {
-      outputStream.close();
-    }
-  }
-
 }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/geode-web-api/src/main/java/org/apache/geode/rest/internal/web/util/JsonWriter.java
----------------------------------------------------------------------
diff --git a/geode-web-api/src/main/java/org/apache/geode/rest/internal/web/util/JsonWriter.java b/geode-web-api/src/main/java/org/apache/geode/rest/internal/web/util/JsonWriter.java
index 1fcffbd..85bcd98 100644
--- a/geode-web-api/src/main/java/org/apache/geode/rest/internal/web/util/JsonWriter.java
+++ b/geode-web-api/src/main/java/org/apache/geode/rest/internal/web/util/JsonWriter.java
@@ -109,27 +109,27 @@ public class JsonWriter {
       
     generator.writeEndObject();
   }
-  
+
   public static void writeListAsJson(JsonGenerator generator, Map map, String name, String fieldName) throws JsonGenerationException, IOException{
-    
+
     generator.writeStartObject();
     generator.writeFieldName(name);
-    
+
     //introspect the Map and write its value into desired format
     generator.writeStartArray();
     Iterator iter = (Iterator) map.entrySet().iterator();
     while(iter.hasNext()) {
-      
+
       Map.Entry entry = (Map.Entry) iter.next();
       generator.writeStartObject();
       //Iterate over Map and write key-value
-      generator.writeFieldName(fieldName); 
+      generator.writeFieldName(fieldName);
       generator.writeString(entry.getKey().toString());
-      
+
       writeValueAsJson(generator, entry.getValue(), name);
-      generator.writeEndObject();  
+      generator.writeEndObject();
     }
-    
+
     generator.writeEndArray();
     generator.writeEndObject();
   }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/geode-web-api/src/main/webapp/META-INF/NOTICE
----------------------------------------------------------------------
diff --git a/geode-web-api/src/main/webapp/META-INF/NOTICE b/geode-web-api/src/main/webapp/META-INF/NOTICE
index 2f4da6e..e09ef37 100644
--- a/geode-web-api/src/main/webapp/META-INF/NOTICE
+++ b/geode-web-api/src/main/webapp/META-INF/NOTICE
@@ -26,7 +26,7 @@ Java ClassMate library was originally written by Tatu Saloranta (tatu.saloranta@
   
   * Brian Langel
 
-Jackson Core 2.2.0
+Jackson Core 2.8.2
 
   # Jackson JSON processor
   
@@ -49,7 +49,7 @@ Jackson Core 2.2.0
   in some artifacts (usually source distributions); but is always available
   from the source code management (SCM) system project uses.
 
-Spring Framework 4.2.4.RELEASE
+Spring Framework 4.3.2.RELEASE
 Copyright (c) 2002-2015 Pivotal, Inc.
 
   This product is licensed to you under the Apache License, Version 2.0
@@ -61,7 +61,7 @@ Copyright (c) 2002-2015 Pivotal, Inc.
   these subcomponents is subject to the terms and conditions of the
   subcomponent's license, as noted in the license.txt file.
 
-Spring Hateoas 0.12
+Spring Hateoas 0.21.0
 Copyright (c) [2012-2014] Pivotal Software, Inc.
 
   This product is licensed to you under the Apache License, Version 2.0 (the "License").  

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/geode-web-api/src/main/webapp/WEB-INF/geode-servlet.xml
----------------------------------------------------------------------
diff --git a/geode-web-api/src/main/webapp/WEB-INF/geode-servlet.xml b/geode-web-api/src/main/webapp/WEB-INF/geode-servlet.xml
index c75d975..48c1df7 100644
--- a/geode-web-api/src/main/webapp/WEB-INF/geode-servlet.xml
+++ b/geode-web-api/src/main/webapp/WEB-INF/geode-servlet.xml
@@ -18,16 +18,18 @@ limitations under the License.
 <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:mvc="http://www.springframework.org/schema/mvc"
-       xmlns:oxm="http://www.springframework.org/schema/oxm"
        xmlns:p="http://www.springframework.org/schema/p"
        xmlns:util="http://www.springframework.org/schema/util"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="
-        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
-        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
-        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
-        http://www.springframework.org/schema/oxm http://www.springframework.org/schema/oxm/spring-oxm-3.2.xsd
-        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd
+        http://www.springframework.org/schema/beans
+        http://www.springframework.org/schema/beans/spring-beans.xsd
+        http://www.springframework.org/schema/context
+        http://www.springframework.org/schema/context/spring-context.xsd
+        http://www.springframework.org/schema/mvc
+        http://www.springframework.org/schema/mvc/spring-mvc.xsd
+        http://www.springframework.org/schema/util
+        http://www.springframework.org/schema/util/spring-util.xsd
   ">
   <context:annotation-config />
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/geode-web/src/main/webapp/META-INF/NOTICE
----------------------------------------------------------------------
diff --git a/geode-web/src/main/webapp/META-INF/NOTICE b/geode-web/src/main/webapp/META-INF/NOTICE
index dd46891..f89291d 100644
--- a/geode-web/src/main/webapp/META-INF/NOTICE
+++ b/geode-web/src/main/webapp/META-INF/NOTICE
@@ -20,7 +20,7 @@ Copyright 2016 AddThis
 This product includes software developed by the MX4J
 project (http://mx4j.sourceforge.net).
 
-Spring Framework 4.2.4.RELEASE
+Spring Framework 4.3.2.RELEASE
 Copyright (c) 2002-2015 Pivotal, Inc.
 
   This product is licensed to you under the Apache License, Version 2.0

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/geode-web/src/main/webapp/WEB-INF/geode-mgmt-servlet.xml
----------------------------------------------------------------------
diff --git a/geode-web/src/main/webapp/WEB-INF/geode-mgmt-servlet.xml b/geode-web/src/main/webapp/WEB-INF/geode-mgmt-servlet.xml
index 3b1d165..a2a06b6 100644
--- a/geode-web/src/main/webapp/WEB-INF/geode-mgmt-servlet.xml
+++ b/geode-web/src/main/webapp/WEB-INF/geode-mgmt-servlet.xml
@@ -21,11 +21,11 @@ limitations under the License.
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="
         http://www.springframework.org/schema/beans
-        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
+        http://www.springframework.org/schema/beans/spring-beans.xsd
         http://www.springframework.org/schema/context
-        http://www.springframework.org/schema/context/spring-context-3.2.xsd
+        http://www.springframework.org/schema/context/spring-context.xsd
         http://www.springframework.org/schema/mvc
-        http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">
+        http://www.springframework.org/schema/mvc/spring-mvc.xsd">
 
   <context:component-scan base-package="org.apache.geode.management.internal.web"/>
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/gradle/dependency-resolution.gradle
----------------------------------------------------------------------
diff --git a/gradle/dependency-resolution.gradle b/gradle/dependency-resolution.gradle
index 91d1755..1b36bfa 100644
--- a/gradle/dependency-resolution.gradle
+++ b/gradle/dependency-resolution.gradle
@@ -15,25 +15,6 @@
  * limitations under the License.
  */
 subprojects {
-  configurations.all {
-    resolutionStrategy {
-      //failOnVersionConflict()
-
-      //Force certain versions of transitive dependencies
-      //These are forced to match our old non-transitive configuration
-      //These force statements should be removed and tested with the automatically
-      //resolved version
-      force 'org.springframework:spring-context-support:' + project.'springframework.version'
-      force 'org.springframework:spring-context-support:' + project.'springframework.version'
-      force 'org.springframework:spring-context:' + project.'springframework.version'
-      force 'org.springframework:spring-web:' + project.'springframework.version'
-      force 'org.springframework:spring-tx:' + project.'springframework.version'
-      force 'org.springframework:spring-webmvc:' + project.'springframework.version'
-      force 'org.springframework:spring-core:' + project.'springframework.version'
-      force 'jline:jline:' + project.'jline.version'
-    }
-  }
-
   //Task to dump all depencies of all projects, in a way
   //that can be diffed before and after dependency changes
   task dumpDependencies() << {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a7b9ac13/gradle/dependency-versions.properties
----------------------------------------------------------------------
diff --git a/gradle/dependency-versions.properties b/gradle/dependency-versions.properties
index 65fd2ee..91870e0 100644
--- a/gradle/dependency-versions.properties
+++ b/gradle/dependency-versions.properties
@@ -50,8 +50,8 @@ httpclient.version = 4.5.1
 httpcore.version = 4.4.3
 httpunit.version = 1.7.2
 hsqldb.version = 2.0.0
-jackson.version = 2.2.0
-jackson-module-scala_2.10.version = 2.1.5
+jackson.version = 2.8.2
+jackson-module-scala_2.10.version = 2.8.2
 jansi.version = 1.8
 javassist.version = 3.20.0-GA
 javax.ejb-api.version = 3.0
@@ -88,15 +88,15 @@ powermock.version = 1.6.4
 quartz.version = 2.2.1
 scala.version = 2.10.0
 selenium.version=2.53.1
-shiro.version=1.3.0
-slf4j-api.version = 1.7.7
+shiro.version=1.3.1
+slf4j-api.version = 1.7.21
 snappy-java.version=0.4
-spring-hateoas.version = 0.16.0.RELEASE
-spring-shell.version = 1.1.0.RELEASE
-spring-ldap-core.version = 1.3.2.RELEASE
-spring-security.version = 3.2.7.RELEASE
-spring-tx.version = 3.2.12.RELEASE
-springframework.version = 4.2.4.RELEASE
+spring-hateoas.version = 0.21.0.RELEASE
+spring-shell.version = 1.2.0.RELEASE
+spring-ldap-core.version = 2.1.0.RELEASE
+spring-security.version = 4.1.3.RELEASE
+spring-tx.version = 4.3.2.RELEASE
+springframework.version = 4.3.2.RELEASE
 stephenc-findbugs.version = 1.3.9-1
 spymemcached.version = 2.9.0
 swagger.version = 1.3.2