Skip to content

Commit

Permalink
Merge branch 'github/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
pavelbucek committed Feb 26, 2016
2 parents b0fc74e + e136f0a commit 8c06e4c
Show file tree
Hide file tree
Showing 139 changed files with 15,692 additions and 229 deletions.
23 changes: 7 additions & 16 deletions archetypes/jersey-example-java8-webapp/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
Copyright (c) 2015 Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2015-2016 Oracle and/or its affiliates. All rights reserved.
The contents of this file are subject to the terms of either the GNU
General Public License Version 2 only ("GPL") or the Common Development
Expand Down Expand Up @@ -55,20 +55,11 @@
<description>Jersey (Java8) WebApp Example Archetype.</description>

<build>
<extensions>
<extension>
<groupId>org.apache.maven.archetype</groupId>
<artifactId>archetype-packaging</artifactId>
<version>2.3</version>
</extension>
</extensions>

<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-archetype-plugin</artifactId>
<version>2.3</version>
</plugin>
</plugins>
<resources>
<resource>
<directory>${basedir}/src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
</project>
3 changes: 2 additions & 1 deletion archetypes/jersey-heroku-webapp/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
Copyright (c) 2013-2015 Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2013-2016 Oracle and/or its affiliates. All rights reserved.
The contents of this file are subject to the terms of either the GNU
General Public License Version 2 only ("GPL") or the Common Development
Expand Down Expand Up @@ -47,6 +47,7 @@
<artifactId>project</artifactId>
<version>3.0-SNAPSHOT</version>
</parent>
<packaging>maven-archetype</packaging>

<artifactId>jersey-heroku-webapp</artifactId>
<name>jersey-archetype-heroku-webapp</name>
Expand Down
4 changes: 3 additions & 1 deletion archetypes/jersey-quickstart-grizzly2/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
Copyright (c) 2010-2015 Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2010-2016 Oracle and/or its affiliates. All rights reserved.
The contents of this file are subject to the terms of either the GNU
General Public License Version 2 only ("GPL") or the Common Development
Expand Down Expand Up @@ -47,11 +47,13 @@
<version>3.0-SNAPSHOT</version>
</parent>
<artifactId>jersey-quickstart-grizzly2</artifactId>
<packaging>maven-archetype</packaging>
<modelVersion>4.0.0</modelVersion>
<description>
An archetype which contains a quick start Jersey project based on Grizzly container.
</description>
<name>jersey-archetype-grizzly2</name>

<build>
<resources>
<resource>
Expand Down
4 changes: 3 additions & 1 deletion archetypes/jersey-quickstart-webapp/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
Copyright (c) 2010-2015 Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2010-2016 Oracle and/or its affiliates. All rights reserved.
The contents of this file are subject to the terms of either the GNU
General Public License Version 2 only ("GPL") or the Common Development
Expand Down Expand Up @@ -47,11 +47,13 @@
<version>3.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>maven-archetype</packaging>
<description>
An archetype which contains a quick start Jersey-based web application project.
</description>
<artifactId>jersey-quickstart-webapp</artifactId>
<name>jersey-archetype-webapp</name>

<build>
<plugins>
<plugin>
Expand Down
22 changes: 20 additions & 2 deletions archetypes/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
Copyright (c) 2010-2015 Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2010-2016 Oracle and/or its affiliates. All rights reserved.
The contents of this file are subject to the terms of either the GNU
General Public License Version 2 only ("GPL") or the Common Development
Expand Down Expand Up @@ -63,6 +63,24 @@
<module>jersey-example-java8-webapp</module>
</modules>

<build>
<extensions>
<extension>
<groupId>org.apache.maven.archetype</groupId>
<artifactId>archetype-packaging</artifactId>
<version>${archetype.mvn.plugin.version}</version>
</extension>
</extensions>

<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-archetype-plugin</artifactId>
<version>${archetype.mvn.plugin.version}</version>
</plugin>
</plugins>
</build>

