IGNITE-9340 Update jetty version in Apache Ignite (ignite-rest-http) - Fixes 
#4602.

Signed-off-by: Dmitriy Pavlov <dpav...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/0a9ede2d
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/0a9ede2d
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/0a9ede2d

Branch: refs/heads/ignite-9273
Commit: 0a9ede2d853fc9ae07fe53c96464d4a8091f25b9
Parents: b369ff0
Author: Dmitriy Pavlov <dpav...@apache.org>
Authored: Thu Aug 23 16:59:20 2018 +0300
Committer: Dmitriy Pavlov <dpav...@apache.org>
Committed: Thu Aug 23 16:59:20 2018 +0300

----------------------------------------------------------------------
 modules/rest-http/pom.xml                       | 22 ++++++
 .../http/jetty/GridJettyRestHandler.java        |  8 +--
 .../http/jetty/GridJettyRestProtocol.java       | 12 ++--
 .../protocols/http/jetty/GridRestSuite.java     | 35 +++++++++
 .../http/jetty/RestSetupSimpleTest.java         | 76 ++++++++++++++++++++
 .../http/GridHttpDeploymentSelfTest.java        | 12 +---
 .../internal/websession/WebSessionSelfTest.java | 39 ++++++----
 parent/pom.xml                                  |  2 +-
 8 files changed, 171 insertions(+), 35 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/0a9ede2d/modules/rest-http/pom.xml
----------------------------------------------------------------------
diff --git a/modules/rest-http/pom.xml b/modules/rest-http/pom.xml
index 8cc31da..84dc8a4 100644
--- a/modules/rest-http/pom.xml
+++ b/modules/rest-http/pom.xml
@@ -130,6 +130,28 @@
             <groupId>log4j</groupId>
             <artifactId>log4j</artifactId>
         </dependency>
+
+        <dependency>
+            <groupId>org.apache.ignite</groupId>
+            <artifactId>ignite-core</artifactId>
+            <version>${project.version}</version>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-beans</artifactId>
+            <version>${spring-5.0.version}</version>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context</artifactId>
+            <version>${spring-5.0.version}</version>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
     <build>

http://git-wip-us.apache.org/repos/asf/ignite/blob/0a9ede2d/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
----------------------------------------------------------------------
diff --git 
a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
 
