http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-standard-bundle/nifi-jolt-transform-json-ui/src/test/java/org/apache/nifi/web/standard/api/transformjson/TestTransformJSONResource.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-jolt-transform-json-ui/src/test/java/org/apache/nifi/web/standard/api/transformjson/TestTransformJSONResource.java
 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-jolt-transform-json-ui/src/test/java/org/apache/nifi/web/standard/api/transformjson/TestTransformJSONResource.java
index 1894abe..7f46728 100644
--- 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-jolt-transform-json-ui/src/test/java/org/apache/nifi/web/standard/api/transformjson/TestTransformJSONResource.java
+++ 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-jolt-transform-json-ui/src/test/java/org/apache/nifi/web/standard/api/transformjson/TestTransformJSONResource.java
@@ -16,46 +16,35 @@
  */
 package org.apache.nifi.web.standard.api.transformjson;
 
+import com.bazaarvoice.jolt.Diffy;
+import com.bazaarvoice.jolt.JsonUtils;
 import junit.framework.TestCase;
-
-import java.util.HashMap;
-import java.util.Map;
-
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.ext.Provider;
-
-
 import org.apache.nifi.web.ComponentDetails;
 import org.apache.nifi.web.NiFiWebConfigurationContext;
 import org.apache.nifi.web.NiFiWebRequestContext;
 import org.apache.nifi.web.standard.api.transformjson.dto.JoltSpecificationDTO;
 import org.apache.nifi.web.standard.api.transformjson.dto.ValidationDTO;
-
-
+import org.glassfish.hk2.api.Factory;
+import org.glassfish.hk2.utilities.binding.AbstractBinder;
+import org.glassfish.jersey.jackson.JacksonFeature;
+import org.glassfish.jersey.server.ResourceConfig;
+import org.glassfish.jersey.test.JerseyTest;
+import org.glassfish.jersey.test.inmemory.InMemoryTestContainerFactory;
+import org.glassfish.jersey.test.spi.TestContainerFactory;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
 import org.mockito.Mockito;
 
+import javax.servlet.ServletContext;
+import javax.ws.rs.client.Entity;
+import javax.ws.rs.core.Application;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.Status;
+import java.util.HashMap;
+import java.util.Map;
 