<profiles>
<profile>
<id>release</id>
Expand All @@ -71,7 +89,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.1</version>
<version>1.6</version>
<executions>
<execution>
<id>sign-artifact</id>
Expand Down
5 changes: 4 additions & 1 deletion bundles/repackaged/jersey-guava/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
Copyright (c) 2014-2015 Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2014-2016 Oracle and/or its affiliates. All rights reserved.
The contents of this file are subject to the terms of either the GNU
General Public License Version 2 only ("GPL") or the Common Development
Expand Down Expand Up @@ -160,6 +160,9 @@
<plugin>
<groupId>org.fortasoft</groupId>
<artifactId>gradle-maven-plugin</artifactId>
<configuration>
<gradleInstallationDir>${gradleHome}</gradleInstallationDir>
</configuration>
<executions>
<execution>
<id>proguard</id>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -624,15 +624,26 @@ public void close() throws IOException {

private static InputStream getInputStream(final CloseableHttpResponse response) throws IOException {

final InputStream inputStream;

if (response.getEntity() == null) {
return new ByteArrayInputStream(new byte[0]);
inputStream = new ByteArrayInputStream(new byte[0]);
} else {
final InputStream i = response.getEntity().getContent();
if (i.markSupported()) {
return i;
inputStream = i;
} else {
inputStream = new BufferedInputStream(i, ReaderWriter.BUFFER_SIZE);
}
return new BufferedInputStream(i, ReaderWriter.BUFFER_SIZE);
}

return new FilterInputStream(inputStream) {
@Override
public void close() throws IOException {
response.close();
super.close();
}
};
}

private static class ConnectionFactory extends ManagedHttpClientConnectionFactory {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright (c) 2015 Oracle and/or its affiliates. All rights reserved.
*
* The contents of this file are subject to the terms of either the GNU
* General Public License Version 2 only ("GPL") or the Common Development
* and Distribution License("CDDL") (collectively, the "License"). You
* may not use this file except in compliance with the License. You can
* obtain a copy of the License at
* http://glassfish.java.net/public/CDDL+GPL_1_1.html
* or packager/legal/LICENSE.txt. See the License for the specific
* language governing permissions and limitations under the License.
*
* When distributing the software, include this License Header Notice in each
* file and include the License file at packager/legal/LICENSE.txt.
*
* GPL Classpath Exception:
* Oracle designates this particular file as subject to the "Classpath"
* exception as provided by Oracle in the GPL Version 2 section of the License
* file that accompanied this code.
*
* Modifications:
* If applicable, add the following below the License Header, with the fields
* enclosed by brackets [] replaced by your own identifying information:
* "Portions Copyright [year] [name of copyright owner]"
*
* Contributor(s):
* If you wish your version of this file to be governed by only the CDDL or
* only the GPL Version 2, indicate your decision by adding "[Contributor]
* elects to include this software in this distribution under the [CDDL or GPL
* Version 2] license." If you don't indicate a single choice of license, a
* recipient has the option to distribute your version of this file under
* either the CDDL, the GPL Version 2 or to extend the choice of license to
* its licensees as provided above. However, if you add GPL Version 2 code
* and therefore, elected the GPL Version 2 license, then the option applies
* only if the new code is made subject to such option by the copyright
* holder.
*/

package org.glassfish.jersey.apache.connector;

import java.io.IOException;
import java.io.InputStream;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Application;
import javax.ws.rs.core.MediaType;

import javax.inject.Singleton;

import org.glassfish.jersey.client.ClientConfig;
import org.glassfish.jersey.server.ChunkedOutput;
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.test.JerseyTest;

import org.junit.Test;
import static org.junit.Assert.assertEquals;

/**
* @author Petr Janouch (petr.janouch at oracle.com)
*/
public class StreamingTest extends JerseyTest {

/**
* Test that a data stream can be terminated from the client side.
*/
@Test
public void clientCloseTest() throws IOException {
// start streaming
InputStream inputStream = target().path("/streamingEndpoint").request().get(InputStream.class);

WebTarget sendTarget = target().path("/streamingEndpoint/send");
// trigger sending 'A' to the stream; OK is sent if everything on the server was OK
assertEquals("OK", sendTarget.request().get().readEntity(String.class));
// check 'A' has been sent
assertEquals('A', inputStream.read());
// closing the stream should tear down the connection
inputStream.close();
// trigger sending another 'A' to the stream; it should fail
// (indicating that the streaming has been terminated on the server)
assertEquals("NOK", sendTarget.request().get().readEntity(String.class));
}

@Override
protected void configureClient(ClientConfig config) {
config.connectorProvider(new ApacheConnectorProvider());
}

@Override
protected Application configure() {
return new ResourceConfig(StreamingEndpoint.class);
}

@Singleton
@Path("streamingEndpoint")
public static class StreamingEndpoint {

private final ChunkedOutput<String> output = new ChunkedOutput<>(String.class);

@GET
@Path("send")
public String sendEvent() {
try {
output.write("A");
} catch (IOException e) {
return "NOK";
}

return "OK";
}

@GET
@Produces(MediaType.TEXT_PLAIN)
public ChunkedOutput<String> get() {
return output;
}
}
}
Loading

0 comments on commit 8c06e4c

Please sign in to comment.