b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
index 99a8844..729016b 100644
--- 
a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
+++ 
b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
@@ -86,13 +86,13 @@ public class GridJettyRestHandler extends AbstractHandler {
     private static final String CHARSET = StandardCharsets.UTF_8.name();
 
     /** */
-    private static final String  USER_PARAM = "user";
+    private static final String USER_PARAM = "user";
 
     /** */
-    private static final String  PWD_PARAM = "password";
+    private static final String PWD_PARAM = "password";
 
     /** */
-    private static final String  CACHE_NAME_PARAM = "cacheName";
+    private static final String CACHE_NAME_PARAM = "cacheName";
 
     /** */
     private static final String BACKUPS_PARAM = "backups";
@@ -113,7 +113,7 @@ public class GridJettyRestHandler extends AbstractHandler {
     private static final String IGNITE_PASSWORD = "ignite.password";
 
     /** */
-    private static final String  TEMPLATE_NAME_PARAM = "templateName";
+    private static final String TEMPLATE_NAME_PARAM = "templateName";
 
     /** */
     private static final NullOutputStream NULL_OUTPUT_STREAM = new 
NullOutputStream();

http://git-wip-us.apache.org/repos/asf/ignite/blob/0a9ede2d/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java
----------------------------------------------------------------------
diff --git 
a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java
 
b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java
index 11c0eb6..1818d7c 100644
--- 
a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java
+++ 
b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestProtocol.java
@@ -63,13 +63,11 @@ public class GridJettyRestProtocol extends 
GridRestProtocolAdapter {
      */
     static {
         if (!IgniteSystemProperties.getBoolean(IGNITE_JETTY_LOG_NO_OVERRIDE)) {
-            Properties p = new Properties();
-
-            p.setProperty("org.eclipse.jetty.LEVEL", "WARN");
-            p.setProperty("org.eclipse.jetty.util.log.LEVEL", "OFF");
-            p.setProperty("org.eclipse.jetty.util.component.LEVEL", "OFF");
-
-            StdErrLog.setProperties(p);
+            // See also 
https://www.eclipse.org/jetty/documentation/9.4.x/configuring-logging.html
+            // It seems that using system properties should be fine.
+            System.setProperty("org.eclipse.jetty.LEVEL", "WARN");
+            System.setProperty("org.eclipse.jetty.util.log.LEVEL", "OFF");
+            System.setProperty("org.eclipse.jetty.util.component.LEVEL", 
"OFF");
 
             try {
                 Class<?> logCls = Class.forName("org.apache.log4j.Logger");

http://git-wip-us.apache.org/repos/asf/ignite/blob/0a9ede2d/modules/rest-http/src/test/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridRestSuite.java
----------------------------------------------------------------------
diff --git 
a/modules/rest-http/src/test/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridRestSuite.java
 
b/modules/rest-http/src/test/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridRestSuite.java
new file mode 100644
index 0000000..c69ce7f
--- /dev/null
+++ 
b/modules/rest-http/src/test/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridRestSuite.java
@@ -0,0 +1,35 @@
+/*
+ * 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.ignite.internal.processors.rest.protocols.http.jetty;
+
+import junit.framework.TestSuite;
+
+/**
+ * Integration tests for Grid REST functionality; Jetty is under the hood.
+ */
+public class GridRestSuite extends TestSuite {
+    /**
+     * @return Suite that contains all tests for REST.
+     */
+    public static TestSuite suite() {
+        TestSuite suite = new TestSuite("Apache Ignite REST Api suite");
+
+        suite.addTest(new TestSuite(RestSetupSimpleTest.class));
+
+        return suite;
+    }
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/0a9ede2d/modules/rest-http/src/test/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/RestSetupSimpleTest.java
----------------------------------------------------------------------
diff --git 
a/modules/rest-http/src/test/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/RestSetupSimpleTest.java
 
b/modules/rest-http/src/test/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/RestSetupSimpleTest.java
new file mode 100644
index 0000000..7c076f7
--- /dev/null
+++ 
b/modules/rest-http/src/test/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/RestSetupSimpleTest.java
@@ -0,0 +1,76 @@
+/*
+ * 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.ignite.internal.processors.rest.protocols.http.jetty;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.Map;
+import org.apache.ignite.configuration.ConnectorConfiguration;
+import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
+
+/**
+ * Integration test for Grid REST functionality; Jetty is under the hood.
+ */
+public class RestSetupSimpleTest extends GridCommonAbstractTest {
+    /** Jetty port. */
+    private static final int JETTY_PORT = 8080;
+
+    /** {@inheritDoc} */
+    @Override protected IgniteConfiguration getConfiguration(String 
igniteInstanceName) throws Exception {
+        IgniteConfiguration configuration = 
super.getConfiguration(igniteInstanceName);
+
+        configuration.setConnectorConfiguration(new ConnectorConfiguration());
+
+        return configuration;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void beforeTestsStarted() throws Exception {
+        startGrid(0);
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void afterTestsStopped() throws Exception {
+        stopAllGrids(true);
+    }
+
+    /**
+     * Runs version command using GridJettyRestProtocol.
+     */
+    public void testVersionCommand() throws Exception {
+        URLConnection conn = new URL("http://localhost:"; + JETTY_PORT + 
"/ignite?cmd=version").openConnection();
+
+        conn.connect();
+
+        try (InputStreamReader streamReader = new 
InputStreamReader(conn.getInputStream())) {
+            ObjectMapper objMapper = new ObjectMapper();
+            Map<String, Object> myMap = objMapper.readValue(streamReader,
+                new TypeReference<Map<String, Object>>() {
+                });
+
+            log.info("Version command response is: " + myMap);
+
+            assertTrue(myMap.containsKey("response"));
+            assertEquals(0, myMap.get("successStatus"));
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/0a9ede2d/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/scanners/http/GridHttpDeploymentSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/scanners/http/GridHttpDeploymentSelfTest.java
 
b/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/scanners/http/GridHttpDeploymentSelfTest.java
index c0044c3..00c4d67 100644
--- 
a/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/scanners/http/GridHttpDeploymentSelfTest.java
+++ 
b/modules/urideploy/src/test/java/org/apache/ignite/spi/deployment/uri/scanners/http/GridHttpDeploymentSelfTest.java
@@ -21,7 +21,6 @@ import java.io.File;
 import java.io.IOException;
 import java.util.Collections;
 import java.util.List;
-import javax.servlet.http.HttpServletResponse;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.spi.deployment.uri.GridUriDeploymentAbstractSelfTest;
 import org.apache.ignite.spi.deployment.uri.UriDeploymentSpi;
@@ -31,9 +30,6 @@ import 
org.apache.ignite.testframework.junits.spi.GridSpiTestConfig;
 import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.server.ServerConnector;
 import org.eclipse.jetty.server.handler.ResourceHandler;
-import org.eclipse.jetty.util.resource.Resource;
-
-import static org.eclipse.jetty.http.HttpHeader.LAST_MODIFIED;
 
 /**
  * Test http scanner.
@@ -80,13 +76,7 @@ public class GridHttpDeploymentSelfTest extends 
GridUriDeploymentAbstractSelfTes
 
         srv.addConnector(conn);
 
-        ResourceHandler hnd = new ResourceHandler() {
-            @Override protected void doResponseHeaders(HttpServletResponse 
resp, Resource res, String mimeTyp) {
-                super.doResponseHeaders(resp, res, mimeTyp);
-
-                resp.setDateHeader(LAST_MODIFIED.asString(), 
res.lastModified());
-            }
-        };
+        ResourceHandler hnd = new ResourceHandler();
 
         hnd.setDirectoriesListed(true);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/0a9ede2d/modules/web/src/test/java/org/apache/ignite/internal/websession/WebSessionSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/web/src/test/java/org/apache/ignite/internal/websession/WebSessionSelfTest.java
 
b/modules/web/src/test/java/org/apache/ignite/internal/websession/WebSessionSelfTest.java
index e566624..269b273 100644
--- 
a/modules/web/src/test/java/org/apache/ignite/internal/websession/WebSessionSelfTest.java
+++ 
b/modules/web/src/test/java/org/apache/ignite/internal/websession/WebSessionSelfTest.java
@@ -65,6 +65,12 @@ public class WebSessionSelfTest extends 
GridCommonAbstractTest {
     /** Servers count in load test. */
     private static final int SRV_CNT = 3;
 
+    /** Session invalidated marker. Added to HTTP response to indicate that 
session invalidation was successful. */
+    public static final String INVALIDATED = "invalidated";
+
+    /** Session invalidated failed marker fot HTTP reponse. */
+    public static final String FAILED = "failed";
+
     /**
      * @return Name of the cache for this test.
      */
@@ -675,7 +681,13 @@ public class WebSessionSelfTest extends 
GridCommonAbstractTest {
 
                 assertEquals("true", reqSesValid);
 
-                assertEquals("invalidated", rdr.readLine());
+                StringBuilder sb = new StringBuilder();
+                String line;
+
+                while ((line = rdr.readLine()) != null)
+                    sb.append(line);
+
+                assertTrue(sb.toString().contains(INVALIDATED));
             }
         }
         finally {
@@ -1075,10 +1087,11 @@ public class WebSessionSelfTest extends 
GridCommonAbstractTest {
 
                 try {
                     req.getSession().invalidate();
-                    res.getWriter().println("invalidated");
+
+                    res.getWriter().println(INVALIDATED);
                 }
                 catch (Exception ignored) {
-                    res.getWriter().println("failed");
+                    res.getWriter().println(FAILED);
                 }
 
                 res.getWriter().flush();
@@ -1120,10 +1133,10 @@ public class WebSessionSelfTest extends 
GridCommonAbstractTest {
                 res.getWriter().flush();
 
             } else if (req.getPathInfo().equals("/simple")) {
-                HttpSession session = req.getSession();
-                X.println(">>>", "Request session simple: " + session.getId(), 
">>>");
+                HttpSession ses = req.getSession();
+                X.println(">>>", "Request session simple: " + ses.getId(), 
">>>");
 
-                res.getWriter().write(session.getId());
+                res.getWriter().write(ses.getId());
 
                 res.getWriter().flush();
             }
@@ -1138,11 +1151,11 @@ public class WebSessionSelfTest extends 
GridCommonAbstractTest {
                     X.printerrln("Login failed due to exception.", e);
                 }
 
-                HttpSession session = req.getSession();
+                HttpSession ses = req.getSession();
 
-                X.println(">>>", "Logged In session: " + session.getId(), 
">>>");
+                X.println(">>>", "Logged In session: " + ses.getId(), ">>>");
 
-                res.getWriter().write(session.getId());
+                res.getWriter().write(ses.getId());
 
                 res.getWriter().flush();
             }
@@ -1248,9 +1261,11 @@ public class WebSessionSelfTest extends 
GridCommonAbstractTest {
 
         /** {@inheritDoc} */
         @Override public int hashCode() {
-            int result = val != null ? val.hashCode() : 0;
-            result = 31 * result + (keepBinaryFlag ? 1 : 0);
-            return result;
+            int res = val != null ? val.hashCode() : 0;
+
+            res = 31 * res + (keepBinaryFlag ? 1 : 0);
+
+            return res;
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/0a9ede2d/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index 7c3d879..6b18bbb 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -80,7 +80,7 @@
         <javax.cache.tck.version>1.0.1</javax.cache.tck.version>
         <javax.cache.version>1.0.0</javax.cache.version>
         <jetbrains.annotations.version>13.0</jetbrains.annotations.version>
-        <jetty.version>9.2.11.v20150529</jetty.version>
+        <jetty.version>9.4.11.v20180605</jetty.version>
         <jmh.version>1.13</jmh.version>
         <jms.spec.version>1.1.1</jms.spec.version>
         <jsch.bundle.version>0.1.54_1</jsch.bundle.version>

Reply via email to