-import com.bazaarvoice.jolt.Diffy;
-import com.bazaarvoice.jolt.JsonUtils;
-import com.sun.jersey.api.client.UniformInterfaceException;
-import com.sun.jersey.api.core.ClassNamesResourceConfig;
-
-
-import com.sun.jersey.spi.container.servlet.WebComponent;
-import com.sun.jersey.spi.inject.SingletonTypeInjectableProvider;
-import com.sun.jersey.test.framework.AppDescriptor;
-import com.sun.jersey.test.framework.JerseyTest;
-import com.sun.jersey.test.framework.WebAppDescriptor;
-import com.sun.jersey.test.framework.spi.container.TestContainerFactory;
-import 
com.sun.jersey.test.framework.spi.container.inmemory.InMemoryTestContainerFactory;
-
-
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Matchers.any;
@@ -68,16 +57,19 @@ public class TestTransformJSONResource extends JerseyTest {
     public final ExpectedException exception = ExpectedException.none();
 
     public static final ServletContext servletContext = 
mock(ServletContext.class);
-    public static final HttpServletRequest requestContext = 
mock(HttpServletRequest.class);
 
     @Override
-    protected AppDescriptor configure() {
-        return new WebAppDescriptor.Builder()
-                .initParam(WebComponent.RESOURCE_CONFIG_CLASS, 
ClassNamesResourceConfig.class.getName())
-                .initParam(ClassNamesResourceConfig.PROPERTY_CLASSNAMES,
-                        TransformJSONResource.class.getName() + ";" + 
MockServletContext.class.getName() + ";" + 
MockRequestContext.class.getName()+";")
-                .initParam("com.sun.jersey.api.json.POJOMappingFeature", 
"true")
-                .build();
+    protected Application configure() {
+        final ResourceConfig config = new ResourceConfig();
+        config.register(TransformJSONResource.class);
+        config.register(JacksonFeature.class);
+        config.register(new AbstractBinder(){
+            @Override
+            public void configure() {
+                bindFactory(MockServletContext.class).to(ServletContext.class);
+            }
+        });
+        return config;
     }
 
     @Override
@@ -97,7 +89,10 @@ public class TestTransformJSONResource extends JerseyTest {
         
Mockito.when(niFiWebConfigurationContext.getComponentDetails(any(NiFiWebRequestContext.class))).thenReturn(componentDetails);
 
         JoltSpecificationDTO joltSpecificationDTO = new 
JoltSpecificationDTO("jolt-transform-chain","[]");
-        ValidationDTO validate  = 
client().resource(getBaseURI()).path("/standard/transformjson/validate").post(ValidationDTO.class,
 joltSpecificationDTO);
+        ValidationDTO validate  = client().target(getBaseUri())
+                .path("/standard/transformjson/validate")
+                .request()
+                .post(Entity.json(joltSpecificationDTO), ValidationDTO.class);
 
         assertNotNull(validate);
         assertTrue(!validate.isValid());
@@ -107,7 +102,11 @@ public class TestTransformJSONResource extends JerseyTest {
     @Test
     public void testValidateWithValidSpec() {
         JoltSpecificationDTO joltSpecificationDTO = new 
JoltSpecificationDTO("jolt-transform-remove","{\"rating\": {\"quality\": \"\"} 
}");
-        ValidationDTO validation  = 
client().resource(getBaseURI()).path("/standard/transformjson/validate").post(ValidationDTO.class,
 joltSpecificationDTO);
+        ValidationDTO validation  = client().target(getBaseUri())
+                .path("/standard/transformjson/validate")
+                .request()
+                .post(Entity.json(joltSpecificationDTO), ValidationDTO.class);
+
         TestCase.assertNotNull(validation);
         assertTrue(validation.isValid());
     }
@@ -115,7 +114,11 @@ public class TestTransformJSONResource extends JerseyTest {
     @Test
     public void testValidateWithValidExpressionLanguageSpec() {
         JoltSpecificationDTO joltSpecificationDTO = new 
JoltSpecificationDTO("jolt-transform-remove","{\"rating\": {\"${filename}\": 
\"\"} }");
-        ValidationDTO validation  = 
client().resource(getBaseURI()).path("/standard/transformjson/validate").post(ValidationDTO.class,
 joltSpecificationDTO);
+        ValidationDTO validation  = client().target(getBaseUri())
+                .path("/standard/transformjson/validate")
+                .request()
+                .post(Entity.json(joltSpecificationDTO), ValidationDTO.class);
+
         TestCase.assertNotNull(validation);
         assertTrue(validation.isValid());
     }
@@ -123,7 +126,11 @@ public class TestTransformJSONResource extends JerseyTest {
     @Test
     public void testValidateWithValidEmptySpec() {
         JoltSpecificationDTO joltSpecificationDTO = new 
JoltSpecificationDTO("jolt-transform-sort","");
-        ValidationDTO validation  = 
client().resource(getBaseURI()).path("/standard/transformjson/validate").post(ValidationDTO.class,
 joltSpecificationDTO);
+        ValidationDTO validation  = client().target(getBaseUri())
+                .path("/standard/transformjson/validate")
+                .request()
+                .post(Entity.json(joltSpecificationDTO), ValidationDTO.class);
+
         TestCase.assertNotNull(validation);
         assertTrue(validation.isValid());
     }
@@ -131,7 +138,11 @@ public class TestTransformJSONResource extends JerseyTest {
     @Test
     public void testValidateWithInvalidEmptySpec() {
         JoltSpecificationDTO joltSpecificationDTO = new 
JoltSpecificationDTO("jolt-transform-remove","");
-        ValidationDTO validation  = 
client().resource(getBaseURI()).path("/standard/transformjson/validate").post(ValidationDTO.class,
 joltSpecificationDTO);
+        ValidationDTO validation  = client().target(getBaseUri())
+                .path("/standard/transformjson/validate")
+                .request()
+                .post(Entity.json(joltSpecificationDTO), ValidationDTO.class);
+
         TestCase.assertNotNull(validation);
         assertTrue(!validation.isValid());
     }
@@ -139,7 +150,11 @@ public class TestTransformJSONResource extends JerseyTest {
     @Test
     public void testValidateWithValidNullSpec() {
         JoltSpecificationDTO joltSpecificationDTO = new 
JoltSpecificationDTO("jolt-transform-sort",null);
-        ValidationDTO validation  = 
client().resource(getBaseURI()).path("/standard/transformjson/validate").post(ValidationDTO.class,
 joltSpecificationDTO);
+        ValidationDTO validation  = client().target(getBaseUri())
+                .path("/standard/transformjson/validate")
+                .request()
+                .post(Entity.json(joltSpecificationDTO), ValidationDTO.class);
+
         TestCase.assertNotNull(validation);
         assertTrue(validation.isValid());
     }
@@ -157,7 +172,11 @@ public class TestTransformJSONResource extends JerseyTest {
         JoltSpecificationDTO joltSpecificationDTO = new 
JoltSpecificationDTO("jolt-transform-custom","[{ \"operation\": \"default\", 
\"spec\":{ \"custom-id\" :4 }}]");
         joltSpecificationDTO.setCustomClass("TestCustomJoltTransform");
         
joltSpecificationDTO.setModules("src/test/resources/TestTransformJSONResource/TestCustomJoltTransform.jar");
-        ValidationDTO validate  = 
client().resource(getBaseURI()).path("/standard/transformjson/validate").post(ValidationDTO.class,
 joltSpecificationDTO);
+        ValidationDTO validate  = client().target(getBaseUri())
+                .path("/standard/transformjson/validate")
+                .request()
+                .post(Entity.json(joltSpecificationDTO), ValidationDTO.class);
+
         assertNotNull(validate);
         assertTrue(validate.isValid());
     }
@@ -173,7 +192,11 @@ public class TestTransformJSONResource extends JerseyTest {
         
Mockito.when(niFiWebConfigurationContext.getComponentDetails(any(NiFiWebRequestContext.class))).thenReturn(componentDetails);
         JoltSpecificationDTO joltSpecificationDTO = new 
JoltSpecificationDTO("jolt-transform-custom","[{ \"operation\": \"default\", 
\"spec\":{ \"custom-id\" :4 }}]");
         joltSpecificationDTO.setCustomClass("TestCustomJoltTransform");
-        ValidationDTO validate  = 
client().resource(getBaseURI()).path("/standard/transformjson/validate").post(ValidationDTO.class,
 joltSpecificationDTO);
+        ValidationDTO validate  = client().target(getBaseUri())
+                .path("/standard/transformjson/validate")
+                .request()
+                .post(Entity.json(joltSpecificationDTO), ValidationDTO.class);
+
         assertNotNull(validate);
         assertTrue(!validate.isValid());
     }
@@ -191,7 +214,11 @@ public class TestTransformJSONResource extends JerseyTest {
         JoltSpecificationDTO joltSpecificationDTO = new 
JoltSpecificationDTO("jolt-transform-custom","{ \"operation\": \"default\", 
\"spec\":{ \"custom-id\" :4 }}");
         joltSpecificationDTO.setCustomClass("TestCustomJoltTransform");
         
joltSpecificationDTO.setModules("src/test/resources/TestTransformJSONResource/TestCustomJoltTransform.jar");
-        ValidationDTO validate  = 
client().resource(getBaseURI()).path("/standard/transformjson/validate").post(ValidationDTO.class,
 joltSpecificationDTO);
+        ValidationDTO validate  = client().target(getBaseUri())
+                .path("/standard/transformjson/validate")
+                .request()
+                .post(Entity.json(joltSpecificationDTO), ValidationDTO.class);
+
         assertNotNull(validate);
         assertTrue(!validate.isValid());
     }
@@ -204,7 +231,11 @@ public class TestTransformJSONResource extends JerseyTest {
         joltSpecificationDTO.setInput(inputJson);
         joltSpecificationDTO.setCustomClass("TestCustomJoltTransform");
         
joltSpecificationDTO.setModules("src/test/resources/TestTransformJSONResource/TestCustomJoltTransform.jar");
-        String responseString = 
client().resource(getBaseURI()).path("/standard/transformjson/execute").post(String.class,
 joltSpecificationDTO);
+        String responseString = client().target(getBaseUri())
+                .path("/standard/transformjson/execute")
+                .request()
+                .post(Entity.json(joltSpecificationDTO), String.class);
+
         Object transformedJson = JsonUtils.jsonToObject(responseString);
         Object compareJson = 
JsonUtils.jsonToObject("{\"rating\":{\"quality\":2,\"count\":1}, \"custom-id\": 
4}");
         assertNotNull(transformedJson);
@@ -217,15 +248,23 @@ public class TestTransformJSONResource extends JerseyTest 
{
         String inputJson = "{\"rating\":{\"quality\":2,\"count\":1}}";
         joltSpecificationDTO.setInput(inputJson);
         joltSpecificationDTO.setCustomClass("TestCustomJoltTransform");
-        exception.expect(UniformInterfaceException.class);
-        
client().resource(getBaseURI()).path("/standard/transformjson/execute").post(String.class,
 joltSpecificationDTO);
+        final Response response = client().target(getBaseUri())
+                .path("/standard/transformjson/execute")
+                .request()
+                .post(Entity.json(joltSpecificationDTO));
+
+        assertEquals(Status.INTERNAL_SERVER_ERROR.getStatusCode(), 
response.getStatus());
     }
 
     @Test
     public void testExecuteWithInvalidSpec() {
         JoltSpecificationDTO joltSpecificationDTO = new 
JoltSpecificationDTO("jolt-transform-remove", "{\"rating\": {\"quality\": \"\"} 
}");
-        exception.expect(UniformInterfaceException.class);
-        
client().resource(getBaseURI()).path("/standard/transformjson/execute").post(joltSpecificationDTO);
+        final Response response = client().target(getBaseUri())
+                .path("/standard/transformjson/execute")
+                .request()
+                .post(Entity.json(joltSpecificationDTO));
+
+        assertEquals(Status.INTERNAL_SERVER_ERROR.getStatusCode(), 
response.getStatus());
     }
 
     @Test
@@ -234,7 +273,11 @@ public class TestTransformJSONResource extends JerseyTest {
         JoltSpecificationDTO joltSpecificationDTO = new 
JoltSpecificationDTO("jolt-transform-remove","{\"rating\": {\"quality\": \"\"} 
}");
         String inputJson = "{\"rating\":{\"quality\":2,\"count\":1}}";
         joltSpecificationDTO.setInput(inputJson);
-        String responseString = 
client().resource(getBaseURI()).path("/standard/transformjson/execute").post(String.class,
 joltSpecificationDTO);
+        String responseString = client().target(getBaseUri())
+                .path("/standard/transformjson/execute")
+                .request()
+                .post(Entity.json(joltSpecificationDTO), String.class);
+
         Object transformedJson = JsonUtils.jsonToObject(responseString);
         Object compareJson = 
JsonUtils.jsonToObject("{\"rating\":{\"count\":1}}");
         assertNotNull(transformedJson);
@@ -250,29 +293,26 @@ public class TestTransformJSONResource extends JerseyTest 
{
         Map<String,String> attributes = new HashMap<String,String>();
         attributes.put("qual_var","qa");
         joltSpecificationDTO.setExpressionLanguageAttributes(attributes);
-        String responseString = 
client().resource(getBaseURI()).path("/standard/transformjson/execute").post(String.class,
 joltSpecificationDTO);
+        String responseString = client().target(getBaseUri())
+                .path("/standard/transformjson/execute")
+                .request()
+                .post(Entity.json(joltSpecificationDTO), String.class);
+
         Object transformedJson = JsonUtils.jsonToObject(responseString);
         Object compareJson = JsonUtils.jsonToObject( "{\"qa\":2}}");
         assertNotNull(transformedJson);
         assertTrue(diffy.diff(compareJson, transformedJson).isEmpty());
     }
 
-    @Provider
-    public static class MockServletContext extends 
SingletonTypeInjectableProvider<Context, ServletContext> {
-
-        public MockServletContext(){
-            super(ServletContext.class, servletContext);
+    public static class MockServletContext implements Factory<ServletContext> {
+        @Override
+        public ServletContext provide() {
+            return servletContext;
         }
 
-    }
-
-    @Provider
-    public static class MockRequestContext extends 
SingletonTypeInjectableProvider<Context, HttpServletRequest> {
-
-        public MockRequestContext(){
-            super(HttpServletRequest.class, requestContext);
+        @Override
+        public void dispose(ServletContext t) {
         }
-
     }
 
 }

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-nar/src/main/resources/META-INF/NOTICE
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-nar/src/main/resources/META-INF/NOTICE
 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-nar/src/main/resources/META-INF/NOTICE
index 7e1fdf4..3b1c1dc 100644
--- 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-nar/src/main/resources/META-INF/NOTICE
+++ 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-nar/src/main/resources/META-INF/NOTICE
@@ -230,6 +230,7 @@ The following binary components are provided under the 
Common Development and Di
     (CDDL 1.1) (GPL2 w/ CPE) JavaMail API (compat) (javax.mail:mail:jar:1.4.7 
- http://kenai.com/projects/javamail/mail)
     (CDDL 1.1) (GPL2 w/ CPE) Javax JMS Api (javax.jms:javax.jms-api:jar:2.0.1 
- http://java.net/projects/jms-spec/pages/Home)
     (CDDL 1.1) (GPL2 w/ CPE) Expression Language 3.0 API 
(javax.el:javax.el-api:jar:3.0.0 - http://uel-spec.java.net)
+    (CDDL 1.1) (GPL2 w/ CPE) javax.ws.rs-api 
(javax.ws.rs:javax.ws.rs-api:jar:2.1 - http://jax-rs-spec.java.net)
 
 *****************
 Common Development and Distribution License v1.0:
@@ -238,7 +239,6 @@ Common Development and Distribution License v1.0:
 The following binary components are provided under the Common Development and 
Distribution License v1.0.  See project link for details.
 
     (CDDL 1.0) JavaBeans Activation Framework (JAF) 
(javax.activation:activation:jar:1.1 - 
http://java.sun.com/products/javabeans/jaf/index.jsp)
-    (CDDL 1.0) JSR311 API (javax.ws.rs:jsr311-api:jar:1.1.1 - 
https://jsr311.dev.java.net)
 
 *****************
 Mozilla Public License v2.0

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml
index 73cd525..c0afa35 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/pom.xml
@@ -69,12 +69,9 @@
             <artifactId>commons-io</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-client</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-server</artifactId>
+            <groupId>javax.ws.rs</groupId>
+            <artifactId>javax.ws.rs-api</artifactId>
+            <version>2.1</version>
         </dependency>
         <dependency>
             <groupId>commons-net</groupId>
@@ -192,11 +189,6 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-mapper-asl</artifactId>
-            <version>${jackson.old.version}</version>
-        </dependency>
-        <dependency>
             <groupId>com.squareup.okhttp3</groupId>
             <artifactId>okhttp</artifactId>
             <version>3.8.1</version>

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpRequest.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpRequest.java
 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpRequest.java
index a1493f1..6c09ef5 100644
--- 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpRequest.java
+++ 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/HandleHttpRequest.java
@@ -16,33 +16,6 @@
  */
 package org.apache.nifi.processors.standard;
 
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URLDecoder;
-import java.security.Principal;
-import java.security.cert.X509Certificate;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.regex.Pattern;
-import javax.servlet.AsyncContext;
-import javax.servlet.DispatcherType;
-import javax.servlet.ServletException;
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.nifi.annotation.behavior.InputRequirement;
 import org.apache.nifi.annotation.behavior.InputRequirement.Requirement;
@@ -76,7 +49,35 @@ import org.eclipse.jetty.server.ServerConnector;
 import org.eclipse.jetty.server.SslConnectionFactory;
 import org.eclipse.jetty.server.handler.AbstractHandler;
 import org.eclipse.jetty.util.ssl.SslContextFactory;
-import com.sun.jersey.api.client.ClientResponse.Status;
+
+import javax.servlet.AsyncContext;
+import javax.servlet.DispatcherType;
+import javax.servlet.ServletException;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.ws.rs.core.Response.Status;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URLDecoder;
+import java.security.Principal;
+import java.security.cert.X509Certificate;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.regex.Pattern;
 
 @InputRequirement(Requirement.INPUT_FORBIDDEN)
 @Tags({"http", "https", "request", "listen", "ingress", "web service"})

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
index badc751..afdfc01 100644
--- 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
+++ 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
@@ -16,38 +16,6 @@
  */
 package org.apache.nifi.processors.standard;
 
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.MalformedURLException;
-import java.security.KeyManagementException;
-import java.security.KeyStore;
-import java.security.KeyStoreException;
-import java.security.NoSuchAlgorithmException;
-import java.security.UnrecoverableKeyException;
-import java.security.cert.Certificate;
-import java.security.cert.CertificateException;
-import java.security.cert.X509Certificate;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicReference;
-import java.util.regex.Pattern;
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.SSLPeerUnverifiedException;
-import javax.net.ssl.SSLSession;
-import javax.servlet.http.HttpServletResponse;
 import org.apache.commons.io.IOUtils;
 import org.apache.http.Header;
 import org.apache.http.HttpException;
@@ -121,7 +89,40 @@ import org.apache.nifi.util.FlowFilePackagerV3;
 import org.apache.nifi.util.FormatUtils;
 import org.apache.nifi.util.StopWatch;
 import org.apache.nifi.util.StringUtils;
-import com.sun.jersey.api.client.ClientResponse.Status;
+
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLPeerUnverifiedException;
+import javax.net.ssl.SSLSession;
+import javax.servlet.http.HttpServletResponse;
+import javax.ws.rs.core.Response.Status;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.MalformedURLException;
+import java.security.KeyManagementException;
+import java.security.KeyStore;
+import java.security.KeyStoreException;
+import java.security.NoSuchAlgorithmException;
+import java.security.UnrecoverableKeyException;
+import java.security.cert.Certificate;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.regex.Pattern;
 
 @SupportsBatching
 @InputRequirement(Requirement.INPUT_REQUIRED)

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/resources/logback-test.xml
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/resources/logback-test.xml
 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/resources/logback-test.xml
index fad7cb3..e937f52 100644
--- 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/resources/logback-test.xml
+++ 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/resources/logback-test.xml
@@ -53,9 +53,6 @@
     <!-- Logger for managing logging statements for jetty -->
     <logger name="org.mortbay" level="INFO"/>
 
-    <!-- Suppress non-error messages due to excessive logging by class -->
-    <logger name="com.sun.jersey.spi.container.servlet.WebComponent" 
level="ERROR"/>
-
     <logger name="org.apache.nifi.processors.standard" level="DEBUG"/>
     <logger name="target.file" level="DEBUG" additivity="true">
         <appender-ref ref="TARGET_FILE"/>

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-services-nar/src/main/resources/META-INF/NOTICE
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-services-nar/src/main/resources/META-INF/NOTICE
 
b/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-services-nar/src/main/resources/META-INF/NOTICE
index 31667e9..cfd7f49 100644
--- 
a/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-services-nar/src/main/resources/META-INF/NOTICE
+++ 
b/nifi-nar-bundles/nifi-standard-services/nifi-distributed-cache-services-bundle/nifi-distributed-cache-services-nar/src/main/resources/META-INF/NOTICE
@@ -17,3 +17,26 @@ The following binary components are provided under the 
Apache Software License v
 
       This product includes software from the Spring Framework,
       under the Apache License 2.0 (see: StringUtils.containsWhitespace())
+
+  (ASLv2) Jackson JSON processor
+    The following NOTICE information applies:
+      # Jackson JSON processor
+
+      Jackson is a high-performance, Free/Open Source JSON processing library.
+      It was originally written by Tatu Saloranta ([email protected]), and 
has
+      been in development since 2007.
+      It is currently developed by a community of developers, as well as 
supported
+      commercially by FasterXML.com.
+
+      ## Licensing
+
+      Jackson core and extension components may licensed under different 
licenses.
+      To find the details that apply to this artifact see the accompanying 
LICENSE file.
+      For more information, including possible other licensing options, contact
+      FasterXML.com (http://fasterxml.com).
+
+      ## Credits
+
+      A list of contributors may be found from CREDITS file, which is included
+      in some artifacts (usually source distributions); but is always available
+      from the source code management (SCM) system project uses.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-standard-services/nifi-hbase_1_1_2-client-service-bundle/nifi-hbase_1_1_2-client-service-nar/src/main/resources/META-INF/NOTICE
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-standard-services/nifi-hbase_1_1_2-client-service-bundle/nifi-hbase_1_1_2-client-service-nar/src/main/resources/META-INF/NOTICE
 
b/nifi-nar-bundles/nifi-standard-services/nifi-hbase_1_1_2-client-service-bundle/nifi-hbase_1_1_2-client-service-nar/src/main/resources/META-INF/NOTICE
index d8e9aab..6b1cd4f 100644
--- 
a/nifi-nar-bundles/nifi-standard-services/nifi-hbase_1_1_2-client-service-bundle/nifi-hbase_1_1_2-client-service-nar/src/main/resources/META-INF/NOTICE
+++ 
b/nifi-nar-bundles/nifi-standard-services/nifi-hbase_1_1_2-client-service-bundle/nifi-hbase_1_1_2-client-service-nar/src/main/resources/META-INF/NOTICE
@@ -303,11 +303,7 @@ Common Development and Distribution License 1.1
 
 The following binary components are provided under the Common Development and 
Distribution License 1.1. See project link for details.
 
-    (CDDL 1.1) (GPL2 w/ CPE) jersey-server 
(com.sun.jersey:jersey-server:jar:1.19 - https://jersey.java.net/jersey-server/)
-    (CDDL 1.1) (GPL2 w/ CPE) jersey-client 
(com.sun.jersey:jersey-client:jar:1.19 - https://jersey.java.net/jersey-client/)
-    (CDDL 1.1) (GPL2 w/ CPE) jersey-core (com.sun.jersey:jersey-core:jar:1.19 
- https://jersey.java.net/jersey-core/)
-    (CDDL 1.1) (GPL2 w/ CPE) jersey-json (com.sun.jersey:jersey-json:jar:1.19 
- https://jersey.java.net/index.html)
-    (CDDL 1.1) (GPL2 w/ CPE) jersey-juice (com.sun.jersey:jersey-juice:jar:1.9 
- https://jersey.java.net/index.html)
+    (CDDL 1.1) (GPL2 w/ CPE) jersey-client 
(com.sun.jersey:jersey-client:jar:1.9 - https://jersey.java.net/jersey-client/)
     (CDDL 1.1) (GPL2 w/ CPE) Old JAXB Runtime 
(com.sun.xml.bind:jaxb-impl:jar:2.2.3-1 - http://jaxb.java.net/)
     (CDDL 1.1) (GPL2 w/ CPE) Java Architecture For XML Binding 
(javax.xml.bind:jaxb-api:jar:2.2.2 - https://jaxb.dev.java.net/)
 
@@ -321,7 +317,6 @@ The following binary components are provided under the 
Common Development and Di
     (CDDL 1.0) (GPL3) Streaming API For XML 
(javax.xml.stream:stax-api:jar:1.0-2 - no url provided)
     (CDDL 1.0) JavaBeans Activation Framework (JAF) 
(javax.activation:activation:jar:1.1 - 
http://java.sun.com/products/javabeans/jaf/index.jsp)
     (CDDL 1.0) JavaServer Pages(TM) API (javax.servlet.jsp:jsp-api:jar:2.1 - 
http://jsp.java.net)
-    (CDDL 1.0) JSR311 API (javax.ws.rs:jsr311-api:jar:1.1.1 - 
https://jsr311.dev.java.net)
 
 *****************
 Public Domain

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-standard-services/nifi-hwx-schema-registry-bundle/nifi-hwx-schema-registry-nar/src/main/resources/META-INF/NOTICE
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-standard-services/nifi-hwx-schema-registry-bundle/nifi-hwx-schema-registry-nar/src/main/resources/META-INF/NOTICE
 
b/nifi-nar-bundles/nifi-standard-services/nifi-hwx-schema-registry-bundle/nifi-hwx-schema-registry-nar/src/main/resources/META-INF/NOTICE
index 01072a0..086dfc7 100644
--- 
a/nifi-nar-bundles/nifi-standard-services/nifi-hwx-schema-registry-bundle/nifi-hwx-schema-registry-nar/src/main/resources/META-INF/NOTICE
+++ 
b/nifi-nar-bundles/nifi-standard-services/nifi-hwx-schema-registry-bundle/nifi-hwx-schema-registry-nar/src/main/resources/META-INF/NOTICE
@@ -108,10 +108,10 @@ The following binary components are provided under the 
Common Development and Di
     (CDDL 1.1) (GPL2 w/ CPE) javax.annotation API 
(javax.annotation:javax.annotation-api:jar:1.2 - 
http://jcp.org/en/jsr/detail?id=250)
     (CDDL 1.1) (GPL2 w/ CPE) javax.inject:1 as OSGi bundle 
(org.glassfish.hk2.external:javax.inject:jar:2.4.0-b25 - 
https://hk2.java.net/external/javax.inject)
     (CDDL 1.1) (GPL2 w/ CPE) javax.ws.rs-api 
(javax.ws.rs:javax.ws.rs-api:jar:2.0.1 - http://jax-rs-spec.java.net)
-    (CDDL 1.1) (GPL2 w/ CPE) jersey-client 
(com.sun.jersey:jersey-client:jar:1.19 - https://jersey.java.net/jersey-client/)
-    (CDDL 1.1) (GPL2 w/ CPE) jersey-core-common 
(org.glassfish.jersey.core:jersey-common:jar:2.19 - 
https://jersey.java.net/jersey-common/)
-    (CDDL 1.1) (GPL2 w/ CPE) jersey-repackaged-guava 
(org.glassfish.jersey.bundles.repackaged:jersey-guava:bundle:2.19 - 
https://jersey.java.net/project/project/jersey-guava/)
-    (CDDL 1.1) (GPL2 w/ CPE) jersey-multipart 
(com.sun.jersey:jersey-multipart:jar:1.19 - 
https://jersey.java.net/jersey-multipart/)
+    (CDDL 1.1) (GPL2 w/ CPE) jersey-client 
(org.glassfish.jersey.core:jersey-client:jar:2.22.1 - https://jersey.github.io/)
+    (CDDL 1.1) (GPL2 w/ CPE) jersey-common 
(org.glassfish.jersey.core:jersey-common:jar:2.22.1 - https://jersey.github.io/)
+    (CDDL 1.1) (GPL2 w/ CPE) jersey-guava 
(org.glassfish.jersey.bundles.repackaged:jersey-guava:jar:2.22.1 - 
https://jersey.github.io/)
+    (CDDL 1.1) (GPL2 w/ CPE) jersey-media-multipart 
(org.glassfish.jersey.media:jersey-media-multipart:jar:2.22.1 - 
https://jersey.github.io/)
     (CDDL 1.1) (GPL2 w/ CPE) MIME Streaming Extension 
(org.jvnet.mimepull:mimepull:jar:1.9.3 - http://mimepull.java.net)
     (CDDL 1.1) (GPL2 w/ CPE) aopalliance version 1.0 repackaged as a module 
(org.glassfish.hk2.external:aopalliance-repackaged:jar:2.4.0-b25 - 
https://hk2.java.net/external/aopalliance-repackaged)
 

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-standard-services/nifi-hwx-schema-registry-bundle/nifi-hwx-schema-registry-service/pom.xml
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-standard-services/nifi-hwx-schema-registry-bundle/nifi-hwx-schema-registry-service/pom.xml
 
b/nifi-nar-bundles/nifi-standard-services/nifi-hwx-schema-registry-bundle/nifi-hwx-schema-registry-service/pom.xml
index 102f997..277bd62 100644
--- 
a/nifi-nar-bundles/nifi-standard-services/nifi-hwx-schema-registry-bundle/nifi-hwx-schema-registry-service/pom.xml
+++ 
b/nifi-nar-bundles/nifi-standard-services/nifi-hwx-schema-registry-bundle/nifi-hwx-schema-registry-service/pom.xml
@@ -172,6 +172,10 @@ limitations under the License.
                     <groupId>com.fasterxml.jackson.core</groupId>
                     <artifactId>jackson-databind</artifactId>
                 </exclusion>
+                               <exclusion>
+                                       
<groupId>com.fasterxml.jackson.core</groupId>
+                                       
<artifactId>jackson-annotations</artifactId>
+                               </exclusion>
                 <exclusion>
                     <groupId>com.fasterxml.jackson.core</groupId>
                     <artifactId>jackson-core</artifactId>

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-standard-services/nifi-mongodb-services-bundle/nifi-mongodb-services/pom.xml
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-standard-services/nifi-mongodb-services-bundle/nifi-mongodb-services/pom.xml
 
b/nifi-nar-bundles/nifi-standard-services/nifi-mongodb-services-bundle/nifi-mongodb-services/pom.xml
index 71faf66..cf78c82 100644
--- 
a/nifi-nar-bundles/nifi-standard-services/nifi-mongodb-services-bundle/nifi-mongodb-services/pom.xml
+++ 
b/nifi-nar-bundles/nifi-standard-services/nifi-mongodb-services-bundle/nifi-mongodb-services/pom.xml
@@ -44,6 +44,11 @@
             <artifactId>nifi-mongodb-client-service-api</artifactId>
         </dependency>
         <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+            <version>${jackson.version}</version>
+        </dependency>
+        <dependency>
             <groupId>org.mongodb</groupId>
             <artifactId>mongo-java-driver</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-standard-services/nifi-mongodb-services-bundle/nifi-mongodb-services/src/test/java/org/apache/nifi/mongodb/TestMongoDBControllerService.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-standard-services/nifi-mongodb-services-bundle/nifi-mongodb-services/src/test/java/org/apache/nifi/mongodb/TestMongoDBControllerService.java
 
b/nifi-nar-bundles/nifi-standard-services/nifi-mongodb-services-bundle/nifi-mongodb-services/src/test/java/org/apache/nifi/mongodb/TestMongoDBControllerService.java
index 37fbef5..a4d8239 100644
--- 
a/nifi-nar-bundles/nifi-standard-services/nifi-mongodb-services-bundle/nifi-mongodb-services/src/test/java/org/apache/nifi/mongodb/TestMongoDBControllerService.java
+++ 
b/nifi-nar-bundles/nifi-standard-services/nifi-mongodb-services-bundle/nifi-mongodb-services/src/test/java/org/apache/nifi/mongodb/TestMongoDBControllerService.java
@@ -17,10 +17,10 @@
 
 package org.apache.nifi.mongodb;
 
+import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.nifi.util.TestRunner;
 import org.apache.nifi.util.TestRunners;
 import org.bson.Document;
-import org.codehaus.jackson.map.ObjectMapper;
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/pom.xml
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/pom.xml
 
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/pom.xml
index 6ee6a99..30f73c1 100644
--- 
a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/pom.xml
+++ 
b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/pom.xml
@@ -49,11 +49,6 @@
             <artifactId>json-path</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-mapper-asl</artifactId>
-            <version>${jackson.old.version}</version>
-        </dependency>
-        <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-databind</artifactId>
             <version>${jackson.version}</version>

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-stateful-analysis-bundle/nifi-stateful-analysis-nar/src/main/resources/META-INF/NOTICE
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-stateful-analysis-bundle/nifi-stateful-analysis-nar/src/main/resources/META-INF/NOTICE
 
b/nifi-nar-bundles/nifi-stateful-analysis-bundle/nifi-stateful-analysis-nar/src/main/resources/META-INF/NOTICE
index ac6e828..1a0c992 100644
--- 
a/nifi-nar-bundles/nifi-stateful-analysis-bundle/nifi-stateful-analysis-nar/src/main/resources/META-INF/NOTICE
+++ 
b/nifi-nar-bundles/nifi-stateful-analysis-bundle/nifi-stateful-analysis-nar/src/main/resources/META-INF/NOTICE
@@ -24,4 +24,27 @@ The following binary components are provided under the 
Apache Software License v
       Copyright 2002-2016 The Apache Software Foundation
 
       This product includes software developed at
-      The Apache Software Foundation (http://www.apache.org/).
\ No newline at end of file
+      The Apache Software Foundation (http://www.apache.org/).
+
+  (ASLv2) Jackson JSON processor
+    The following NOTICE information applies:
+      # Jackson JSON processor
+
+      Jackson is a high-performance, Free/Open Source JSON processing library.
+      It was originally written by Tatu Saloranta ([email protected]), and 
has
+      been in development since 2007.
+      It is currently developed by a community of developers, as well as 
supported
+      commercially by FasterXML.com.
+
+      ## Licensing
+
+      Jackson core and extension components may licensed under different 
licenses.
+      To find the details that apply to this artifact see the accompanying 
LICENSE file.
+      For more information, including possible other licensing options, contact
+      FasterXML.com (http://fasterxml.com).
+
+      ## Credits
+
+      A list of contributors may be found from CREDITS file, which is included
+      in some artifacts (usually source distributions); but is always available
+      from the source code management (SCM) system project uses.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-tcp-bundle/nifi-tcp-nar/src/main/resources/META-INF/NOTICE
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-tcp-bundle/nifi-tcp-nar/src/main/resources/META-INF/NOTICE
 
b/nifi-nar-bundles/nifi-tcp-bundle/nifi-tcp-nar/src/main/resources/META-INF/NOTICE
index 970a1e6..f0fe5eb 100644
--- 
a/nifi-nar-bundles/nifi-tcp-bundle/nifi-tcp-nar/src/main/resources/META-INF/NOTICE
+++ 
b/nifi-nar-bundles/nifi-tcp-bundle/nifi-tcp-nar/src/main/resources/META-INF/NOTICE
@@ -22,3 +22,26 @@ The following binary components are provided under the 
Apache Software License v
 
       This product includes software from the Spring Framework,
       under the Apache License 2.0 (see: StringUtils.containsWhitespace())
+
+  (ASLv2) Jackson JSON processor
+    The following NOTICE information applies:
+      # Jackson JSON processor
+
+      Jackson is a high-performance, Free/Open Source JSON processing library.
+      It was originally written by Tatu Saloranta ([email protected]), and 
has
+      been in development since 2007.
+      It is currently developed by a community of developers, as well as 
supported
+      commercially by FasterXML.com.
+
+      ## Licensing
+
+      Jackson core and extension components may licensed under different 
licenses.
+      To find the details that apply to this artifact see the accompanying 
LICENSE file.
+      For more information, including possible other licensing options, contact
+      FasterXML.com (http://fasterxml.com).
+
+      ## Credits
+
+      A list of contributors may be found from CREDITS file, which is included
+      in some artifacts (usually source distributions); but is always available
+      from the source code management (SCM) system project uses.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-nar/src/main/resources/META-INF/NOTICE
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-nar/src/main/resources/META-INF/NOTICE
 
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-nar/src/main/resources/META-INF/NOTICE
index f8474bc..fb76580 100644
--- 
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-nar/src/main/resources/META-INF/NOTICE
+++ 
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-nar/src/main/resources/META-INF/NOTICE
@@ -23,3 +23,25 @@ The following binary components are provided under the 
Apache Software License v
       Apache Commons IO
       Copyright 2002-2016 The Apache Software Foundation
 
+  (ASLv2) Jackson JSON processor
+    The following NOTICE information applies:
+      # Jackson JSON processor
+
+      Jackson is a high-performance, Free/Open Source JSON processing library.
+      It was originally written by Tatu Saloranta ([email protected]), and 
has
+      been in development since 2007.
+      It is currently developed by a community of developers, as well as 
supported
+      commercially by FasterXML.com.
+
+      ## Licensing
+
+      Jackson core and extension components may licensed under different 
licenses.
+      To find the details that apply to this artifact see the accompanying 
LICENSE file.
+      For more information, including possible other licensing options, contact
+      FasterXML.com (http://fasterxml.com).
+
+      ## Credits
+
+      A list of contributors may be found from CREDITS file, which is included
+      in some artifacts (usually source distributions); but is always available
+      from the source code management (SCM) system project uses.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/pom.xml
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/pom.xml
 
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/pom.xml
index 84b84f0..61c9318 100644
--- 
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/pom.xml
+++ 
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/pom.xml
@@ -81,24 +81,51 @@
             <artifactId>nifi-expression-language</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.nifi</groupId>
+            <artifactId>nifi-web-utils</artifactId>
+        </dependency>
+        <dependency>
             <groupId>javax.servlet</groupId>
             <artifactId>javax.servlet-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-server</artifactId>
+            <groupId>javax.ws.rs</groupId>
+            <artifactId>javax.ws.rs-api</artifactId>
+            <version>2.1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.containers</groupId>
+            <artifactId>jersey-container-servlet-core</artifactId>
+            <version>${jersey.version}</version>
         </dependency>
         <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-core</artifactId>
+            <groupId>org.glassfish.jersey.media</groupId>
+            <artifactId>jersey-media-json-jackson</artifactId>
+            <version>${jersey.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.fasterxml.jackson.module</groupId>
+                    <artifactId>jackson-module-jaxb-annotations</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                    <artifactId>jackson-databind</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>com.fasterxml.jackson.core</groupId>
+                    <artifactId>jackson-annotations</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-json</artifactId>
+            <groupId>com.fasterxml.jackson.module</groupId>
+            <artifactId>jackson-module-jaxb-annotations</artifactId>
+            <version>${jackson.version}</version>
         </dependency>
         <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-servlet</artifactId>
+            <groupId>org.glassfish.jersey.inject</groupId>
+            <artifactId>jersey-hk2</artifactId>
+            <version>${jersey.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.commons</groupId>

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/api/ObjectMapperResolver.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/api/ObjectMapperResolver.java
 
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/api/ObjectMapperResolver.java
deleted file mode 100644
index f40e327..0000000
--- 
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/api/ObjectMapperResolver.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.nifi.update.attributes.api;
-
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.Provider;
-import org.codehaus.jackson.map.AnnotationIntrospector;
-import org.codehaus.jackson.map.DeserializationConfig;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.SerializationConfig;
-import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
-import org.codehaus.jackson.xc.JaxbAnnotationIntrospector;
-
-/**
- *
- */
-@Provider
-public class ObjectMapperResolver implements ContextResolver<ObjectMapper> {
-
-    private final ObjectMapper mapper;
-
-    public ObjectMapperResolver() throws Exception {
-        mapper = new ObjectMapper();
-
-        final AnnotationIntrospector jaxbIntrospector = new 
JaxbAnnotationIntrospector();
-        final SerializationConfig serializationConfig = 
mapper.getSerializationConfig();
-        final DeserializationConfig deserializationConfig = 
mapper.getDeserializationConfig();
-
-        
mapper.setSerializationConfig(serializationConfig.withSerializationInclusion(Inclusion.NON_NULL).withAnnotationIntrospector(jaxbIntrospector));
-        
mapper.setDeserializationConfig(deserializationConfig.withAnnotationIntrospector(jaxbIntrospector));
-    }
-
-    @Override
-    public ObjectMapper getContext(Class<?> objectType) {
-        return mapper;
-    }
-}

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/api/RuleResource.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/api/RuleResource.java
 
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/api/RuleResource.java
index 4158218..fd6979e 100644
--- 
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/api/RuleResource.java
+++ 
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/java/org/apache/nifi/update/attributes/api/RuleResource.java
@@ -16,66 +16,63 @@
  */
 package org.apache.nifi.update.attributes.api;
 
-import java.text.Collator;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Locale;
-import java.util.Set;
-import java.util.UUID;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.CacheControl;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.ResponseBuilder;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriInfo;
-
+import org.apache.commons.lang3.StringUtils;
 import org.apache.nifi.update.attributes.Action;
 import org.apache.nifi.update.attributes.Condition;
 import org.apache.nifi.update.attributes.Criteria;
+import org.apache.nifi.update.attributes.FlowFilePolicy;
 import org.apache.nifi.update.attributes.Rule;
 import org.apache.nifi.update.attributes.UpdateAttributeModelFactory;
 import org.apache.nifi.update.attributes.dto.DtoFactory;
 import org.apache.nifi.update.attributes.dto.RuleDTO;
 import org.apache.nifi.update.attributes.entity.ActionEntity;
 import org.apache.nifi.update.attributes.entity.ConditionEntity;
+import org.apache.nifi.update.attributes.entity.EvaluationContextEntity;
 import org.apache.nifi.update.attributes.entity.RuleEntity;
 import org.apache.nifi.update.attributes.entity.RulesEntity;
 import org.apache.nifi.update.attributes.serde.CriteriaSerDe;
-import org.apache.nifi.web.InvalidRevisionException;
-import org.apache.nifi.web.Revision;
-import org.apache.commons.lang3.StringUtils;
-
-import com.sun.jersey.api.NotFoundException;
-
-import org.apache.nifi.update.attributes.FlowFilePolicy;
-import org.apache.nifi.update.attributes.entity.EvaluationContextEntity;
 import org.apache.nifi.web.ComponentDetails;
 import org.apache.nifi.web.HttpServletConfigurationRequestContext;
 import org.apache.nifi.web.HttpServletRequestContext;
+import org.apache.nifi.web.InvalidRevisionException;
 import org.apache.nifi.web.NiFiWebConfigurationContext;
 import org.apache.nifi.web.NiFiWebConfigurationRequestContext;
 import org.apache.nifi.web.NiFiWebRequestContext;
+import org.apache.nifi.web.Revision;
 import org.apache.nifi.web.UiExtensionType;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.NotFoundException;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.WebApplicationException;
+import javax.ws.rs.core.CacheControl;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.ResponseBuilder;
+import javax.ws.rs.core.UriBuilder;
+import javax.ws.rs.core.UriInfo;
+import java.text.Collator;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Locale;
+import java.util.Set;
+import java.util.UUID;
+
 /**
  *
  */
@@ -255,7 +252,6 @@ public class RuleResource {
     @Path("/rules/conditions")
     public Response createCondition(
             @Context final UriInfo uriInfo,
-            @PathParam("id") final String ruleId,
             final ConditionEntity requestEntity) {
 
         // generate a new id
@@ -289,7 +285,6 @@ public class RuleResource {
     @Path("/rules/actions")
     public Response createAction(
             @Context final UriInfo uriInfo,
-            @PathParam("id") final String ruleId,
             final ActionEntity requestEntity) {
 
         // generate a new id

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/resources/META-INF/NOTICE
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/resources/META-INF/NOTICE
 
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/resources/META-INF/NOTICE
index 81b4318..f4c2711 100644
--- 
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/resources/META-INF/NOTICE
+++ 
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/resources/META-INF/NOTICE
@@ -28,12 +28,20 @@ Common Development and Distribution License 1.1
 
 The following binary components are provided under the Common Development and 
Distribution License 1.1. See project link for details.
 
-    (CDDL 1.1) (GPL2 w/ CPE) jersey-core 
(com.sun.jersey:jersey-core:jar:1.18.3 - https://jersey.java.net/jersey-core/)
-    (CDDL 1.1) (GPL2 w/ CPE) jersey-server 
(com.sun.jersey:jersey-server:jar:1.18.3 - 
https://jersey.java.net/jersey-server/)
-    (CDDL 1.1) (GPL2 w/ CPE) jersey-json 
(com.sun.jersey:jersey-json:jar:1.18.3 - https://jersey.java.net/index.html)
-    (CDDL 1.1) (GPL2 w/ CPE) jersey-servlet 
(com.sun.jersey:jersey-servlet:jar:1.18.3 - https://jersey.java.net/index.html)
+    (CDDL 1.1) (GPL2 w/ CPE) jersey-client 
(org.glassfish.jersey.core:jersey-client:jar:2.26 - https://jersey.github.io/)
+    (CDDL 1.1) (GPL2 w/ CPE) jersey-common 
(org.glassfish.jersey.core:jersey-common:jar:2.26 - https://jersey.github.io/)
+    (CDDL 1.1) (GPL2 w/ CPE) jersey-container-servlet-core 
(org.glassfish.jersey.containers:jersey-container-servlet-core:jar:2.26 - 
https://jersey.github.io/)
+    (CDDL 1.1) (GPL2 w/ CPE) jersey-entity-filtering 
(org.glassfish.jersey.ext:jersey-entity-filtering:jar:2.26 - 
https://jersey.github.io/)
+    (CDDL 1.1) (GPL2 w/ CPE) jersey-hk2 
(org.glassfish.jersey.inject:jersey-hk2:jar:2.26 - https://jersey.github.io/)
+    (CDDL 1.1) (GPL2 w/ CPE) jersey-media-jaxb 
(org.glassfish.jersey.media:jersey-media-jaxb:jar:2.26 - 
https://jersey.github.io/)
+    (CDDL 1.1) (GPL2 w/ CPE) jersey-media-json-jackson 
(org.glassfish.jersey.media:jersey-media-json-jackson:jar:2.26 - 
https://jersey.github.io/)
+    (CDDL 1.1) (GPL2 w/ CPE) jersey-server 
(org.glassfish.jersey.core:jersey-server:jar:2.26 - https://jersey.github.io/)
+    (CDDL 1.1) (GPL2 w/ CPE) hk2-api 
(org.glassfish.hk2.core:hk2-api:jar:2.5.0-b42 - 
https://javaee.github.io/glassfish/)
+    (CDDL 1.1) (GPL2 w/ CPE) hk2-utils 
(org.glassfish.hk2.core:hk2-utils:jar:2.5.0-b42 - 
https://javaee.github.io/glassfish/)
+    (CDDL 1.1) (GPL2 w/ CPE) hk2-locator 
(org.glassfish.hk2.core:hk2-locator:jar:2.5.0-b42 - 
https://javaee.github.io/glassfish/)
     (CDDL 1.1) (GPL2 w/ CPE) Old JAXB Runtime 
(com.sun.xml.bind:jaxb-impl:jar:2.2.3-1 - http://jaxb.java.net/)
     (CDDL 1.1) (GPL2 w/ CPE) Java Architecture For XML Binding 
(javax.xml.bind:jaxb-api:jar:2.2.2 - https://jaxb.dev.java.net/)
+    (CDDL 1.1) (GPL2 w/ CPE) javax.ws.rs-api 
(javax.ws.rs:javax.ws.rs-api:jar:2.1 - http://jax-rs-spec.java.net)
 
 ************************
 Common Development and Distribution License 1.0

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/webapp/WEB-INF/web.xml
 
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/webapp/WEB-INF/web.xml
index a102fe1..595a662 100644
--- 
a/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/webapp/WEB-INF/web.xml
+++ 
b/nifi-nar-bundles/nifi-update-attribute-bundle/nifi-update-attribute-ui/src/main/webapp/WEB-INF/web.xml
@@ -16,14 +16,14 @@
 <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd";>
     <servlet>
         <servlet-name>api</servlet-name>
-        
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
+        
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
         <init-param>
-            <param-name>com.sun.jersey.config.property.packages</param-name>
+            <param-name>jersey.config.server.provider.packages</param-name>
             <param-value>org.apache.nifi.update.attributes.api</param-value>
         </init-param>
         <init-param>
-            <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
-            <param-value>true</param-value>
+            <param-name>jersey.config.server.provider.classnames</param-name>
+            
<param-value>org.apache.nifi.web.util.ObjectMapperResolver;org.glassfish.jersey.jackson.JacksonFeature</param-value>
         </init-param>
     </servlet>
     <servlet-mapping>

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-websocket-bundle/nifi-websocket-processors-nar/src/main/resources/META-INF/NOTICE
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-websocket-bundle/nifi-websocket-processors-nar/src/main/resources/META-INF/NOTICE
 
b/nifi-nar-bundles/nifi-websocket-bundle/nifi-websocket-processors-nar/src/main/resources/META-INF/NOTICE
index 28ec062..706b78b 100644
--- 
a/nifi-nar-bundles/nifi-websocket-bundle/nifi-websocket-processors-nar/src/main/resources/META-INF/NOTICE
+++ 
b/nifi-nar-bundles/nifi-websocket-bundle/nifi-websocket-processors-nar/src/main/resources/META-INF/NOTICE
@@ -22,3 +22,26 @@ The following binary components are provided under the 
Apache Software License v
     The following NOTICE information applies:
       Apache Commons IO
       Copyright 2002-2016 The Apache Software Foundation
+
+  (ASLv2) Jackson JSON processor
+    The following NOTICE information applies:
+      # Jackson JSON processor
+
+      Jackson is a high-performance, Free/Open Source JSON processing library.
+      It was originally written by Tatu Saloranta ([email protected]), and 
has
+      been in development since 2007.
+      It is currently developed by a community of developers, as well as 
supported
+      commercially by FasterXML.com.
+
+      ## Licensing
+
+      Jackson core and extension components may licensed under different 
licenses.
+      To find the details that apply to this artifact see the accompanying 
LICENSE file.
+      For more information, including possible other licensing options, contact
+      FasterXML.com (http://fasterxml.com).
+
+      ## Credits
+
+      A list of contributors may be found from CREDITS file, which is included
+      in some artifacts (usually source distributions); but is always available
+      from the source code management (SCM) system project uses.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-websocket-bundle/nifi-websocket-services-api-nar/src/main/resources/META-INF/NOTICE
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-websocket-bundle/nifi-websocket-services-api-nar/src/main/resources/META-INF/NOTICE
 
b/nifi-nar-bundles/nifi-websocket-bundle/nifi-websocket-services-api-nar/src/main/resources/META-INF/NOTICE
index bd3eab3..62a5cb0 100644
--- 
a/nifi-nar-bundles/nifi-websocket-bundle/nifi-websocket-services-api-nar/src/main/resources/META-INF/NOTICE
+++ 
b/nifi-nar-bundles/nifi-websocket-bundle/nifi-websocket-services-api-nar/src/main/resources/META-INF/NOTICE
@@ -22,3 +22,26 @@ The following binary components are provided under the 
Apache Software License v
     The following NOTICE information applies:
       Apache Commons IO
       Copyright 2002-2016 The Apache Software Foundation
+
+  (ASLv2) Jackson JSON processor
+    The following NOTICE information applies:
+      # Jackson JSON processor
+
+      Jackson is a high-performance, Free/Open Source JSON processing library.
+      It was originally written by Tatu Saloranta ([email protected]), and 
has
+      been in development since 2007.
+      It is currently developed by a community of developers, as well as 
supported
+      commercially by FasterXML.com.
+
+      ## Licensing
+
+      Jackson core and extension components may licensed under different 
licenses.
+      To find the details that apply to this artifact see the accompanying 
LICENSE file.
+      For more information, including possible other licensing options, contact
+      FasterXML.com (http://fasterxml.com).
+
+      ## Credits
+
+      A list of contributors may be found from CREDITS file, which is included
+      in some artifacts (usually source distributions); but is always available
+      from the source code management (SCM) system project uses.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-nar-bundles/nifi-websocket-bundle/nifi-websocket-services-jetty-nar/src/main/resources/META-INF/NOTICE
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-websocket-bundle/nifi-websocket-services-jetty-nar/src/main/resources/META-INF/NOTICE
 
b/nifi-nar-bundles/nifi-websocket-bundle/nifi-websocket-services-jetty-nar/src/main/resources/META-INF/NOTICE
index 3f5de5b..3c80381 100644
--- 
a/nifi-nar-bundles/nifi-websocket-bundle/nifi-websocket-services-jetty-nar/src/main/resources/META-INF/NOTICE
+++ 
b/nifi-nar-bundles/nifi-websocket-bundle/nifi-websocket-services-jetty-nar/src/main/resources/META-INF/NOTICE
@@ -27,3 +27,26 @@ The following binary components are provided under the 
Apache Software License v
     The following NOTICE information applies:
        Jetty Web Container
        Copyright 1995-2017 Mort Bay Consulting Pty Ltd.
+
+  (ASLv2) Jackson JSON processor
+    The following NOTICE information applies:
+      # Jackson JSON processor
+
+      Jackson is a high-performance, Free/Open Source JSON processing library.
+      It was originally written by Tatu Saloranta ([email protected]), and 
has
+      been in development since 2007.
+      It is currently developed by a community of developers, as well as 
supported
+      commercially by FasterXML.com.
+
+      ## Licensing
+
+      Jackson core and extension components may licensed under different 
licenses.
+      To find the details that apply to this artifact see the accompanying 
LICENSE file.
+      For more information, including possible other licensing options, contact
+      FasterXML.com (http://fasterxml.com).
+
+      ## Credits
+
+      A list of contributors may be found from CREDITS file, which is included
+      in some artifacts (usually source distributions); but is always available
+      from the source code management (SCM) system project uses.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-toolkit/nifi-toolkit-admin/pom.xml
----------------------------------------------------------------------
diff --git a/nifi-toolkit/nifi-toolkit-admin/pom.xml 
b/nifi-toolkit/nifi-toolkit-admin/pom.xml
index f49c5ce..d28ef8a 100644
--- a/nifi-toolkit/nifi-toolkit-admin/pom.xml
+++ b/nifi-toolkit/nifi-toolkit-admin/pom.xml
@@ -34,10 +34,6 @@ language governing permissions and limitations under the 
License. -->
             <artifactId>nifi-toolkit-tls</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-client</artifactId>
-        </dependency>
-        <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-databind</artifactId>
             <version>${jackson.version}</version>
@@ -99,24 +95,19 @@ language governing permissions and limitations under the 
License. -->
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-mapper-asl</artifactId>
-            <version>${jackson.old.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.jaxrs</groupId>
-            <artifactId>jackson-jaxrs-json-provider</artifactId>
-            <version>RELEASE</version>
+            <groupId>org.glassfish.jersey.core</groupId>
+            <artifactId>jersey-client</artifactId>
+            <version>${jersey.version}</version>
         </dependency>
         <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-bundle</artifactId>
-            <version>RELEASE</version>
+            <groupId>org.glassfish.jersey.media</groupId>
+            <artifactId>jersey-media-json-jackson</artifactId>
+            <version>${jersey.version}</version>
         </dependency>
         <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-json</artifactId>
-            <version>RELEASE</version>
+            <groupId>org.glassfish.jersey.inject</groupId>
+            <artifactId>jersey-hk2</artifactId>
+            <version>${jersey.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.commons</groupId>

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/client/ClientFactory.groovy
----------------------------------------------------------------------
diff --git 
a/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/client/ClientFactory.groovy
 
b/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/client/ClientFactory.groovy
index 960ac6a..b5c12e1 100644
--- 
a/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/client/ClientFactory.groovy
+++ 
b/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/client/ClientFactory.groovy
@@ -17,9 +17,10 @@
 
 package org.apache.nifi.toolkit.admin.client
 
-import com.sun.jersey.api.client.Client
 import org.apache.nifi.util.NiFiProperties
 
+import javax.ws.rs.client.Client
+
 interface ClientFactory {
 
     Client getClient(NiFiProperties niFiProperties, String nifiInstallDir) 
throws Exception

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/client/NiFiClientFactory.groovy
----------------------------------------------------------------------
diff --git 
a/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/client/NiFiClientFactory.groovy
 
b/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/client/NiFiClientFactory.groovy
index 5c0333a..abafbf0 100644
--- 
a/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/client/NiFiClientFactory.groovy
+++ 
b/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/client/NiFiClientFactory.groovy
@@ -16,10 +16,6 @@
  */
 package org.apache.nifi.toolkit.admin.client
 
-import com.sun.jersey.api.client.Client
-import com.sun.jersey.api.client.config.ClientConfig
-import com.sun.jersey.api.client.config.DefaultClientConfig
-import com.sun.jersey.client.urlconnection.HTTPSProperties
 import org.apache.commons.lang3.StringUtils
 import org.apache.nifi.security.util.CertificateUtils
 import org.apache.nifi.util.NiFiProperties
@@ -34,6 +30,8 @@ import javax.net.ssl.SSLContext
 import javax.net.ssl.SSLPeerUnverifiedException
 import javax.net.ssl.SSLSession
 import javax.net.ssl.TrustManagerFactory
+import javax.ws.rs.client.Client
+import javax.ws.rs.client.ClientBuilder
 import java.security.KeyManagementException
 import java.security.KeyStore
 import java.security.KeyStoreException
@@ -82,13 +80,13 @@ class NiFiClientFactory implements ClientFactory{
                     "TLS");
         }
 
-        final ClientConfig config = new DefaultClientConfig();
+        final ClientBuilder clientBuilder = ClientBuilder.newBuilder();
 
         if (sslContext != null) {
-            
config.getProperties().put(HTTPSProperties.PROPERTY_HTTPS_PROPERTIES,new 
HTTPSProperties(new NiFiHostnameVerifier(), sslContext))
+            clientBuilder.sslContext(sslContext).hostnameVerifier(new 
NiFiHostnameVerifier());
         }
 
-        return  Client.create(config)
+        return clientBuilder.build();
 
     }
 

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/client/NiFiClientUtil.groovy
----------------------------------------------------------------------
diff --git 
a/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/client/NiFiClientUtil.groovy
 
b/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/client/NiFiClientUtil.groovy
index 011cb1a..89ab169 100644
--- 
a/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/client/NiFiClientUtil.groovy
+++ 
b/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/client/NiFiClientUtil.groovy
@@ -18,9 +18,6 @@ package org.apache.nifi.toolkit.admin.client
 
 import com.fasterxml.jackson.databind.ObjectMapper
 import com.google.common.collect.Lists
-import com.sun.jersey.api.client.Client
-import com.sun.jersey.api.client.ClientResponse
-import com.sun.jersey.api.client.WebResource
 import org.apache.nifi.util.NiFiProperties
 import org.apache.nifi.util.StringUtils
 import org.apache.nifi.web.api.dto.NodeDTO
@@ -31,6 +28,9 @@ import org.apache.nifi.web.security.ProxiedEntitiesUtils
 import org.slf4j.Logger
 import org.slf4j.LoggerFactory
 
+import javax.ws.rs.client.Client
+import javax.ws.rs.client.WebTarget
+import javax.ws.rs.core.Response
 import java.text.SimpleDateFormat
 
 public class NiFiClientUtil {
@@ -98,13 +98,13 @@ public class NiFiClientUtil {
             try {
 
                 String url = activeUrl + GET_CLUSTER_ENDPOINT
-                final WebResource webResource = client.resource(url)
-                ClientResponse response
+                final WebTarget webTarget = client.target(url)
+                Response response
 
                 if(url.startsWith("https")) {
-                    response = 
webResource.type("application/json").header(ProxiedEntitiesUtils.PROXY_ENTITIES_CHAIN,
 ProxiedEntitiesUtils.formatProxyDn(proxyDN)).get(ClientResponse.class)
+                    response = 
webTarget.request().header(ProxiedEntitiesUtils.PROXY_ENTITIES_CHAIN, 
ProxiedEntitiesUtils.formatProxyDn(proxyDN)).get()
                 }else{
-                    response = 
webResource.type("application/json").get(ClientResponse.class)
+                    response = webTarget.request().get()
                 }
 
                 Integer status = response.status
@@ -113,10 +113,10 @@ public class NiFiClientUtil {
                     if (status == 404) {
                         logger.warn("This node is not attached to a cluster. 
Please connect to a node that is attached to the cluster for information")
                     } else {
-                        logger.warn("Failed with HTTP error code: {}, message: 
{}", status, response.getEntity(String.class))
+                        logger.warn("Failed with HTTP error code: {}, message: 
{}", status, response.readEntity(String.class))
                     }
                 } else if (status == 200) {
-                    return response.getEntity(ClusterEntity.class)
+                    return response.readEntity(ClusterEntity.class)
                 }
 
             }catch(Exception ex){

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/nodemanager/NodeManagerTool.groovy
----------------------------------------------------------------------
diff --git 
a/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/nodemanager/NodeManagerTool.groovy
 
b/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/nodemanager/NodeManagerTool.groovy
index 3290fc3..de5aeb4 100644
--- 
a/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/nodemanager/NodeManagerTool.groovy
+++ 
b/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/nodemanager/NodeManagerTool.groovy
@@ -17,19 +17,16 @@
 
 package org.apache.nifi.toolkit.admin.nodemanager
 
-import com.sun.jersey.api.client.Client
-import com.sun.jersey.api.client.ClientResponse
-import com.sun.jersey.api.client.WebResource
-import org.apache.nifi.toolkit.admin.AbstractAdminTool
-import org.apache.nifi.toolkit.admin.client.NiFiClientUtil
 import org.apache.commons.cli.CommandLine
 import org.apache.commons.cli.DefaultParser
 import org.apache.commons.cli.Option
 import org.apache.commons.cli.Options
 import org.apache.commons.cli.ParseException
 import org.apache.nifi.properties.NiFiPropertiesLoader
+import org.apache.nifi.toolkit.admin.AbstractAdminTool
 import org.apache.nifi.toolkit.admin.client.ClientFactory
 import org.apache.nifi.toolkit.admin.client.NiFiClientFactory
+import org.apache.nifi.toolkit.admin.client.NiFiClientUtil
 import org.apache.nifi.toolkit.admin.util.AdminUtil
 import org.apache.nifi.util.NiFiProperties
 import org.apache.nifi.util.StringUtils
@@ -40,6 +37,10 @@ import org.apache.nifi.web.security.ProxiedEntitiesUtils
 import org.slf4j.Logger
 import org.slf4j.LoggerFactory
 
+import javax.ws.rs.client.Client
+import javax.ws.rs.client.Entity
+import javax.ws.rs.client.WebTarget
+import javax.ws.rs.core.Response
 import java.nio.file.Paths
 
 public class NodeManagerTool extends AbstractAdminTool {
@@ -95,8 +96,8 @@ public class NodeManagerTool extends AbstractAdminTool {
         return nodeDTOs.find{ it.address == nodeHost }
     }
 
-    NodeEntity updateNode(final String url, final Client client, final NodeDTO 
nodeDTO, final STATUS nodeStatus,final String proxyDN){
-        final WebResource webResource = client.resource(url)
+    NodeEntity updateNode(final String url, final Client client, final NodeDTO 
nodeDTO, final STATUS nodeStatus, final String proxyDN){
+        final WebTarget webTarget = client.target(url)
         nodeDTO.status = nodeStatus
         String json = NiFiClientUtil.convertToJson(nodeDTO)
 
@@ -104,37 +105,37 @@ public class NodeManagerTool extends AbstractAdminTool {
             logger.info("Sending node info for update: " + json)
         }
 
-        ClientResponse response
+        Response response
 
         if(url.startsWith("https")) {
-            response = 
webResource.type("application/json").header(ProxiedEntitiesUtils.PROXY_ENTITIES_CHAIN,
 ProxiedEntitiesUtils.formatProxyDn(proxyDN)).put(ClientResponse.class, json)
+            response = 
webTarget.request().header(ProxiedEntitiesUtils.PROXY_ENTITIES_CHAIN, 
ProxiedEntitiesUtils.formatProxyDn(proxyDN)).put(Entity.json(json))
         }else{
-            response = 
webResource.type("application/json").put(ClientResponse.class, json)
+            response = webTarget.request().put(Entity.json(json))
         }
 
         if(response.status != 200){
-            throw new RuntimeException("Failed with HTTP error code " + 
response.status + " with reason: " +response.getEntity(String.class))
+            throw new RuntimeException("Failed with HTTP error code " + 
response.status + " with reason: " + response.readEntity(String.class))
         }else{
-            response.getEntity(NodeEntity.class)
+            response.readEntity(NodeEntity.class)
         }
     }
 
     void deleteNode(final String url, final Client client, final String 
proxyDN){
-        final WebResource webResource = client.resource(url)
+        final WebTarget webTarget = client.target(url)
 
         if(isVerbose){
             logger.info("Attempting to delete node" )
         }
-        ClientResponse response
+        Response response
 
         if(url.startsWith("https")) {
-            response = 
webResource.type("application/json").header(ProxiedEntitiesUtils.PROXY_ENTITIES_CHAIN,
 ProxiedEntitiesUtils.formatProxyDn(proxyDN)).delete(ClientResponse.class)
+            response = 
webTarget.request().header(ProxiedEntitiesUtils.PROXY_ENTITIES_CHAIN, 
ProxiedEntitiesUtils.formatProxyDn(proxyDN)).delete()
         }else{
-            response = 
webResource.type("application/json").delete(ClientResponse.class)
+            response = webTarget.request().delete()
         }
 
         if(response.status != 200){
-            throw new RuntimeException("Failed with HTTP error code " + 
response.status + " with reason: " +response.getEntity(String.class))
+            throw new RuntimeException("Failed with HTTP error code " + 
response.status + " with reason: " + response.readEntity(String.class))
         }
     }
 
@@ -146,18 +147,18 @@ public class NodeManagerTool extends AbstractAdminTool {
 
         for(String activeUrl: activeUrls) {
             final String url = activeUrl + NIFI_ENDPOINT
-            final WebResource webResource = client.resource(url)
+            final WebTarget webTarget = client.target(url)
 
             if (isVerbose) {
                 logger.info("Checking if node is available")
             }
 
             try {
-                final ClientResponse response = 
webResource.get(ClientResponse.class)
+                final Response response = webTarget.request().get()
                 if (response.status == 200) {
                     System.out.println("NiFi Node is running and available at 
"+url)
                 } else {
-                    System.out.println("Attempt to contact NiFi Node at 
"+url+" returned Response Code: " + response.status + " with reason: " + 
response.getEntity(String.class))
+                    System.out.println("Attempt to contact NiFi Node at 
"+url+" returned Response Code: " + response.status + " with reason: " + 
response.readEntity(String.class))
                 }
             } catch (Exception ex) {
                 System.out.println("Attempt to contact NiFi Node "+url+" did 
not complete due to exception: " + ex.localizedMessage)

http://git-wip-us.apache.org/repos/asf/nifi/blob/6baea8cc/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/notify/NotificationTool.groovy
----------------------------------------------------------------------
diff --git 
a/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/notify/NotificationTool.groovy
 
b/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/notify/NotificationTool.groovy
index 0405dbf..df538e8 100644
--- 
a/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/notify/NotificationTool.groovy
+++ 
b/nifi-toolkit/nifi-toolkit-admin/src/main/groovy/org/apache/nifi/toolkit/admin/notify/NotificationTool.groovy
@@ -17,20 +17,17 @@
 
 package org.apache.nifi.toolkit.admin.notify
 
-import com.sun.jersey.api.client.Client
-import com.sun.jersey.api.client.ClientResponse
-import com.sun.jersey.api.client.WebResource
-import org.apache.commons.lang3.StringUtils
-import org.apache.nifi.toolkit.admin.client.NiFiClientUtil
 import org.apache.commons.cli.CommandLine
 import org.apache.commons.cli.DefaultParser
 import org.apache.commons.cli.Option
 import org.apache.commons.cli.Options
 import org.apache.commons.cli.ParseException
+import org.apache.commons.lang3.StringUtils
 import org.apache.nifi.properties.NiFiPropertiesLoader
 import org.apache.nifi.toolkit.admin.AbstractAdminTool
 import org.apache.nifi.toolkit.admin.client.ClientFactory
 import org.apache.nifi.toolkit.admin.client.NiFiClientFactory
+import org.apache.nifi.toolkit.admin.client.NiFiClientUtil
 import org.apache.nifi.toolkit.admin.util.AdminUtil
 import org.apache.nifi.util.NiFiProperties
 import org.apache.nifi.web.api.dto.BulletinDTO
@@ -39,6 +36,10 @@ import org.apache.nifi.web.security.ProxiedEntitiesUtils
 import org.slf4j.Logger
 import org.slf4j.LoggerFactory
 
+import javax.ws.rs.client.Client
+import javax.ws.rs.client.Entity
+import javax.ws.rs.client.WebTarget
+import javax.ws.rs.core.Response
 import java.nio.file.Paths
 
 public class NotificationTool extends AbstractAdminTool {
@@ -91,7 +92,7 @@ public class NotificationTool extends AbstractAdminTool {
         final NiFiProperties niFiProperties = 
NiFiPropertiesLoader.withKey(key).load(nifiPropertiesFile)
         final Client client =  
clientFactory.getClient(niFiProperties,nifiInstallDir)
         final String url = 
NiFiClientUtil.getUrl(niFiProperties,NOTIFICATION_ENDPOINT)
-        final WebResource webResource = client.resource(url)
+        final WebTarget webTarget = client.target(url)
 
         if(isVerbose){
             logger.info("Contacting node at url:" + url)
@@ -104,17 +105,17 @@ public class NotificationTool extends AbstractAdminTool {
         bulletinDTO.level = StringUtils.isEmpty(level) ? "INFO" : level
         bulletinEntity.bulletin = bulletinDTO
 
-        ClientResponse response
+        Response response
         
if(!org.apache.nifi.util.StringUtils.isEmpty(niFiProperties.getProperty(NiFiProperties.WEB_HTTPS_PORT)))
 {
 
             if(StringUtils.isEmpty(proxyDN)){
                 throw new UnsupportedOperationException("Proxy DN is required 
for sending a notification to this node or cluster")
             }
 
-            response = 
webResource.type("application/json").header(ProxiedEntitiesUtils.PROXY_ENTITIES_CHAIN,
 ProxiedEntitiesUtils.formatProxyDn(proxyDN)).post(ClientResponse.class, 
bulletinEntity)
+            response = 
webTarget.request().header(ProxiedEntitiesUtils.PROXY_ENTITIES_CHAIN, 
ProxiedEntitiesUtils.formatProxyDn(proxyDN)).post(Entity.json(bulletinEntity))
         }
         else {
-            response = 
webResource.type("application/json").post(ClientResponse.class, bulletinEntity)
+            response = webTarget.request().post(Entity.json(bulletinEntity))
         }
 
         Integer status = response.getStatus()
@@ -123,7 +124,7 @@ public class NotificationTool extends AbstractAdminTool {
             if(status == 404){
                 throw new RuntimeException("The notification feature is not 
supported by each node in the cluster")
             }else{
-                throw new RuntimeException("Failed with HTTP error code " + 
status + " with reason: " +response.getEntity(String.class))
+                throw new RuntimeException("Failed with HTTP error code " + 
status + " with reason: " + response.readEntity(String.class))
             }
         }
 

Reply via email to