You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by cs...@apache.org on 2018/06/26 19:18:40 UTC
[01/10] aries-jax-rs-whiteboard git commit: Revert
"[ARIES-JAXRS-Whiteboard][maven-release-plugin] 1.0.0 prepare for next
development iteration"
Repository: aries-jax-rs-whiteboard
Updated Branches:
refs/heads/master fc5afb854 -> 3f9f5d099
Revert "[ARIES-JAXRS-Whiteboard][maven-release-plugin] 1.0.0 prepare for next development iteration"
This reverts commit fc5afb854505d6044e001924d3fed2a115ce0316.
Project: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/repo
Commit: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/commit/991b7ac1
Tree: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/tree/991b7ac1
Diff: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/diff/991b7ac1
Branch: refs/heads/master
Commit: 991b7ac15300f0ce9daa76b16bc6c0ada34413ca
Parents: fc5afb8
Author: Carlos Sierra <cs...@apache.org>
Authored: Tue Jun 26 20:34:40 2018 +0200
Committer: Carlos Sierra <cs...@apache.org>
Committed: Tue Jun 26 20:34:40 2018 +0200
----------------------------------------------------------------------
javax.jax.rs-api/pom.xml | 4 ++--
jax-rs.itests-fragment/pom.xml | 2 +-
jax-rs.itests-jaxb-json/pom.xml | 10 +++++-----
jax-rs.itests/pom.xml | 8 ++++----
jax-rs.jaxb-json/pom.xml | 2 +-
jax-rs.whiteboard/pom.xml | 4 ++--
pom.xml | 4 ++--
7 files changed, 17 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/991b7ac1/javax.jax.rs-api/pom.xml
----------------------------------------------------------------------
diff --git a/javax.jax.rs-api/pom.xml b/javax.jax.rs-api/pom.xml
index 562a762..35241cd 100644
--- a/javax.jax.rs-api/pom.xml
+++ b/javax.jax.rs-api/pom.xml
@@ -24,13 +24,13 @@
<parent>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.0</version>
</parent>
<groupId>org.apache.aries.spec</groupId>
<artifactId>org.apache.aries.javax.jax.rs-api</artifactId>
<name>Apache Aries JAX-RS Specification API</name>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.0</version>
<build>
<plugins>
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/991b7ac1/jax-rs.itests-fragment/pom.xml
----------------------------------------------------------------------
diff --git a/jax-rs.itests-fragment/pom.xml b/jax-rs.itests-fragment/pom.xml
index dba3f26..e6563c2 100644
--- a/jax-rs.itests-fragment/pom.xml
+++ b/jax-rs.itests-fragment/pom.xml
@@ -20,7 +20,7 @@
<parent>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.0</version>
<relativePath>..</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/991b7ac1/jax-rs.itests-jaxb-json/pom.xml
----------------------------------------------------------------------
diff --git a/jax-rs.itests-jaxb-json/pom.xml b/jax-rs.itests-jaxb-json/pom.xml
index a6d55fd..58a312c 100644
--- a/jax-rs.itests-jaxb-json/pom.xml
+++ b/jax-rs.itests-jaxb-json/pom.xml
@@ -21,7 +21,7 @@
<parent>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.0</version>
<relativePath>..</relativePath>
</parent>
@@ -99,24 +99,24 @@
<dependency>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs.whiteboard</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.0</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs.itests-fragment</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs.jaxb.json</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.0</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.aries.spec</groupId>
<artifactId>org.apache.aries.javax.jax.rs-api</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/991b7ac1/jax-rs.itests/pom.xml
----------------------------------------------------------------------
diff --git a/jax-rs.itests/pom.xml b/jax-rs.itests/pom.xml
index 0979038..de7dd91 100644
--- a/jax-rs.itests/pom.xml
+++ b/jax-rs.itests/pom.xml
@@ -21,7 +21,7 @@
<parent>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.0</version>
<relativePath>..</relativePath>
</parent>
@@ -121,18 +121,18 @@
<dependency>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs.whiteboard</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.0</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs.itests-fragment</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.aries.spec</groupId>
<artifactId>org.apache.aries.javax.jax.rs-api</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/991b7ac1/jax-rs.jaxb-json/pom.xml
----------------------------------------------------------------------
diff --git a/jax-rs.jaxb-json/pom.xml b/jax-rs.jaxb-json/pom.xml
index e9e65a8..f5f8489 100644
--- a/jax-rs.jaxb-json/pom.xml
+++ b/jax-rs.jaxb-json/pom.xml
@@ -20,7 +20,7 @@
<parent>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.0</version>
</parent>
<artifactId>org.apache.aries.jax.rs.jaxb.json</artifactId>
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/991b7ac1/jax-rs.whiteboard/pom.xml
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/pom.xml b/jax-rs.whiteboard/pom.xml
index 38826c9..7d6b577 100644
--- a/jax-rs.whiteboard/pom.xml
+++ b/jax-rs.whiteboard/pom.xml
@@ -20,7 +20,7 @@
<parent>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.0</version>
</parent>
<artifactId>org.apache.aries.jax.rs.whiteboard</artifactId>
@@ -42,7 +42,7 @@
<dependency>
<groupId>org.apache.aries.spec</groupId>
<artifactId>org.apache.aries.javax.jax.rs-api</artifactId>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/991b7ac1/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 86ea2be..b706260 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs</artifactId>
<name>JAX-RS Integration Project</name>
- <version>1.0.1-SNAPSHOT</version>
+ <version>1.0.0</version>
<packaging>pom</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -41,7 +41,7 @@
<connection>scm:git:https://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard.git</connection>
<developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard.git</developerConnection>
<url>https://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard.git</url>
- <tag>HEAD</tag>
+ <tag>org.apache.aries.jax.rs-1.0.0</tag>
</scm>
<modules>
[09/10] aries-jax-rs-whiteboard git commit: Revert "Not needed"
Posted by cs...@apache.org.
Revert "Not needed"
This reverts commit 4d737db4040bfd3a8e6c54d03d22d01c4c4997a3.
Project: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/repo
Commit: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/commit/84a21ebc
Tree: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/tree/84a21ebc
Diff: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/diff/84a21ebc
Branch: refs/heads/master
Commit: 84a21ebce2cf9976a4a4f04a2b8f6f06f227a6c2
Parents: bcc579f
Author: Carlos Sierra <cs...@apache.org>
Authored: Tue Jun 26 20:35:13 2018 +0200
Committer: Carlos Sierra <cs...@apache.org>
Committed: Tue Jun 26 21:11:18 2018 +0200
----------------------------------------------------------------------
jax-rs.whiteboard/bnd.bnd | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/84a21ebc/jax-rs.whiteboard/bnd.bnd
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/bnd.bnd b/jax-rs.whiteboard/bnd.bnd
index 38e940d..80528f9 100644
--- a/jax-rs.whiteboard/bnd.bnd
+++ b/jax-rs.whiteboard/bnd.bnd
@@ -77,6 +77,7 @@ Import-Package:\
-includeresource:\
lib/component-dsl.jar=org.apache.aries.component-dsl.component-dsl-*.jar;lib:=true,\
lib/cxf-core.jar=cxf-core-*.jar;lib:=true,\
+ lib/cxf-rt-databinding-jaxb.jar=cxf-rt-databinding-jaxb-*.jar;lib:=true,\
lib/cxf-rt-frontend-jaxrs.jar=cxf-rt-frontend-jaxrs-*.jar;lib:=true,\
lib/cxf-rt-rs-client.jar=cxf-rt-rs-client-*.jar;lib:=true,\
lib/cxf-rt-rs-sse.jar=cxf-rt-rs-sse-*.jar;lib:=true,\
[07/10] aries-jax-rs-whiteboard git commit: Revert "Proper licenses"
Posted by cs...@apache.org.
Revert "Proper licenses"
This reverts commit a0b4d455f3baac8f542411598f7be79cda839a65.
Project: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/repo
Commit: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/commit/ab0a8250
Tree: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/tree/ab0a8250
Diff: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/diff/ab0a8250
Branch: refs/heads/master
Commit: ab0a82508d7b9490869ac4e6f196e757648cc8a5
Parents: 0ef2bd7
Author: Carlos Sierra <cs...@apache.org>
Authored: Tue Jun 26 20:35:05 2018 +0200
Committer: Carlos Sierra <cs...@apache.org>
Committed: Tue Jun 26 20:35:05 2018 +0200
----------------------------------------------------------------------
jax-rs.itests-fragment/pom.xml | 17 ------------
jax-rs.itests-jaxb-json/itest.bndrun | 17 ------------
jax-rs.itests-jaxb-json/logback.xml | 18 -------------
jax-rs.itests/itest.bndrun | 17 ------------
jax-rs.itests/logback.xml | 18 -------------
.../main/java/test/types/TestAddonConflict.java | 27 +++++++++-----------
.../java/test/types/TestAddonConflict2.java | 27 +++++++++-----------
jax-rs.whiteboard/README | 9 -------
.../src/main/resources/static/index.html | 17 ------------
.../src/main/resources/static/style.css | 17 ------------
10 files changed, 24 insertions(+), 160 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/ab0a8250/jax-rs.itests-fragment/pom.xml
----------------------------------------------------------------------
diff --git a/jax-rs.itests-fragment/pom.xml b/jax-rs.itests-fragment/pom.xml
index ffdb91a..15a2d85 100644
--- a/jax-rs.itests-fragment/pom.xml
+++ b/jax-rs.itests-fragment/pom.xml
@@ -1,21 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
- 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.
--->
-
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/ab0a8250/jax-rs.itests-jaxb-json/itest.bndrun
----------------------------------------------------------------------
diff --git a/jax-rs.itests-jaxb-json/itest.bndrun b/jax-rs.itests-jaxb-json/itest.bndrun
index 5de9f62..ae50046 100644
--- a/jax-rs.itests-jaxb-json/itest.bndrun
+++ b/jax-rs.itests-jaxb-json/itest.bndrun
@@ -1,20 +1,3 @@
-# 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.
-
-standalone: ${.}/target/index.xml
-runrequires: \
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/ab0a8250/jax-rs.itests-jaxb-json/logback.xml
----------------------------------------------------------------------
diff --git a/jax-rs.itests-jaxb-json/logback.xml b/jax-rs.itests-jaxb-json/logback.xml
index b3a37f9..1952216 100644
--- a/jax-rs.itests-jaxb-json/logback.xml
+++ b/jax-rs.itests-jaxb-json/logback.xml
@@ -1,21 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- 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.
--->
-
<configuration>
<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
<resetJUL>true</resetJUL>
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/ab0a8250/jax-rs.itests/itest.bndrun
----------------------------------------------------------------------
diff --git a/jax-rs.itests/itest.bndrun b/jax-rs.itests/itest.bndrun
index 117a0d6..8ad686b 100644
--- a/jax-rs.itests/itest.bndrun
+++ b/jax-rs.itests/itest.bndrun
@@ -1,20 +1,3 @@
-# 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.
-
-standalone: ${.}/target/index.xml
-runrequires: \
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/ab0a8250/jax-rs.itests/logback.xml
----------------------------------------------------------------------
diff --git a/jax-rs.itests/logback.xml b/jax-rs.itests/logback.xml
index b3a37f9..1952216 100644
--- a/jax-rs.itests/logback.xml
+++ b/jax-rs.itests/logback.xml
@@ -1,21 +1,3 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- 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.
--->
-
<configuration>
<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
<resetJUL>true</resetJUL>
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/ab0a8250/jax-rs.itests/src/main/java/test/types/TestAddonConflict.java
----------------------------------------------------------------------
diff --git a/jax-rs.itests/src/main/java/test/types/TestAddonConflict.java b/jax-rs.itests/src/main/java/test/types/TestAddonConflict.java
index 0916681..02f96a7 100644
--- a/jax-rs.itests/src/main/java/test/types/TestAddonConflict.java
+++ b/jax-rs.itests/src/main/java/test/types/TestAddonConflict.java
@@ -1,18 +1,15 @@
-/*
- * 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.
+/**
+ * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
+ * <p>
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ * <p>
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
*/
package test.types;
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/ab0a8250/jax-rs.itests/src/main/java/test/types/TestAddonConflict2.java
----------------------------------------------------------------------
diff --git a/jax-rs.itests/src/main/java/test/types/TestAddonConflict2.java b/jax-rs.itests/src/main/java/test/types/TestAddonConflict2.java
index c17f0b6..c402753 100644
--- a/jax-rs.itests/src/main/java/test/types/TestAddonConflict2.java
+++ b/jax-rs.itests/src/main/java/test/types/TestAddonConflict2.java
@@ -1,18 +1,15 @@
-/*
- * 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.
+/**
+ * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
+ * <p>
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ * <p>
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
*/
package test.types;
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/ab0a8250/jax-rs.whiteboard/README
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/README b/jax-rs.whiteboard/README
deleted file mode 100644
index 2d351e0..0000000
--- a/jax-rs.whiteboard/README
+++ /dev/null
@@ -1,9 +0,0 @@
-Apache Aries JAX-RS Whiteboard
-Copyright 2017 The Apache Software Foundation
-
-This product includes software by Ivan Sagalaev in [1] and by Vasily Polovnyov
-in [2]
-
-[1] resources/static/highlight
-[2] resources/static/highlight/styles/github.css
-
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/ab0a8250/jax-rs.whiteboard/src/main/resources/static/index.html
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/src/main/resources/static/index.html b/jax-rs.whiteboard/src/main/resources/static/index.html
index d2ad805..8980475 100644
--- a/jax-rs.whiteboard/src/main/resources/static/index.html
+++ b/jax-rs.whiteboard/src/main/resources/static/index.html
@@ -1,22 +1,5 @@
<!doctype html>
-<!--
- 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.
--->
-
<html lang="en">
<head>
<meta charset="utf-8">
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/ab0a8250/jax-rs.whiteboard/src/main/resources/static/style.css
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/src/main/resources/static/style.css b/jax-rs.whiteboard/src/main/resources/static/style.css
index 0816086..320c465 100644
--- a/jax-rs.whiteboard/src/main/resources/static/style.css
+++ b/jax-rs.whiteboard/src/main/resources/static/style.css
@@ -1,20 +1,3 @@
-/*
- * 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.
- */
-
html,
body {
font-family: Helvetica, Tahoma, sans-serif;
[03/10] aries-jax-rs-whiteboard git commit: Revert "Use correct
format"
Posted by cs...@apache.org.
Revert "Use correct format"
This reverts commit c0a493e232b60e7d19ac2c832d32013fea49d70c.
Project: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/repo
Commit: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/commit/0265d68a
Tree: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/tree/0265d68a
Diff: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/diff/0265d68a
Branch: refs/heads/master
Commit: 0265d68a7d7a5ca815d8f73c60180057384738ca
Parents: 01e8124
Author: Carlos Sierra <cs...@apache.org>
Authored: Tue Jun 26 20:34:52 2018 +0200
Committer: Carlos Sierra <cs...@apache.org>
Committed: Tue Jun 26 20:34:52 2018 +0200
----------------------------------------------------------------------
pom.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/0265d68a/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index f5e3bfe..f7774e5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,8 +41,8 @@
</properties>
<scm>
- <connection>scm:git:https://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard.git</connection>
- <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard.git</developerConnection>
+ <connection>https://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard.git</connection>
+ <developerConnection>https://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard.git</developerConnection>
<url>https://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard.git</url>
</scm>
[05/10] aries-jax-rs-whiteboard git commit: Revert "Add pointers to
LICENSE"
Posted by cs...@apache.org.
Revert "Add pointers to LICENSE"
This reverts commit 04266f755395c9e3863a6080d9b72a6b0e9b45ea.
Project: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/repo
Commit: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/commit/1e28acf0
Tree: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/tree/1e28acf0
Diff: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/diff/1e28acf0
Branch: refs/heads/master
Commit: 1e28acf0ff606e4dc1acd88e1a4611b665273056
Parents: 63d8ed3
Author: Carlos Sierra <cs...@apache.org>
Authored: Tue Jun 26 20:35:01 2018 +0200
Committer: Carlos Sierra <cs...@apache.org>
Committed: Tue Jun 26 20:35:01 2018 +0200
----------------------------------------------------------------------
jax-rs.whiteboard/LICENSE | 7 -------
1 file changed, 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/1e28acf0/jax-rs.whiteboard/LICENSE
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/LICENSE b/jax-rs.whiteboard/LICENSE
index e0f9a0a..d645695 100644
--- a/jax-rs.whiteboard/LICENSE
+++ b/jax-rs.whiteboard/LICENSE
@@ -200,10 +200,3 @@
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.
-
-This product bundles hightlight.js, by Ivan Sagalaev. For details see
-src/main/resources/static/highlight/LICENSE.
-
-This product bundles github.css, by Vasily Polovnyov. For details see
-src/main/resources/static/highlight/styles/github.css
-
[04/10] aries-jax-rs-whiteboard git commit: Revert "Update SCM info"
Posted by cs...@apache.org.
Revert "Update SCM info"
This reverts commit 5b03265cc1d146e494fb7d814bb1a324954077b3.
Project: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/repo
Commit: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/commit/63d8ed3d
Tree: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/tree/63d8ed3d
Diff: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/diff/63d8ed3d
Branch: refs/heads/master
Commit: 63d8ed3d285122f3602910aa668ea5e39ed1a1be
Parents: 0265d68
Author: Carlos Sierra <cs...@apache.org>
Authored: Tue Jun 26 20:34:54 2018 +0200
Committer: Carlos Sierra <cs...@apache.org>
Committed: Tue Jun 26 20:34:54 2018 +0200
----------------------------------------------------------------------
pom.xml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/63d8ed3d/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index f7774e5..51b77bd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,9 +41,9 @@
</properties>
<scm>
- <connection>https://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard.git</connection>
- <developerConnection>https://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard.git</developerConnection>
- <url>https://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard.git</url>
+ <connection>scm:git:git://git.apache.org/aries-jax-rs-whiteboard.git</connection>
+ <developerConnection>scm:git:git://git.apache.org/aries-jax-rs-whiteboard.git</developerConnection>
+ <url>git://git.apache.org/aries-jax-rs-whiteboard.git</url>
</scm>
<modules>
[08/10] aries-jax-rs-whiteboard git commit: Revert "Use latest CXF
version (3.2.5)"
Posted by cs...@apache.org.
Revert "Use latest CXF version (3.2.5)"
This reverts commit 7e16259c6ee784abff6d133711eaef735a76e10b.
Project: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/repo
Commit: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/commit/bcc579fd
Tree: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/tree/bcc579fd
Diff: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/diff/bcc579fd
Branch: refs/heads/master
Commit: bcc579fd9bd2156dbe9d645a74e76976f23cbda4
Parents: ab0a825
Author: Carlos Sierra <cs...@apache.org>
Authored: Tue Jun 26 20:35:11 2018 +0200
Committer: Carlos Sierra <cs...@apache.org>
Committed: Tue Jun 26 21:11:18 2018 +0200
----------------------------------------------------------------------
.../cxf/CxfJaxrsServiceRegistrator.java | 4 +-
.../cxf/sse/OutboundSseEventBodyWriter.java | 141 ++++++++
.../internal/cxf/sse/OutboundSseEventImpl.java | 182 +++++++++++
.../internal/cxf/sse/SseBroadcasterImpl.java | 120 +++++++
.../internal/cxf/sse/SseContextProvider.java | 31 ++
.../cxf/sse/SseEventSinkContextProvider.java | 48 +++
.../internal/cxf/sse/SseEventSinkImpl.java | 161 ++++++++++
.../rs/whiteboard/internal/cxf/sse/SseImpl.java | 38 +++
.../cxf/jaxrs/impl/AsyncResponseImpl.java | 321 +++++++++++++++++++
pom.xml | 2 +-
10 files changed, 1045 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/bcc579fd/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/CxfJaxrsServiceRegistrator.java
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/CxfJaxrsServiceRegistrator.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/CxfJaxrsServiceRegistrator.java
index 54cb945..dc82163 100644
--- a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/CxfJaxrsServiceRegistrator.java
+++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/CxfJaxrsServiceRegistrator.java
@@ -40,6 +40,8 @@ import javax.ws.rs.core.Feature;
import javax.ws.rs.core.FeatureContext;
import javax.ws.rs.ext.RuntimeDelegate;
+import org.apache.aries.jax.rs.whiteboard.internal.cxf.sse.SseContextProvider;
+import org.apache.aries.jax.rs.whiteboard.internal.cxf.sse.SseEventSinkContextProvider;
import org.apache.aries.jax.rs.whiteboard.internal.utils.ServiceReferenceResourceProvider;
import org.apache.aries.jax.rs.whiteboard.internal.utils.ServiceTuple;
import org.apache.aries.component.dsl.CachingServiceReference;
@@ -54,8 +56,6 @@ import org.apache.cxf.jaxrs.model.ApplicationInfo;
import org.apache.cxf.jaxrs.model.ClassResourceInfo;
import org.apache.cxf.jaxrs.provider.ProviderFactory.ProviderInfoClassComparator;
import org.apache.cxf.jaxrs.provider.ServerConfigurableFactory;
-import org.apache.cxf.jaxrs.sse.SseContextProvider;
-import org.apache.cxf.jaxrs.sse.SseEventSinkContextProvider;
import org.apache.cxf.jaxrs.utils.AnnotationUtils;
import org.osgi.framework.ServiceObjects;
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/bcc579fd/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/OutboundSseEventBodyWriter.java
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/OutboundSseEventBodyWriter.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/OutboundSseEventBodyWriter.java
new file mode 100644
index 0000000..32869e6
--- /dev/null
+++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/OutboundSseEventBodyWriter.java
@@ -0,0 +1,141 @@
+/**
+ * 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.aries.jax.rs.whiteboard.internal.cxf.sse;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+import java.nio.charset.StandardCharsets;
+
+import javax.ws.rs.InternalServerErrorException;
+import javax.ws.rs.WebApplicationException;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.ext.MessageBodyWriter;
+import javax.ws.rs.ext.Provider;
+import javax.ws.rs.sse.OutboundSseEvent;
+
+import org.apache.cxf.jaxrs.provider.ServerProviderFactory;
+import org.apache.cxf.message.Exchange;
+import org.apache.cxf.message.Message;
+import org.apache.cxf.message.MessageImpl;
+
+@Provider
+public class OutboundSseEventBodyWriter implements MessageBodyWriter<OutboundSseEvent> {
+ public static final String SERVER_SENT_EVENTS = "text/event-stream";
+ public static final MediaType SERVER_SENT_EVENTS_TYPE = MediaType.valueOf(SERVER_SENT_EVENTS);
+
+ private static final byte[] COMMENT = ": ".getBytes(StandardCharsets.UTF_8);
+ private static final byte[] EVENT = "event: ".getBytes(StandardCharsets.UTF_8);
+ private static final byte[] ID = "id: ".getBytes(StandardCharsets.UTF_8);
+ private static final byte[] RETRY = "retry: ".getBytes(StandardCharsets.UTF_8);
+ private static final byte[] DATA = "data: ".getBytes(StandardCharsets.UTF_8);
+ private static final byte[] NEW_LINE = "\n".getBytes(StandardCharsets.UTF_8);
+
+ private ServerProviderFactory factory;
+ private Message message;
+
+ protected OutboundSseEventBodyWriter() {
+ }
+
+ public OutboundSseEventBodyWriter(final ServerProviderFactory factory, final Exchange exchange) {
+ this.factory = factory;
+ this.message = new MessageImpl();
+ this.message.setExchange(exchange);
+ }
+
+
+ @Override
+ public boolean isWriteable(Class<?> cls, Type type, Annotation[] anns, MediaType mt) {
+ return OutboundSseEvent.class.isAssignableFrom(cls) || SERVER_SENT_EVENTS_TYPE.isCompatible(mt);
+ }
+
+ @Override
+ public void writeTo(OutboundSseEvent p, Class<?> cls, Type t, Annotation[] anns,
+ MediaType mt, MultivaluedMap<String, Object> headers, OutputStream os)
+ throws IOException, WebApplicationException {
+
+ if (p.getName() != null) {
+ os.write(EVENT);
+ os.write(p.getName().getBytes(StandardCharsets.UTF_8));
+ os.write(NEW_LINE);
+ }
+
+ if (p.getId() != null) {
+ os.write(ID);
+ os.write(p.getId().getBytes(StandardCharsets.UTF_8));
+ os.write(NEW_LINE);
+ }
+
+ if (p.getComment() != null) {
+ os.write(COMMENT);
+ os.write(p.getComment().getBytes(StandardCharsets.UTF_8));
+ os.write(NEW_LINE);
+ }
+
+ if (p.getReconnectDelay() > 0) {
+ os.write(RETRY);
+ os.write(Long.toString(p.getReconnectDelay()).getBytes(StandardCharsets.UTF_8));
+ os.write(NEW_LINE);
+ }
+
+ if (p.getData() != null) {
+ Class<?> payloadClass = p.getType();
+ Type payloadType = p.getGenericType();
+ if (payloadType == null) {
+ payloadType = payloadClass;
+ }
+
+ if (payloadType == null && payloadClass == null) {
+ payloadType = Object.class;
+ payloadClass = Object.class;
+ }
+
+ os.write(DATA);
+ writePayloadTo(payloadClass, payloadType, anns, p.getMediaType(), headers, p.getData(), os);
+ os.write(NEW_LINE);
+ }
+
+ os.write(NEW_LINE);
+ }
+
+ @SuppressWarnings("unchecked")
+ private<T> void writePayloadTo(Class<T> cls, Type type, Annotation[] anns, MediaType mt,
+ MultivaluedMap<String, Object> headers, Object data, OutputStream os)
+ throws IOException, WebApplicationException {
+
+ MessageBodyWriter<T> writer = null;
+ if (message != null && factory != null) {
+ writer = factory.createMessageBodyWriter(cls, type, anns, mt, message);
+ }
+
+ if (writer == null) {
+ throw new InternalServerErrorException("No suitable message body writer for class: " + cls.getName());
+ }
+
+ writer.writeTo((T)data, cls, type, anns, mt, headers, os);
+ }
+
+ @Override
+ public long getSize(OutboundSseEvent t, Class<?> type, Type genericType, Annotation[] annotations,
+ MediaType mediaType) {
+ return -1;
+ }
+}
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/bcc579fd/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/OutboundSseEventImpl.java
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/OutboundSseEventImpl.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/OutboundSseEventImpl.java
new file mode 100644
index 0000000..85e9e5b
--- /dev/null
+++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/OutboundSseEventImpl.java
@@ -0,0 +1,182 @@
+/**
+ * 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.aries.jax.rs.whiteboard.internal.cxf.sse;
+
+import java.lang.reflect.Type;
+
+import javax.ws.rs.core.GenericType;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.sse.OutboundSseEvent;
+
+public final class OutboundSseEventImpl implements OutboundSseEvent {
+ private final String id;
+ private final String name;
+ private final String comment;
+ private final long reconnectDelay;
+ private final Class<?> type;
+ private final Type genericType;
+ private final MediaType mediaType;
+ private final Object data;
+
+ public static class BuilderImpl implements Builder {
+ private String id;
+ private String name;
+ private String comment;
+ private long reconnectDelay = -1;
+ private Class<?> type;
+ private Type genericType;
+ private MediaType mediaType = MediaType.TEXT_PLAIN_TYPE;
+ private Object data;
+
+ @Override
+ public Builder id(String newId) {
+ this.id = newId;
+ return this;
+ }
+
+ @Override
+ public Builder name(String newName) {
+ this.name = newName;
+ return this;
+ }
+
+ @Override
+ public Builder reconnectDelay(long milliseconds) {
+ this.reconnectDelay = milliseconds;
+ return this;
+ }
+
+ @Override
+ public Builder mediaType(MediaType newMediaType) {
+ this.mediaType = newMediaType;
+ return this;
+ }
+
+ @Override
+ public Builder comment(String newComment) {
+ this.comment = newComment;
+ return this;
+ }
+
+ @Override
+ @SuppressWarnings("rawtypes")
+ public Builder data(Class newType, Object newData) {
+ if (newType == null || newData == null) {
+ throw new IllegalArgumentException("Parameters 'type' and 'data' must not be null.");
+ }
+ this.type = newType;
+ this.data = newData;
+ return this;
+ }
+
+ @Override
+ @SuppressWarnings("rawtypes")
+ public Builder data(GenericType newType, Object newData) {
+ if (newType == null || newData == null) {
+ throw new IllegalArgumentException("Parameters 'type' and 'data' must not be null.");
+ }
+ this.genericType = newType.getType();
+ this.data = newData;
+ return this;
+ }
+
+ @Override
+ public Builder data(Object newData) {
+ if (newData == null) {
+ throw new IllegalArgumentException("Parameter 'data' must not be null.");
+ }
+ this.type = newData.getClass();
+ this.data = newData;
+ return this;
+ }
+
+ @Override
+ public OutboundSseEvent build() {
+ return new OutboundSseEventImpl(
+ id,
+ name,
+ comment,
+ reconnectDelay,
+ type,
+ genericType,
+ mediaType,
+ data
+ );
+ }
+
+ }
+ //CHECKSTYLE:OFF
+ private OutboundSseEventImpl(String id, String name, String comment, long reconnectDelay,
+ Class<?> type, Type genericType, MediaType mediaType, Object data) {
+ this.id = id;
+ this.name = name;
+ this.comment = comment;
+ this.reconnectDelay = reconnectDelay;
+ this.type = type;
+ this.genericType = genericType;
+ this.mediaType = mediaType;
+ this.data = data;
+ }
+ //CHECKSTYLE:ON
+
+ @Override
+ public String getId() {
+ return id;
+ }
+
+ @Override
+ public String getName() {
+ return name;
+ }
+
+ @Override
+ public String getComment() {
+ return comment;
+ }
+
+ @Override
+ public long getReconnectDelay() {
+ return reconnectDelay;
+ }
+
+ @Override
+ public boolean isReconnectDelaySet() {
+ return reconnectDelay != -1;
+ }
+
+ @Override
+ public Class<?> getType() {
+ return type;
+ }
+
+ @Override
+ public Type getGenericType() {
+ return genericType;
+ }
+
+ @Override
+ public MediaType getMediaType() {
+ return mediaType;
+ }
+
+ @Override
+ public Object getData() {
+ return data;
+ }
+}
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/bcc579fd/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/SseBroadcasterImpl.java
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/SseBroadcasterImpl.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/SseBroadcasterImpl.java
new file mode 100644
index 0000000..eee4d70
--- /dev/null
+++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/SseBroadcasterImpl.java
@@ -0,0 +1,120 @@
+/**
+ * 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.aries.jax.rs.whiteboard.internal.cxf.sse;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Set;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.CompletionStage;
+import java.util.concurrent.CopyOnWriteArraySet;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.function.BiConsumer;
+import java.util.function.Consumer;
+
+import javax.servlet.AsyncContext;
+import javax.servlet.AsyncEvent;
+import javax.servlet.AsyncListener;
+import javax.ws.rs.sse.OutboundSseEvent;
+import javax.ws.rs.sse.SseBroadcaster;
+import javax.ws.rs.sse.SseEventSink;
+
+public class SseBroadcasterImpl implements SseBroadcaster {
+ private final Set<SseEventSink> subscribers = new CopyOnWriteArraySet<>();
+ private final Set<Consumer<SseEventSink>> closers = new CopyOnWriteArraySet<>();
+ private final Set<BiConsumer<SseEventSink, Throwable>> exceptioners = new CopyOnWriteArraySet<>();
+ private final AtomicBoolean closed = new AtomicBoolean(false);
+
+ @Override
+ public void register(SseEventSink sink) {
+ assertNotClosed();
+
+ final SseEventSinkImpl sinkImpl = (SseEventSinkImpl)sink;
+ final AsyncContext ctx = sinkImpl.getAsyncContext();
+
+ ctx.addListener(new AsyncListener() {
+ @Override
+ public void onComplete(AsyncEvent asyncEvent) throws IOException {
+ subscribers.remove(sink);
+ }
+
+ @Override
+ public void onTimeout(AsyncEvent asyncEvent) throws IOException {
+ subscribers.remove(sink);
+ }
+
+ @Override
+ public void onError(AsyncEvent asyncEvent) throws IOException {
+ subscribers.remove(sink);
+ }
+
+ @Override
+ public void onStartAsync(AsyncEvent asyncEvent) throws IOException {
+
+ }
+ });
+
+ subscribers.add(sink);
+ }
+
+ @Override
+ public CompletionStage<?> broadcast(OutboundSseEvent event) {
+ assertNotClosed();
+
+ final Collection<CompletableFuture<?>> futures = new ArrayList<>();
+ for (SseEventSink sink: subscribers) {
+ try {
+ futures.add(sink.send(event).toCompletableFuture());
+ } catch (final Exception ex) {
+ exceptioners.forEach(exceptioner -> exceptioner.accept(sink, ex));
+ }
+ }
+
+ return CompletableFuture.allOf(futures.toArray(new CompletableFuture[futures.size()]));
+ }
+
+ @Override
+ public void onClose(Consumer<SseEventSink> subscriber) {
+ assertNotClosed();
+ closers.add(subscriber);
+ }
+
+ @Override
+ public void onError(BiConsumer<SseEventSink, Throwable> exceptioner) {
+ assertNotClosed();
+ exceptioners.add(exceptioner);
+ }
+
+ @Override
+ public void close() {
+ if (closed.compareAndSet(false, true)) {
+ subscribers.forEach(subscriber -> {
+ subscriber.close();
+ closers.forEach(closer -> closer.accept(subscriber));
+ });
+ }
+ }
+
+ private void assertNotClosed() {
+ if (closed.get()) {
+ throw new IllegalStateException("The SSE broadcaster is already closed");
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/bcc579fd/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/SseContextProvider.java
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/SseContextProvider.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/SseContextProvider.java
new file mode 100644
index 0000000..6c4b695
--- /dev/null
+++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/SseContextProvider.java
@@ -0,0 +1,31 @@
+/**
+ * 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.aries.jax.rs.whiteboard.internal.cxf.sse;
+
+import javax.ws.rs.sse.Sse;
+
+import org.apache.cxf.jaxrs.ext.ContextProvider;
+import org.apache.cxf.message.Message;
+
+public class SseContextProvider implements ContextProvider<Sse> {
+ @Override
+ public Sse createContext(Message message) {
+ return new SseImpl();
+ }
+}
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/bcc579fd/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/SseEventSinkContextProvider.java
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/SseEventSinkContextProvider.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/SseEventSinkContextProvider.java
new file mode 100644
index 0000000..3240fe5
--- /dev/null
+++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/SseEventSinkContextProvider.java
@@ -0,0 +1,48 @@
+/**
+ * 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.aries.jax.rs.whiteboard.internal.cxf.sse;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.ext.MessageBodyWriter;
+import javax.ws.rs.sse.OutboundSseEvent;
+import javax.ws.rs.sse.SseEventSink;
+
+import org.apache.cxf.jaxrs.ext.ContextProvider;
+import org.apache.cxf.jaxrs.impl.AsyncResponseImpl;
+import org.apache.cxf.jaxrs.provider.ServerProviderFactory;
+import org.apache.cxf.message.Message;
+import org.apache.cxf.transport.http.AbstractHTTPDestination;
+
+public class SseEventSinkContextProvider implements ContextProvider<SseEventSink> {
+
+ @Override
+ public SseEventSink createContext(Message message) {
+ final HttpServletRequest request = (HttpServletRequest)message.get(AbstractHTTPDestination.HTTP_REQUEST);
+ if (request == null) {
+ throw new IllegalStateException("Unable to retrieve HTTP request from the context");
+ }
+
+ final MessageBodyWriter<OutboundSseEvent> writer = new OutboundSseEventBodyWriter(
+ ServerProviderFactory.getInstance(message), message.getExchange());
+
+ final AsyncResponseImpl async = new AsyncResponseImpl(message);
+ return new SseEventSinkImpl(writer, async, request.getAsyncContext());
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/bcc579fd/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/SseEventSinkImpl.java
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/SseEventSinkImpl.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/SseEventSinkImpl.java
new file mode 100644
index 0000000..cdcacb1
--- /dev/null
+++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/SseEventSinkImpl.java
@@ -0,0 +1,161 @@
+/**
+ * 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.aries.jax.rs.whiteboard.internal.cxf.sse;
+
+import java.lang.annotation.Annotation;
+import java.util.Queue;
+import java.util.concurrent.ArrayBlockingQueue;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.CompletionStage;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.locks.LockSupport;
+import java.util.logging.Logger;
+
+import javax.servlet.AsyncContext;
+import javax.ws.rs.container.AsyncResponse;
+import javax.ws.rs.ext.MessageBodyWriter;
+import javax.ws.rs.sse.OutboundSseEvent;
+import javax.ws.rs.sse.SseEventSink;
+
+import org.apache.cxf.common.logging.LogUtils;
+
+public class SseEventSinkImpl implements SseEventSink {
+ private static final Annotation[] EMPTY_ANNOTATIONS = new Annotation [] {};
+ private static final Logger LOG = LogUtils.getL7dLogger(SseEventSinkImpl.class);
+ private static final int BUFFER_SIZE = 10000; // buffering 10000 messages
+
+ private final AsyncContext ctx;
+ private final MessageBodyWriter<OutboundSseEvent> writer;
+ private final Queue<QueuedEvent> buffer;
+ private final AtomicBoolean closed = new AtomicBoolean(false);
+ private final AtomicBoolean dispatching = new AtomicBoolean(false);
+
+ public SseEventSinkImpl(final MessageBodyWriter<OutboundSseEvent> writer,
+ final AsyncResponse async, final AsyncContext ctx) {
+
+ this.writer = writer;
+ this.buffer = new ArrayBlockingQueue<>(BUFFER_SIZE);
+ this.ctx = ctx;
+
+ if (ctx == null) {
+ throw new IllegalStateException("Unable to retrieve the AsyncContext for this request. "
+ + "Is the Servlet configured properly?");
+ }
+
+ ctx.getResponse().setContentType(OutboundSseEventBodyWriter.SERVER_SENT_EVENTS);
+ }
+
+ public AsyncContext getAsyncContext() {
+ return ctx;
+ }
+
+ @Override
+ public void close() {
+ if (closed.compareAndSet(false, true)) {
+ // In case we are still dispatching, give the events the chance to be
+ // sent over to the consumers. The good example would be sent(event) call,
+ // immediately followed by the close() call.
+ if (!awaitQueueToDrain(5, TimeUnit.SECONDS)) {
+ LOG.warning("There are still SSE events the queue which may not be delivered (closing now)");
+ }
+
+ try {
+ ctx.complete();
+ } catch (final IllegalStateException ex) {
+ LOG.warning("Failed to close the AsyncContext cleanly: " + ex.getMessage());
+ }
+ }
+ }
+
+ private boolean awaitQueueToDrain(int timeout, TimeUnit unit) {
+ final long parkTime = unit.toNanos(timeout) / 20;
+ int attempt = 0;
+
+ while (dispatching.get() && ++attempt < 20) {
+ LockSupport.parkNanos(parkTime);
+ }
+
+ return buffer.isEmpty();
+ }
+
+ @Override
+ public boolean isClosed() {
+ return closed.get();
+ }
+
+ @Override
+ public CompletionStage<?> send(OutboundSseEvent event) {
+ final CompletableFuture<?> future = new CompletableFuture<>();
+
+ if (!closed.get() && writer != null) {
+ if (buffer.offer(new QueuedEvent(event, future))) {
+ if (dispatching.compareAndSet(false, true)) {
+ ctx.start(this::dequeue);
+ }
+ } else {
+ future.completeExceptionally(new IllegalStateException(
+ "The buffer is full (10000), unable to queue SSE event for send"));
+ }
+ } else {
+ future.completeExceptionally(new IllegalStateException(
+ "The sink is already closed, unable to queue SSE event for send"));
+ }
+
+ return future;
+ }
+
+ private void dequeue() {
+ try {
+ while (true) {
+ final QueuedEvent qeuedEvent = buffer.poll();
+
+ // Nothing queued, release the thread
+ if (qeuedEvent == null) {
+ break;
+ }
+
+ final OutboundSseEvent event = qeuedEvent.event;
+ final CompletableFuture<?> future = qeuedEvent.completion;
+
+ try {
+ writer.writeTo(event, event.getClass(), event.getGenericType(), EMPTY_ANNOTATIONS,
+ event.getMediaType(), null, ctx.getResponse().getOutputStream());
+ ctx.getResponse().flushBuffer();
+ future.complete(null);
+ } catch (final Exception ex) {
+ future.completeExceptionally(ex);
+ }
+ }
+ } finally {
+ dispatching.set(false);
+ }
+ }
+
+ private static class QueuedEvent {
+ private final OutboundSseEvent event;
+ private final CompletableFuture<?> completion;
+
+ QueuedEvent(OutboundSseEvent event, CompletableFuture<?> completion) {
+ this.event = event;
+ this.completion = completion;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/bcc579fd/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/SseImpl.java
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/SseImpl.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/SseImpl.java
new file mode 100644
index 0000000..b558120
--- /dev/null
+++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/sse/SseImpl.java
@@ -0,0 +1,38 @@
+/**
+ * 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.aries.jax.rs.whiteboard.internal.cxf.sse;
+
+import javax.ws.rs.sse.OutboundSseEvent.Builder;
+import javax.ws.rs.sse.Sse;
+import javax.ws.rs.sse.SseBroadcaster;
+
+class SseImpl implements Sse {
+ SseImpl() {
+ }
+
+ @Override
+ public Builder newEventBuilder() {
+ return new OutboundSseEventImpl.BuilderImpl();
+ }
+
+ @Override
+ public SseBroadcaster newBroadcaster() {
+ return new SseBroadcasterImpl();
+ }
+}
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/bcc579fd/jax-rs.whiteboard/src/main/java/org/apache/cxf/jaxrs/impl/AsyncResponseImpl.java
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/src/main/java/org/apache/cxf/jaxrs/impl/AsyncResponseImpl.java b/jax-rs.whiteboard/src/main/java/org/apache/cxf/jaxrs/impl/AsyncResponseImpl.java
new file mode 100644
index 0000000..eb3a8d2
--- /dev/null
+++ b/jax-rs.whiteboard/src/main/java/org/apache/cxf/jaxrs/impl/AsyncResponseImpl.java
@@ -0,0 +1,321 @@
+/**
+ * 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.cxf.jaxrs.impl;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
+import javax.ws.rs.ServiceUnavailableException;
+import javax.ws.rs.container.AsyncResponse;
+import javax.ws.rs.container.CompletionCallback;
+import javax.ws.rs.container.ConnectionCallback;
+import javax.ws.rs.container.TimeoutHandler;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.ResponseBuilder;
+
+import org.apache.cxf.continuations.Continuation;
+import org.apache.cxf.continuations.ContinuationCallback;
+import org.apache.cxf.continuations.ContinuationProvider;
+import org.apache.cxf.interceptor.Fault;
+import org.apache.cxf.jaxrs.utils.HttpUtils;
+import org.apache.cxf.message.Message;
+
+
+public class AsyncResponseImpl implements AsyncResponse, ContinuationCallback {
+
+ private Continuation cont;
+ private Message inMessage;
+ private TimeoutHandler timeoutHandler;
+ private volatile boolean initialSuspend;
+ private volatile boolean cancelled;
+ private volatile boolean done;
+ private volatile boolean resumedByApplication;
+ private volatile Long pendingTimeout;
+
+ private List<CompletionCallback> completionCallbacks = new LinkedList<CompletionCallback>();
+ private List<ConnectionCallback> connectionCallbacks = new LinkedList<ConnectionCallback>();
+ private Throwable unmappedThrowable;
+
+ public AsyncResponseImpl(Message inMessage) {
+ inMessage.put(AsyncResponse.class, this);
+ inMessage.getExchange().put(ContinuationCallback.class, this);
+ this.inMessage = inMessage;
+
+ initContinuation();
+ }
+
+ @Override
+ public boolean resume(Object response) {
+ return doResume(response);
+ }
+
+ @Override
+ public boolean resume(Throwable response) {
+ return doResume(response);
+ }
+
+ private boolean isCancelledOrNotSuspended() {
+ return isCancelled() || !isSuspended();
+ }
+
+ private boolean doResume(Object response) {
+ if (isCancelledOrNotSuspended()) {
+ return false;
+ }
+ return doResumeFinal(response);
+ }
+ private synchronized boolean doResumeFinal(Object response) {
+ inMessage.getExchange().put(AsyncResponse.class, this);
+ cont.setObject(response);
+ resumedByApplication = true;
+ if (!initialSuspend) {
+ cont.resume();
+ } else {
+ initialSuspend = false;
+ }
+ return true;
+ }
+
+ @Override
+ public boolean cancel() {
+ return doCancel(null);
+ }
+
+ @Override
+ public boolean cancel(int retryAfter) {
+ return doCancel(Integer.toString(retryAfter));
+ }
+
+ @Override
+ public boolean cancel(Date retryAfter) {
+ return doCancel(HttpUtils.getHttpDateFormat().format(retryAfter));
+ }
+
+ private boolean doCancel(String retryAfterHeader) {
+ if (cancelled) {
+ return true;
+ }
+ if (!isSuspended()) {
+ return false;
+ }
+
+ cancelled = true;
+ ResponseBuilder rb = Response.status(503);
+ if (retryAfterHeader != null) {
+ rb.header(HttpHeaders.RETRY_AFTER, retryAfterHeader);
+ }
+ doResumeFinal(rb.build());
+ return cancelled;
+ }
+
+ @Override
+ public boolean isSuspended() {
+ if (cancelled || resumedByApplication) {
+ return false;
+ }
+ return initialSuspend || cont.isPending();
+ }
+
+ @Override
+ public synchronized boolean isCancelled() {
+ return cancelled;
+ }
+
+ @Override
+ public boolean isDone() {
+ return done;
+ }
+
+ @Override
+ public synchronized boolean setTimeout(long time, TimeUnit unit) throws IllegalStateException {
+ if (isCancelledOrNotSuspended()) {
+ return false;
+ }
+ setAsyncResponseOnExchange();
+ long timeout = TimeUnit.MILLISECONDS.convert(time, unit);
+ initialSuspend = false;
+ if (!cont.isPending()) {
+ cont.suspend(timeout);
+ } else {
+ pendingTimeout = timeout;
+ cont.resume();
+ }
+ return true;
+ }
+
+ private void setAsyncResponseOnExchange() {
+ inMessage.getExchange().put(AsyncResponse.class, this);
+ }
+
+ @Override
+ public void setTimeoutHandler(TimeoutHandler handler) {
+ timeoutHandler = handler;
+ }
+
+ @Override
+ public Collection<Class<?>> register(Class<?> callback) throws NullPointerException {
+ return register(callback, new Class<?>[]{}).get(callback);
+ }
+
+ @Override
+ public Map<Class<?>, Collection<Class<?>>> register(Class<?> callback, Class<?>... callbacks)
+ throws NullPointerException {
+ try {
+ Object[] extraCallbacks = new Object[callbacks.length];
+ for (int i = 0; i < callbacks.length; i++) {
+ extraCallbacks[i] = callbacks[i].newInstance();
+ }
+ return register(callback.newInstance(), extraCallbacks);
+ } catch (NullPointerException e) {
+ throw e;
+ } catch (Throwable t) {
+ return Collections.emptyMap();
+ }
+
+ }
+
+ @Override
+ public Collection<Class<?>> register(Object callback) throws NullPointerException {
+ return register(callback, new Object[]{}).get(callback.getClass());
+ }
+
+ @Override
+ public Map<Class<?>, Collection<Class<?>>> register(Object callback, Object... callbacks)
+ throws NullPointerException {
+ Map<Class<?>, Collection<Class<?>>> map =
+ new HashMap<Class<?>, Collection<Class<?>>>();
+
+ Object[] allCallbacks = new Object[1 + callbacks.length];
+ allCallbacks[0] = callback;
+ System.arraycopy(callbacks, 0, allCallbacks, 1, callbacks.length);
+
+ for (int i = 0; i < allCallbacks.length; i++) {
+ if (allCallbacks[i] == null) {
+ throw new NullPointerException();
+ }
+ Class<?> callbackCls = allCallbacks[i].getClass();
+ Collection<Class<?>> knownCallbacks = map.get(callbackCls);
+ if (knownCallbacks == null) {
+ knownCallbacks = new HashSet<Class<?>>();
+ map.put(callbackCls, knownCallbacks);
+ }
+
+ if (allCallbacks[i] instanceof CompletionCallback) {
+ knownCallbacks.add(CompletionCallback.class);
+ completionCallbacks.add((CompletionCallback)allCallbacks[i]);
+ } else if (allCallbacks[i] instanceof ConnectionCallback) {
+ knownCallbacks.add(ConnectionCallback.class);
+ connectionCallbacks.add((ConnectionCallback)allCallbacks[i]);
+ }
+ }
+ return map;
+ }
+
+ @Override
+ public void onComplete() {
+ done = true;
+ updateCompletionCallbacks(unmappedThrowable);
+ }
+
+ @Override
+ public void onError(Throwable error) {
+ updateCompletionCallbacks(error);
+ }
+
+ private void updateCompletionCallbacks(Throwable error) {
+ Throwable actualError = error instanceof Fault ? ((Fault)error).getCause() : error;
+ for (CompletionCallback completionCallback : completionCallbacks) {
+ completionCallback.onComplete(actualError);
+ }
+ }
+
+ @Override
+ public void onDisconnect() {
+ for (ConnectionCallback connectionCallback : connectionCallbacks) {
+ connectionCallback.onDisconnect(this);
+ }
+ }
+
+ public synchronized boolean suspendContinuationIfNeeded() {
+ if (!resumedByApplication && !isDone() && !cont.isPending() && !cont.isResumed()) {
+ cont.suspend(AsyncResponse.NO_TIMEOUT);
+ initialSuspend = false;
+ return true;
+ }
+ return false;
+ }
+
+ @SuppressWarnings("resource") // Response that is built here shouldn't be closed here
+ public Object getResponseObject() {
+ Object obj = cont.getObject();
+ if (!(obj instanceof Response) && !(obj instanceof Throwable)) {
+ if (obj == null) {
+ obj = Response.noContent().build();
+ } else {
+ obj = Response.ok().entity(obj).build();
+ }
+ }
+ return obj;
+ }
+
+ public boolean isResumedByApplication() {
+ return resumedByApplication;
+ }
+
+ public synchronized void handleTimeout() {
+ if (!resumedByApplication) {
+ if (pendingTimeout != null) {
+ setAsyncResponseOnExchange();
+ cont.suspend(pendingTimeout);
+ pendingTimeout = null;
+ } else if (timeoutHandler != null) {
+ timeoutHandler.handleTimeout(this);
+ } else {
+ cont.setObject(new ServiceUnavailableException());
+ }
+ }
+ }
+
+ private void initContinuation() {
+ ContinuationProvider provider =
+ (ContinuationProvider)inMessage.get(ContinuationProvider.class.getName());
+ cont = provider.getContinuation();
+ initialSuspend = true;
+ }
+
+ public void prepareContinuation() {
+ initContinuation();
+ }
+
+ public void setUnmappedThrowable(Throwable t) {
+ unmappedThrowable = t;
+ }
+ public void reset() {
+ cont.reset();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/bcc579fd/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 51b77bd..bbb9537 100644
--- a/pom.xml
+++ b/pom.xml
@@ -36,7 +36,7 @@
<packaging>pom</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <cxf.version>3.2.5</cxf.version>
+ <cxf.version>3.2.4</cxf.version>
<bnd.version>4.0.0</bnd.version>
</properties>
[02/10] aries-jax-rs-whiteboard git commit: Revert
"[ARIES-JAXRS-Whiteboard][maven-release-plugin] 1.0.0 prepare release
org.apache.aries.jax.rs-1.0.0"
Posted by cs...@apache.org.
Revert "[ARIES-JAXRS-Whiteboard][maven-release-plugin] 1.0.0 prepare release org.apache.aries.jax.rs-1.0.0"
This reverts commit 07f04e9f1de7d60adca2bb2686fea5166e1f51b7.
Project: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/repo
Commit: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/commit/01e81249
Tree: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/tree/01e81249
Diff: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/diff/01e81249
Branch: refs/heads/master
Commit: 01e81249b69d136e63b9612fc80a790249868de6
Parents: 991b7ac
Author: Carlos Sierra <cs...@apache.org>
Authored: Tue Jun 26 20:34:47 2018 +0200
Committer: Carlos Sierra <cs...@apache.org>
Committed: Tue Jun 26 20:34:47 2018 +0200
----------------------------------------------------------------------
javax.jax.rs-api/pom.xml | 4 ++--
jax-rs.itests-fragment/pom.xml | 6 ++++--
jax-rs.itests-jaxb-json/pom.xml | 15 +++++++++------
jax-rs.itests/pom.xml | 13 ++++++++-----
jax-rs.jaxb-json/pom.xml | 8 ++++++--
jax-rs.whiteboard/pom.xml | 10 +++++++---
pom.xml | 10 ++++++----
7 files changed, 42 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/01e81249/javax.jax.rs-api/pom.xml
----------------------------------------------------------------------
diff --git a/javax.jax.rs-api/pom.xml b/javax.jax.rs-api/pom.xml
index 35241cd..a347866 100644
--- a/javax.jax.rs-api/pom.xml
+++ b/javax.jax.rs-api/pom.xml
@@ -24,13 +24,13 @@
<parent>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs</artifactId>
- <version>1.0.0</version>
+ <version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>org.apache.aries.spec</groupId>
<artifactId>org.apache.aries.javax.jax.rs-api</artifactId>
<name>Apache Aries JAX-RS Specification API</name>
- <version>1.0.0</version>
+ <version>0.0.1-SNAPSHOT</version>
<build>
<plugins>
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/01e81249/jax-rs.itests-fragment/pom.xml
----------------------------------------------------------------------
diff --git a/jax-rs.itests-fragment/pom.xml b/jax-rs.itests-fragment/pom.xml
index e6563c2..ffdb91a 100644
--- a/jax-rs.itests-fragment/pom.xml
+++ b/jax-rs.itests-fragment/pom.xml
@@ -16,11 +16,13 @@
under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs</artifactId>
- <version>1.0.0</version>
+ <version>0.0.1-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/01e81249/jax-rs.itests-jaxb-json/pom.xml
----------------------------------------------------------------------
diff --git a/jax-rs.itests-jaxb-json/pom.xml b/jax-rs.itests-jaxb-json/pom.xml
index 58a312c..c9bef80 100644
--- a/jax-rs.itests-jaxb-json/pom.xml
+++ b/jax-rs.itests-jaxb-json/pom.xml
@@ -15,13 +15,16 @@
specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project
+ xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs</artifactId>
- <version>1.0.0</version>
+ <version>0.0.1-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
@@ -99,24 +102,24 @@
<dependency>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs.whiteboard</artifactId>
- <version>1.0.0</version>
+ <version>0.0.1-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs.itests-fragment</artifactId>
- <version>1.0.0</version>
+ <version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs.jaxb.json</artifactId>
- <version>1.0.0</version>
+ <version>0.0.1-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.aries.spec</groupId>
<artifactId>org.apache.aries.javax.jax.rs-api</artifactId>
- <version>1.0.0</version>
+ <version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/01e81249/jax-rs.itests/pom.xml
----------------------------------------------------------------------
diff --git a/jax-rs.itests/pom.xml b/jax-rs.itests/pom.xml
index de7dd91..3ddd99c 100644
--- a/jax-rs.itests/pom.xml
+++ b/jax-rs.itests/pom.xml
@@ -15,13 +15,16 @@
specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project
+ xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs</artifactId>
- <version>1.0.0</version>
+ <version>0.0.1-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
@@ -121,18 +124,18 @@
<dependency>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs.whiteboard</artifactId>
- <version>1.0.0</version>
+ <version>0.0.1-SNAPSHOT</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs.itests-fragment</artifactId>
- <version>1.0.0</version>
+ <version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.aries.spec</groupId>
<artifactId>org.apache.aries.javax.jax.rs-api</artifactId>
- <version>1.0.0</version>
+ <version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/01e81249/jax-rs.jaxb-json/pom.xml
----------------------------------------------------------------------
diff --git a/jax-rs.jaxb-json/pom.xml b/jax-rs.jaxb-json/pom.xml
index f5f8489..23b8b6c 100644
--- a/jax-rs.jaxb-json/pom.xml
+++ b/jax-rs.jaxb-json/pom.xml
@@ -15,12 +15,16 @@
specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project
+ xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs</artifactId>
- <version>1.0.0</version>
+ <version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>org.apache.aries.jax.rs.jaxb.json</artifactId>
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/01e81249/jax-rs.whiteboard/pom.xml
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/pom.xml b/jax-rs.whiteboard/pom.xml
index 7d6b577..f16f3a5 100644
--- a/jax-rs.whiteboard/pom.xml
+++ b/jax-rs.whiteboard/pom.xml
@@ -15,12 +15,16 @@
specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project
+ xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs</artifactId>
- <version>1.0.0</version>
+ <version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>org.apache.aries.jax.rs.whiteboard</artifactId>
@@ -42,7 +46,7 @@
<dependency>
<groupId>org.apache.aries.spec</groupId>
<artifactId>org.apache.aries.javax.jax.rs-api</artifactId>
- <version>1.0.0</version>
+ <version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/01e81249/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index b706260..f5e3bfe 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,7 +15,10 @@
specific language governing permissions and limitations
under the License.
-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project
+ xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
@@ -29,7 +32,7 @@
<groupId>org.apache.aries.jax.rs</groupId>
<artifactId>org.apache.aries.jax.rs</artifactId>
<name>JAX-RS Integration Project</name>
- <version>1.0.0</version>
+ <version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -41,8 +44,7 @@
<connection>scm:git:https://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard.git</connection>
<developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard.git</developerConnection>
<url>https://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard.git</url>
- <tag>org.apache.aries.jax.rs-1.0.0</tag>
- </scm>
+ </scm>
<modules>
<module>javax.jax.rs-api</module>
[10/10] aries-jax-rs-whiteboard git commit: Close registrator as soon
as possible
Posted by cs...@apache.org.
Close registrator as soon as possible
Otherwise CXFNonSpringServlet destroys the bus when it is unregistered
from HttpWhiteboard, without any notice to the registrator. Any further
interaction will result in a Bus leaked in a ThreadLocal in a
WeakHashMap that will be evetually used inadvertedly.
Project: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/repo
Commit: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/commit/3f9f5d09
Tree: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/tree/3f9f5d09
Diff: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/diff/3f9f5d09
Branch: refs/heads/master
Commit: 3f9f5d09904e17b31943a825d26fcb703d9211c2
Parents: 84a21eb
Author: Carlos Sierra <cs...@apache.org>
Authored: Tue Jun 26 21:08:05 2018 +0200
Committer: Carlos Sierra <cs...@apache.org>
Committed: Tue Jun 26 21:11:18 2018 +0200
----------------------------------------------------------------------
.../org/apache/aries/jax/rs/whiteboard/internal/Whiteboard.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/3f9f5d09/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/Whiteboard.java
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/Whiteboard.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/Whiteboard.java
index 8992cfc..73c90c9 100644
--- a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/Whiteboard.java
+++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/Whiteboard.java
@@ -672,7 +672,9 @@ public class Whiteboard {
return
just(() -> new CxfJaxrsServiceRegistrator(
createBus(extensions), tuple, props.get())).
- effects(__ -> {}, CxfJaxrsServiceRegistrator::close);
+ effects(
+ __ -> {}, __ -> {}, CxfJaxrsServiceRegistrator::close,
+ __ -> {});
}
private OSGi<CachingServiceReference<Object>>
[06/10] aries-jax-rs-whiteboard git commit: Revert "Not needed"
Posted by cs...@apache.org.
Revert "Not needed"
This reverts commit f39982df0459ff3807fe1f6d8b6d33de22552c3f.
Project: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/repo
Commit: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/commit/0ef2bd75
Tree: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/tree/0ef2bd75
Diff: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/diff/0ef2bd75
Branch: refs/heads/master
Commit: 0ef2bd75ed3900f371f835fb28bb8ca4d3c23221
Parents: 1e28acf
Author: Carlos Sierra <cs...@apache.org>
Authored: Tue Jun 26 20:35:04 2018 +0200
Committer: Carlos Sierra <cs...@apache.org>
Committed: Tue Jun 26 20:35:04 2018 +0200
----------------------------------------------------------------------
jax-rs.jaxb-json/.gitignore | 2 ++
jax-rs.whiteboard/.gitignore | 2 ++
2 files changed, 4 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/0ef2bd75/jax-rs.jaxb-json/.gitignore
----------------------------------------------------------------------
diff --git a/jax-rs.jaxb-json/.gitignore b/jax-rs.jaxb-json/.gitignore
new file mode 100644
index 0000000..83ccc54
--- /dev/null
+++ b/jax-rs.jaxb-json/.gitignore
@@ -0,0 +1,2 @@
+/build/
+/bin/
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/0ef2bd75/jax-rs.whiteboard/.gitignore
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/.gitignore b/jax-rs.whiteboard/.gitignore
new file mode 100644
index 0000000..83ccc54
--- /dev/null
+++ b/jax-rs.whiteboard/.gitignore
@@ -0,0 +1,2 @@
+/build/
+/bin/