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)) } }
