diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml
index c8527ee..1b9ab20 100644
--- a/.github/workflows/deploy.yaml
+++ b/.github/workflows/deploy.yaml
@@ -18,40 +18,45 @@ name: Deploy
on:
push:
- branches: [ master , development]
+ branches: [ master , development ]
jobs:
verify:
- runs-on: ubuntu-latest
+ runs-on: ubuntu-20.04
strategy:
matrix:
- java-version: [ 8, 11 ]
+ java-version: [ 11 ]
steps:
- name: Check out Git repository
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
- name: Install Java and Maven
- uses: actions/setup-java@v1
+ uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java-version }}
- - run: mvn verify
+ distribution: 'temurin'
+ - run: mvn verify -B -e
release:
needs: verify
- runs-on: ubuntu-latest
+ runs-on: ubuntu-20.04
steps:
- name: Check out Git repository
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
- name: Install Java and Maven
- uses: actions/setup-java@v1
+ uses: actions/setup-java@v3
with:
- java-version: 1.8
-
- - name: Release Maven package
- uses: samuelmeuli/action-maven-publish@v1
- with:
- gpg_private_key: ${{ secrets.gpg_private_key }}
- gpg_passphrase: ${{ secrets.gpg_passphrase }}
- nexus_username: ${{ secrets.nexus_username }}
- nexus_password: ${{ secrets.nexus_password }}
- maven_args: -Dci=true
+ java-version: 11
+ distribution: 'temurin'
+ server-id: ossrh
+ server-username: SONATYPE_USERNAME
+ server-password: SONATYPE_PASSWORD
+ - id: install-secret-key
+ name: Install gpg secret key
+ run: |
+ cat <(echo -e "${{ secrets.gpg_private_key }}") | gpg --batch --import
+ - name: publish to snapshot
+ run: mvn --no-transfer-progress clean deploy -B -e -Dci=true -Dgpg.passphrase=${{ secrets.gpg_passphrase }}
+ env:
+ SONATYPE_USERNAME: ${{ secrets.nexus_username }}
+ SONATYPE_PASSWORD: ${{ secrets.nexus_password }}
\ No newline at end of file
diff --git a/.mvn/maven.config b/.mvn/maven.config
deleted file mode 100644
index 39d4ab0..0000000
--- a/.mvn/maven.config
+++ /dev/null
@@ -1 +0,0 @@
---settings ./.mvn/settings.xml
\ No newline at end of file
diff --git a/.mvn/settings.xml b/.mvn/settings.xml
deleted file mode 100755
index 26bf165..0000000
--- a/.mvn/settings.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
diff --git a/domino-rest-client/pom.xml b/domino-rest-client/pom.xml
index 872a1d5..7112c6d 100644
--- a/domino-rest-client/pom.xml
+++ b/domino-rest-client/pom.xml
@@ -5,7 +5,7 @@
domino-restorg.dominokit
- 1.0.0
+ 1.0.14.0.0
@@ -21,12 +21,12 @@
1.0.0-RC1
- com.google.gwt
+ org.gwtprojectgwt-usertest
- com.google.gwt
+ org.gwtprojectgwt-devtest
@@ -40,11 +40,6 @@
domino-rest-shared${project.version}
-
- org.dominokit
- domino-rest-jaxrs
- ${project.version}
- org.gwtproject.coregwt-core
@@ -60,6 +55,43 @@
gwt-xhr1.0.0-RC1
+
+
+ org.gwtproject.regexp
+ gwt-regexp
+ 1.0.0-RC1
+
+
+ com.google.elemental2
+ elemental2-core
+
+
+ com.google.elemental2
+ elemental2-dom
+
+
+ com.google.elemental2
+ elemental2-promise
+
+
+
+
+ com.google.elemental2
+ elemental2-promise
+
+
+
+ javax.ws.rs
+ javax.ws.rs-api
+ ${jax.rs.version}
+
+
+
+ org.dominokit
+ domino-rest-jaxrs
+ ${project.version}
+
+
junitjunit
diff --git a/domino-rest-client/src/main/java/org/dominokit/rest/DominoRestConfig.java b/domino-rest-client/src/main/java/org/dominokit/rest/DominoRestConfig.java
index b652e32..c7204a6 100644
--- a/domino-rest-client/src/main/java/org/dominokit/rest/DominoRestConfig.java
+++ b/domino-rest-client/src/main/java/org/dominokit/rest/DominoRestConfig.java
@@ -25,6 +25,8 @@
import org.dominokit.rest.js.ServerEventFactory;
import org.dominokit.rest.shared.request.*;
import org.gwtproject.i18n.shared.DateTimeFormat;
+import org.gwtproject.regexp.shared.MatchResult;
+import org.gwtproject.regexp.shared.RegExp;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -253,4 +255,19 @@ public RestConfig setNullQueryParamStrategy(NullQueryParamStrategy strategy) {
}
return this;
}
+
+ @Override
+ public UrlTokenRegexMatcher getUrlTokenRegexMatcher() {
+ return url -> {
+ if (url.contains("http:") || url.contains("https:")) {
+ RegExp regExp = RegExp.compile("^((.*:)//([a-z0-9\\-.]+)(|:[0-9]+)/)(.*)$");
+ MatchResult matcher = regExp.exec(url);
+ boolean matchFound = matcher != null; // equivalent to regExp.test(inputStr);
+ if (matchFound) {
+ return matcher.getGroup(matcher.getGroupCount() - 1);
+ }
+ }
+ return url;
+ };
+ }
}
diff --git a/domino-rest-client/src/main/module.gwt.xml b/domino-rest-client/src/main/module.gwt.xml
index 4946f79..1e3f4e9 100644
--- a/domino-rest-client/src/main/module.gwt.xml
+++ b/domino-rest-client/src/main/module.gwt.xml
@@ -20,5 +20,6 @@
+
diff --git a/domino-rest-jaxrs/pom.xml b/domino-rest-jaxrs/pom.xml
index 0de1719..061c0ea 100644
--- a/domino-rest-jaxrs/pom.xml
+++ b/domino-rest-jaxrs/pom.xml
@@ -5,7 +5,7 @@
org.dominokitdomino-rest
- 1.0.0
+ 1.0.1domino-rest-jaxrs
@@ -16,11 +16,6 @@
domino rest jax-rs super sources
-
-
- src/main/java
-
- org.apache.maven.plugins
diff --git a/domino-rest-jaxrs/src/main/java/javax/ws/rs/Consumes.java b/domino-rest-jaxrs/src/main/java/javax/ws/rs/Consumes.java
deleted file mode 100644
index 825517e..0000000
--- a/domino-rest-jaxrs/src/main/java/javax/ws/rs/Consumes.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2010-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 javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Defines the media types that the methods of a resource class. If not specified, a container will
- * assume that any media type is acceptable. Method level annotations override a class level
- * annotation. A container is responsible for ensuring that the method invoked is capable of
- * consuming the media type of the HTTP request entity body. If no such method is available the
- * container must respond with a HTTP "415 Unsupported Media Type" as specified by RFC 2616.
- *
- * @author Paul Sandoz
- * @author Marc Hadley
- * @since 1.0
- */
-@Inherited
-@Target({ElementType.TYPE, ElementType.METHOD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface Consumes {
-
- /**
- * A list of media types. Each entry may specify a single type or consist of a comma separated
- * list of types, with any leading or trailing white-spaces in a single type entry being ignored.
- * For example:
- *
- *
- * {"image/jpeg, image/gif ", " image/png"}
- *
- *
- * Use of the comma-separated form allows definition of a common string constant for use on
- * multiple targets.
- */
- String[] value() default "*/*";
-}
diff --git a/domino-rest-jaxrs/src/main/java/javax/ws/rs/CookieParam.java b/domino-rest-jaxrs/src/main/java/javax/ws/rs/CookieParam.java
deleted file mode 100644
index d2ae0c7..0000000
--- a/domino-rest-jaxrs/src/main/java/javax/ws/rs/CookieParam.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2010, 2017 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Binds the value of a HTTP cookie to a resource method parameter, resource class field, or
- * resource class bean property. A default value can be specified using the {@link DefaultValue}
- * annotation.
- *
- *
The type {@code T} of the annotated parameter, field or property must either:
- *
- *
- *
Be a primitive type
- *
Be {@link javax.ws.rs.core.Cookie}
- *
Have a constructor that accepts a single String argument
- *
Have a static method named {@code valueOf} or {@code fromString} that accepts a single
- * String argument (see, for example, {@link Integer#valueOf(String)})
- *
Have a registered implementation of {@link javax.ws.rs.ext.ParamConverterProvider} JAX-RS
- * extension SPI that returns a {@link javax.ws.rs.ext.ParamConverter} instance capable of a
- * "from string" conversion for the type.
- *
Be {@code List}, {@code Set} or {@code SortedSet}, where {@code T} satisfies 2, 3,
- * 4 or 5 above. The resulting collection is read-only.
- *
- *
- *
Because injection occurs at object creation time, use of this annotation on resource class
- * fields and bean properties is only supported for the default per-request resource class
- * lifecycle. Resource classes using other lifecycles should only use this annotation on resource
- * method parameters.
- *
- * @author Paul Sandoz
- * @author Marc Hadley
- * @see DefaultValue
- * @see javax.ws.rs.core.Cookie
- * @see javax.ws.rs.core.HttpHeaders#getCookies
- * @since 1.0
- */
-@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface CookieParam {
-
- /**
- * Defines the name of the HTTP cookie whose value will be used to initialize the value of the
- * annotated method argument, class field or bean property.
- */
- String value();
-}
diff --git a/domino-rest-jaxrs/src/main/java/javax/ws/rs/DefaultValue.java b/domino-rest-jaxrs/src/main/java/javax/ws/rs/DefaultValue.java
deleted file mode 100644
index 0f7c0b9..0000000
--- a/domino-rest-jaxrs/src/main/java/javax/ws/rs/DefaultValue.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2010, 2017 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Defines the default value of request meta-data that is bound using one of the following
- * annotations: {@link javax.ws.rs.PathParam}, {@link javax.ws.rs.QueryParam}, {@link
- * javax.ws.rs.MatrixParam}, {@link javax.ws.rs.CookieParam}, {@link javax.ws.rs.FormParam}, or
- * {@link javax.ws.rs.HeaderParam}. The default value is used if the corresponding meta-data is not
- * present in the request.
- *
- *
If the type of the annotated parameter is {@link java.util.List}, {@link java.util.Set} or
- * {@link java.util.SortedSet} then the resulting collection will have a single entry mapped from
- * the supplied default value.
- *
- *
If this annotation is not used and the corresponding meta-data is not present in the request,
- * the value will be an empty collection for {@code List}, {@code Set} or {@code SortedSet}, {@code
- * null} for other object types, and the Java-defined default for primitive types.
- *
- * @author Paul Sandoz
- * @author Marc Hadley
- * @see PathParam
- * @see QueryParam
- * @see FormParam
- * @see HeaderParam
- * @see MatrixParam
- * @see CookieParam
- * @since 1.0
- */
-@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface DefaultValue {
-
- /** The specified default value. */
- String value();
-}
diff --git a/domino-rest-jaxrs/src/main/java/javax/ws/rs/Encoded.java b/domino-rest-jaxrs/src/main/java/javax/ws/rs/Encoded.java
deleted file mode 100644
index 8582ca3..0000000
--- a/domino-rest-jaxrs/src/main/java/javax/ws/rs/Encoded.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2010, 2017 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Disables automatic decoding of parameter values bound using {@link QueryParam}, {@link
- * PathParam}, {@link FormParam} or {@link MatrixParam}. Using this annotation on a method will
- * disable decoding for all parameters. Using this annotation on a class will disable decoding for
- * all parameters of all methods.
- *
- * @author Paul Sandoz
- * @author Marc Hadley
- * @see QueryParam
- * @see MatrixParam
- * @see PathParam
- * @see FormParam
- * @since 1.0
- */
-@Target({
- ElementType.PARAMETER,
- ElementType.METHOD,
- ElementType.FIELD,
- ElementType.CONSTRUCTOR,
- ElementType.TYPE
-})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface Encoded {}
diff --git a/domino-rest-jaxrs/src/main/java/javax/ws/rs/FormParam.java b/domino-rest-jaxrs/src/main/java/javax/ws/rs/FormParam.java
deleted file mode 100644
index 4ee2f01..0000000
--- a/domino-rest-jaxrs/src/main/java/javax/ws/rs/FormParam.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 2010, 2017 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Binds the value(s) of a form parameter contained within a request entity body to a resource
- * method parameter. Values are URL decoded unless this is disabled using the {@link Encoded}
- * annotation. A default value can be specified using the {@link DefaultValue} annotation. If the
- * request entity body is absent or is an unsupported media type, the default value is used.
- *
- *
The type {@code T} of the annotated parameter must either:
- *
- *
- *
Be a primitive type
- *
Have a constructor that accepts a single {@code String} argument
- *
Have a static method named {@code valueOf} or {@code fromString} that accepts a single
- * {@code String} argument (see, for example, {@link Integer#valueOf(String)})
- *
Have a registered implementation of {@link javax.ws.rs.ext.ParamConverterProvider} JAX-RS
- * extension SPI that returns a {@link javax.ws.rs.ext.ParamConverter} instance capable of a
- * "from string" conversion for the type.
- *
Be {@code List}, {@code Set} or {@code SortedSet}, where {@code T} satisfies 2, 3
- * or 4 above. The resulting collection is read-only.
- *
- *
- *
If the type is not one of the collection types listed in 5 above and the form parameter is
- * represented by multiple values then the first value (lexically) of the parameter is used.
- *
- *
Note that, whilst the annotation target permits use on fields and methods, this annotation is
- * only required to be supported on resource method parameters.
- *
- * @author Paul Sandoz
- * @author Marc Hadley
- * @see DefaultValue
- * @see Encoded
- * @since 1.0
- */
-@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface FormParam {
-
- /**
- * Defines the name of the form parameter whose value will be used to initialize the value of the
- * annotated method argument. The name is specified in decoded form, any percent encoded literals
- * within the value will not be decoded and will instead be treated as literal text. E.g. if the
- * parameter name is "a b" then the value of the annotation is "a b", not "a+b" or "a%20b".
- */
- String value();
-}
diff --git a/domino-rest-jaxrs/src/main/java/javax/ws/rs/HeaderParam.java b/domino-rest-jaxrs/src/main/java/javax/ws/rs/HeaderParam.java
deleted file mode 100644
index 35a05be..0000000
--- a/domino-rest-jaxrs/src/main/java/javax/ws/rs/HeaderParam.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2010-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 javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Binds the value(s) of a HTTP header to a resource method parameter, resource class field, or
- * resource class bean property. A default value can be specified using the {@link DefaultValue}
- * annotation.
- *
- *
The type {@code T} of the annotated parameter, field or property must either:
- *
- *
- *
Be a primitive type
- *
Have a constructor that accepts a single {@code String} argument
- *
Have a static method named {@code valueOf} or {@code fromString} that accepts a single
- * {@code String} argument (see, for example, {@link Integer#valueOf(String)})
- *
Have a registered implementation of {@link javax.ws.rs.ext.ParamConverterProvider} JAX-RS
- * extension SPI that returns a {@link javax.ws.rs.ext.ParamConverter} instance capable of a
- * "from string" conversion for the type.
- *
Be {@code List}, {@code Set} or {@code SortedSet}, where {@code T} satisfies 2, 3
- * or 4 above. The resulting collection is read-only.
- *
- *
- *
If the type is not one of the collection types listed in 5 above and the header parameter is
- * represented by multiple values then the first value (lexically) of the parameter is used.
- *
- *
Because injection occurs at object creation time, use of this annotation on resource class
- * fields and bean properties is only supported for the default per-request resource class
- * lifecycle. Resource classes using other lifecycles should only use this annotation on resource
- * method parameters.
- *
- * @author Paul Sandoz
- * @author Marc Hadley
- * @see DefaultValue
- * @see javax.ws.rs.core.HttpHeaders
- * @since 1.0
- */
-@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface HeaderParam {
-
- /**
- * Defines the name of the HTTP header whose value will be used to initialize the value of the
- * annotated method argument, class field or bean property. Case insensitive.
- */
- String value();
-}
diff --git a/domino-rest-jaxrs/src/main/java/javax/ws/rs/MatrixParam.java b/domino-rest-jaxrs/src/main/java/javax/ws/rs/MatrixParam.java
deleted file mode 100644
index 8f7ef05..0000000
--- a/domino-rest-jaxrs/src/main/java/javax/ws/rs/MatrixParam.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2010, 2017 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Binds the value(s) of a URI matrix parameter to a resource method parameter, resource class
- * field, or resource class bean property. Values are URL decoded unless this is disabled using the
- * {@link Encoded} annotation. A default value can be specified using the {@link DefaultValue}
- * annotation.
- *
- *
Note that the {@code @MatrixParam} {@link #value() annotation value} refers to a name of a
- * matrix parameter that resides in the last matched path segment of the {@link Path}-annotated Java
- * structure that injects the value of the matrix parameter.
- *
- *
The type {@code T} of the annotated parameter, field or property must either:
- *
- *
- *
Be a primitive type
- *
Have a constructor that accepts a single {@code String} argument
- *
Have a static method named {@code valueOf} or {@code fromString} that accepts a single
- * {@code String} argument (see, for example, {@link Integer#valueOf(String)})
- *
Have a registered implementation of {@link javax.ws.rs.ext.ParamConverterProvider} JAX-RS
- * extension SPI that returns a {@link javax.ws.rs.ext.ParamConverter} instance capable of a
- * "from string" conversion for the type.
- *
Be {@code List}, {@code Set} or {@code SortedSet}, where {@code T} satisfies 2, 3
- * or 4 above. The resulting collection is read-only.
- *
- *
- *
If the type is not one of the collection types listed in 5 above and the matrix parameter is
- * represented by multiple values then the first value (lexically) of the parameter is used.
- *
- *
Because injection occurs at object creation time, use of this annotation on resource class
- * fields and bean properties is only supported for the default per-request resource class
- * lifecycle. Resource classes using other lifecycles should only use this annotation on resource
- * method parameters.
- *
- * @author Paul Sandoz
- * @author Marc Hadley
- * @see DefaultValue
- * @see Encoded
- * @see Matrix URIs
- * @since 1.0
- */
-@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface MatrixParam {
-
- /**
- * Defines the name of the URI matrix parameter whose value will be used to initialize the value
- * of the annotated method argument, class field or bean property. The name is specified in
- * decoded form, any percent encoded literals within the value will not be decoded and will
- * instead be treated as literal text. E.g. if the parameter name is "a b" then the value of the
- * annotation is "a b", not "a+b" or "a%20b".
- */
- String value();
-}
diff --git a/domino-rest-jaxrs/src/main/java/javax/ws/rs/PATCH.java b/domino-rest-jaxrs/src/main/java/javax/ws/rs/PATCH.java
deleted file mode 100644
index 696e694..0000000
--- a/domino-rest-jaxrs/src/main/java/javax/ws/rs/PATCH.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2017 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 javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates that the annotated method responds to HTTP PATCH requests.
- *
- * @author Pavel Bucek (pavel.bucek at oracle.com)
- * @see HttpMethod
- * @since 2.1
- */
-@Target({ElementType.METHOD})
-@Retention(RetentionPolicy.RUNTIME)
-@HttpMethod(HttpMethod.PATCH)
-@Documented
-public @interface PATCH {}
diff --git a/domino-rest-jaxrs/src/main/java/javax/ws/rs/POST.java b/domino-rest-jaxrs/src/main/java/javax/ws/rs/POST.java
deleted file mode 100644
index d59ff81..0000000
--- a/domino-rest-jaxrs/src/main/java/javax/ws/rs/POST.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2010-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 javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates that the annotated method responds to HTTP POST requests.
- *
- * @author Paul Sandoz
- * @author Marc Hadley
- * @see HttpMethod
- * @since 1.0
- */
-@Target({ElementType.METHOD})
-@Retention(RetentionPolicy.RUNTIME)
-@HttpMethod(HttpMethod.POST)
-@Documented
-public @interface POST {}
diff --git a/domino-rest-jaxrs/src/main/java/javax/ws/rs/Path.java b/domino-rest-jaxrs/src/main/java/javax/ws/rs/Path.java
deleted file mode 100644
index 17693da..0000000
--- a/domino-rest-jaxrs/src/main/java/javax/ws/rs/Path.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2010-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 javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Identifies the URI path that a resource class or class method will serve requests for.
- *
- *
Paths are relative. For an annotated class the base URI is the application path. For an
- * annotated method the base URI is the effective URI of the containing class. For the purposes of
- * absolutizing a path against the base URI , a leading '/' in a path is ignored and base URIs are
- * treated as if they ended in '/'. E.g.:
- *
- *
In the above, if the application path is {@code catalogue} and the application is deployed at
- * {@code http://example.com/}, then {@code GET} requests for {@code
- * http://example.com/catalogue/widgets} will be handled by the {@code getList} method while
- * requests for http://example.com/catalogue/widgets/nnn (where nnn
- * is some value) will be handled by the {@code getWidget} method. The same would apply if
- * the value of either {@code @Path} annotation started with '/'.
- *
- *
Classes and methods may also be annotated with {@link Consumes} and {@link Produces} to filter
- * the requests they will receive.
- *
- * @author Paul Sandoz
- * @author Marc Hadley
- * @see Consumes
- * @see Produces
- * @since 1.0
- */
-@Target({ElementType.TYPE, ElementType.METHOD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface Path {
-
- /**
- * Defines a URI template for the resource class or method, must not include matrix parameters.
- *
- *
Embedded template parameters are allowed and are of the form:
- *
- *
param = "{" *WSP name *WSP [ ":" *WSP regex *WSP ] "}"
- * name = (ALPHA / DIGIT / "_")*(ALPHA / DIGIT / "." / "_" / "-" ) ; \w[\w\.-]*
- * regex = *( nonbrace / "{" *nonbrace "}" ) ; where nonbrace is any char other than "{" and "}"
- *
- *
- *
See {@link RFC 5234} for a description of
- * the syntax used above and the expansions of {@code WSP}, {@code ALPHA} and {@code DIGIT}. In
- * the above {@code name} is the template parameter name and the optional {@code regex} specifies
- * the contents of the capturing group for the parameter. If {@code regex} is not supplied then a
- * default value of {@code [^/]+} which terminates at a path segment boundary, is used. Matching
- * of request URIs to URI templates is performed against encoded path values and implementations
- * will not escape literal characters in regex automatically, therefore any literals in {@code
- * regex} should be escaped by the author according to the rules of {@link RFC 3986 section 3.3}. Caution is
- * recommended in the use of {@code regex}, incorrect use can lead to a template parameter
- * matching unexpected URI paths. See {@link Pattern}
- * for further information on the syntax of regular expressions. Values of template parameters may
- * be extracted using PathParam.
- *
- *
The literal part of the supplied value (those characters that are not part of a template
- * parameter) is automatically percent encoded to conform to the {@code path} production of {@link
- * RFC 3986 section 3.3}. Note that
- * percent encoded values are allowed in the literal part of the value, an implementation will
- * recognize such values and will not double encode the '%' character.
- */
- String value();
-}
diff --git a/domino-rest-jaxrs/src/main/java/javax/ws/rs/PathParam.java b/domino-rest-jaxrs/src/main/java/javax/ws/rs/PathParam.java
deleted file mode 100644
index 385654b..0000000
--- a/domino-rest-jaxrs/src/main/java/javax/ws/rs/PathParam.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2010-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 javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Binds the value of a URI template parameter or a path segment containing the template parameter
- * to a resource method parameter, resource class field, or resource class bean property. The value
- * is URL decoded unless this is disabled using the {@link Encoded @Encoded} annotation. A
- * default value can be specified using the {@link DefaultValue @DefaultValue} annotation.
- *
- *
The type of the annotated parameter, field or property must either:
- *
- *
- *
Be {@link javax.ws.rs.core.PathSegment}, the value will be the final segment of the
- * matching part of the path. See {@link javax.ws.rs.core.UriInfo} for a means of retrieving
- * all request path segments.
- *
Be {@code List}, the value will be a list of {@code
- * PathSegment} corresponding to the path segment(s) that matched the named template
- * parameter. See {@link javax.ws.rs.core.UriInfo} for a means of retrieving all request path
- * segments.
- *
Be a primitive type.
- *
Have a constructor that accepts a single String argument.
- *
Have a static method named {@code valueOf} or {@code fromString} that accepts a single
- * String argument (see, for example, {@link Integer#valueOf(String)}).
- *
Have a registered implementation of {@link javax.ws.rs.ext.ParamConverterProvider} JAX-RS
- * extension SPI that returns a {@link javax.ws.rs.ext.ParamConverter} instance capable of a
- * "from string" conversion for the type.
- *
- *
- *
The injected value corresponds to the latest use (in terms of scope) of the path parameter.
- * E.g. if a class and a sub-resource method are both annotated with a {@link Path @Path}
- * containing the same URI template parameter, use of {@code @PathParam} on a sub-resource method
- * parameter will bind the value matching URI template parameter in the method's {@code @Path}
- * annotation.
- *
- *
Because injection occurs at object creation time, use of this annotation on resource class
- * fields and bean properties is only supported for the default per-request resource class
- * lifecycle. Resource classes using other lifecycles should only use this annotation on resource
- * method parameters.
- *
- * @author Paul Sandoz
- * @author Marc Hadley
- * @see Encoded @Encoded
- * @see DefaultValue @DefaultValue
- * @see javax.ws.rs.core.PathSegment
- * @see javax.ws.rs.core.UriInfo
- * @since 1.0
- */
-@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface PathParam {
-
- /**
- * Defines the name of the URI template parameter whose value will be used to initialize the value
- * of the annotated method parameter, class field or property. See {@link Path#value()} for a
- * description of the syntax of template parameters.
- *
- *
E.g. a class annotated with: {@code @Path("widgets/{id}")} can have methods annotated whose
- * arguments are annotated with {@code @PathParam("id")}.
- */
- String value();
-}
diff --git a/domino-rest-jaxrs/src/main/java/javax/ws/rs/Produces.java b/domino-rest-jaxrs/src/main/java/javax/ws/rs/Produces.java
deleted file mode 100644
index 14ea10f..0000000
--- a/domino-rest-jaxrs/src/main/java/javax/ws/rs/Produces.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2010-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 javax.ws.rs;
-
-import java.lang.annotation.*;
-
-/**
- * Defines the media type(s) that the methods of a resource class can produce. If not specified then
- * a container will assume that any type can be produced. Method level annotations override a class
- * level annotation. A container is responsible for ensuring that the method invoked is capable of
- * producing one of the media types requested in the HTTP request. If no such method is available
- * the container must respond with a HTTP "406 Not Acceptable" as specified by RFC 2616.
- *
- *
A method for which there is a single-valued {@code @Produces} is not required to set the media
- * type of representations that it produces: the container will use the value of the
- * {@code @Produces} when sending a response.
- *
- * @author Paul Sandoz
- * @author Marc Hadley
- * @since 1.0
- */
-@Inherited
-@Target({ElementType.TYPE, ElementType.METHOD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface Produces {
-
- /**
- * A list of media types. Each entry may specify a single type or consist of a comma separated
- * list of types, with any leading or trailing white-spaces in a single type entry being ignored.
- * For example:
- *
- *
- * {"image/jpeg, image/gif ", " image/png"}
- *
- *
- * Use of the comma-separated form allows definition of a common string constant for use on
- * multiple targets.
- */
- String[] value() default "*/*";
-}
diff --git a/domino-rest-jaxrs/src/main/java/javax/ws/rs/QueryParam.java b/domino-rest-jaxrs/src/main/java/javax/ws/rs/QueryParam.java
deleted file mode 100644
index 49a726b..0000000
--- a/domino-rest-jaxrs/src/main/java/javax/ws/rs/QueryParam.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2010-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 javax.ws.rs;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Binds the value(s) of a HTTP query parameter to a resource method parameter, resource class
- * field, or resource class bean property. Values are URL decoded unless this is disabled using the
- * {@link Encoded} annotation. A default value can be specified using the {@link DefaultValue}
- * annotation.
- *
- *
The type {@code T} of the annotated parameter, field or property must either:
- *
- *
- *
Be a primitive type
- *
Have a constructor that accepts a single {@code String} argument
- *
Have a static method named {@code valueOf} or {@code fromString} that accepts a single
- * {@code String} argument (see, for example, {@link Integer#valueOf(String)})
- *
Have a registered implementation of {@link javax.ws.rs.ext.ParamConverterProvider} JAX-RS
- * extension SPI that returns a {@link javax.ws.rs.ext.ParamConverter} instance capable of a
- * "from string" conversion for the type.
- *
Be {@code List}, {@code Set} or {@code SortedSet}, where {@code T} satisfies 2, 3
- * or 4 above. The resulting collection is read-only.
- *
- *
- *
If the type is not one of the collection types listed in 5 above and the query parameter is
- * represented by multiple values then the first value (lexically) of the parameter is used.
- *
- *
Because injection occurs at object creation time, use of this annotation on resource class
- * fields and bean properties is only supported for the default per-request resource class
- * lifecycle. Resource classes using other lifecycles should only use this annotation on resource
- * method parameters.
- *
- * @author Paul Sandoz
- * @author Marc Hadley
- * @see DefaultValue
- * @see Encoded
- * @see javax.ws.rs.core.UriInfo#getQueryParameters
- * @since 1.0
- */
-@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface QueryParam {
-
- /**
- * Defines the name of the HTTP query parameter whose value will be used to initialize the value
- * of the annotated method argument, class field or bean property. The name is specified in
- * decoded form, any percent encoded literals within the value will not be decoded and will
- * instead be treated as literal text. E.g. if the parameter name is "a b" then the value of the
- * annotation is "a b", not "a+b" or "a%20b".
- */
- String value();
-}
diff --git a/domino-rest-jaxrs/src/main/java/javax/ws/rs/core/MediaType.java b/domino-rest-jaxrs/src/main/java/javax/ws/rs/core/MediaType.java
deleted file mode 100644
index bd3b02f..0000000
--- a/domino-rest-jaxrs/src/main/java/javax/ws/rs/core/MediaType.java
+++ /dev/null
@@ -1,366 +0,0 @@
-/*
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
- *
- * Copyright (c) 2010-2017 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 javax.ws.rs.core;
-
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Map;
-import java.util.TreeMap;
-
-/**
- * An abstraction for a media type. Instances are immutable.
- *
- * @author Paul Sandoz
- * @author Marc Hadley
- * @see HTTP/1.1 section
- * 3.7
- * @since 1.0
- */
-@SuppressWarnings("JavaDoc")
-public class MediaType {
-
- private String type;
- private String subtype;
- private Map parameters;
-
- /** The media type {@code charset} parameter name. */
- public static final String CHARSET_PARAMETER = "charset";
- /** The value of a type or subtype wildcard {@value #MEDIA_TYPE_WILDCARD}. */
- public static final String MEDIA_TYPE_WILDCARD = "*";
- // Common media type constants
- /** A {@code String} constant representing wildcard {@value #WILDCARD} media type . */
- public static final String WILDCARD = "*/*";
- /** A {@link MediaType} constant representing wildcard {@value #WILDCARD} media type. */
- public static final MediaType WILDCARD_TYPE = new MediaType();
- /** A {@code String} constant representing {@value #APPLICATION_XML} media type. */
- public static final String APPLICATION_XML = "application/xml";
- /** A {@link MediaType} constant representing {@value #APPLICATION_XML} media type. */
- public static final MediaType APPLICATION_XML_TYPE = new MediaType("application", "xml");
- /** A {@code String} constant representing {@value #APPLICATION_ATOM_XML} media type. */
- public static final String APPLICATION_ATOM_XML = "application/atom+xml";
- /** A {@link MediaType} constant representing {@value #APPLICATION_ATOM_XML} media type. */
- public static final MediaType APPLICATION_ATOM_XML_TYPE =
- new MediaType("application", "atom+xml");
- /** A {@code String} constant representing {@value #APPLICATION_XHTML_XML} media type. */
- public static final String APPLICATION_XHTML_XML = "application/xhtml+xml";
- /** A {@link MediaType} constant representing {@value #APPLICATION_XHTML_XML} media type. */
- public static final MediaType APPLICATION_XHTML_XML_TYPE =
- new MediaType("application", "xhtml+xml");
- /** A {@code String} constant representing {@value #APPLICATION_SVG_XML} media type. */
- public static final String APPLICATION_SVG_XML = "application/svg+xml";
- /** A {@link MediaType} constant representing {@value #APPLICATION_SVG_XML} media type. */
- public static final MediaType APPLICATION_SVG_XML_TYPE = new MediaType("application", "svg+xml");
- /** A {@code String} constant representing {@value #APPLICATION_JSON} media type. */
- public static final String APPLICATION_JSON = "application/json";
- /** A {@link MediaType} constant representing {@value #APPLICATION_JSON} media type. */
- public static final MediaType APPLICATION_JSON_TYPE = new MediaType("application", "json");
- /** A {@code String} constant representing {@value #APPLICATION_FORM_URLENCODED} media type. */
- public static final String APPLICATION_FORM_URLENCODED = "application/x-www-form-urlencoded";
- /** A {@link MediaType} constant representing {@value #APPLICATION_FORM_URLENCODED} media type. */
- public static final MediaType APPLICATION_FORM_URLENCODED_TYPE =
- new MediaType("application", "x-www-form-urlencoded");
- /** A {@code String} constant representing {@value #MULTIPART_FORM_DATA} media type. */
- public static final String MULTIPART_FORM_DATA = "multipart/form-data";
- /** A {@link MediaType} constant representing {@value #MULTIPART_FORM_DATA} media type. */
- public static final MediaType MULTIPART_FORM_DATA_TYPE = new MediaType("multipart", "form-data");
- /** A {@code String} constant representing {@value #APPLICATION_OCTET_STREAM} media type. */
- public static final String APPLICATION_OCTET_STREAM = "application/octet-stream";
- /** A {@link MediaType} constant representing {@value #APPLICATION_OCTET_STREAM} media type. */
- public static final MediaType APPLICATION_OCTET_STREAM_TYPE =
- new MediaType("application", "octet-stream");
- /** A {@code String} constant representing {@value #TEXT_PLAIN} media type. */
- public static final String TEXT_PLAIN = "text/plain";
- /** A {@link MediaType} constant representing {@value #TEXT_PLAIN} media type. */
- public static final MediaType TEXT_PLAIN_TYPE = new MediaType("text", "plain");
- /** A {@code String} constant representing {@value #TEXT_XML} media type. */
- public static final String TEXT_XML = "text/xml";
- /** A {@link MediaType} constant representing {@value #TEXT_XML} media type. */
- public static final MediaType TEXT_XML_TYPE = new MediaType("text", "xml");
- /** A {@code String} constant representing {@value #TEXT_HTML} media type. */
- public static final String TEXT_HTML = "text/html";
- /** A {@link MediaType} constant representing {@value #TEXT_HTML} media type. */
- public static final MediaType TEXT_HTML_TYPE = new MediaType("text", "html");
- /** {@link String} representation of Server sent events media type. ("{@value}"). */
- public static final String SERVER_SENT_EVENTS = "text/event-stream";
- /** Server sent events media type. */
- public static final MediaType SERVER_SENT_EVENTS_TYPE = new MediaType("text", "event-stream");
- /** {@link String} representation of {@value #APPLICATION_JSON_PATCH_JSON} media type.. */
- public static final String APPLICATION_JSON_PATCH_JSON = "application/json-patch+json";
- /** A {@link MediaType} constant representing {@value #APPLICATION_JSON_PATCH_JSON} media type. */
- public static final MediaType APPLICATION_JSON_PATCH_JSON_TYPE =
- new MediaType("application", "json-patch+json");
-
- /**
- * Creates a new instance of {@code MediaType} by parsing the supplied string.
- *
- * @param type the media type string.
- * @return the newly created MediaType.
- * @throws IllegalArgumentException if the supplied string cannot be parsed or is {@code null}.
- */
- public static MediaType valueOf(String type) {
- if (type.contains("/")) {
- String[] pair = type.split("/");
- return new MediaType(pair[0], pair[1]);
- }
- return new MediaType(type, type);
- }
-
- private static TreeMap createParametersMap(Map initialValues) {
- final TreeMap map =
- new TreeMap(
- new Comparator() {
-
- @Override
- public int compare(String o1, String o2) {
- return o1.compareToIgnoreCase(o2);
- }
- });
- if (initialValues != null) {
- for (Map.Entry e : initialValues.entrySet()) {
- map.put(e.getKey().toLowerCase(), e.getValue());
- }
- }
- return map;
- }
-
- /**
- * Creates a new instance of {@code MediaType} with the supplied type, subtype and parameters.
- *
- * @param type the primary type, {@code null} is equivalent to {@link #MEDIA_TYPE_WILDCARD}.
- * @param subtype the subtype, {@code null} is equivalent to {@link #MEDIA_TYPE_WILDCARD}.
- * @param parameters a map of media type parameters, {@code null} is the same as an empty map.
- */
- public MediaType(String type, String subtype, Map parameters) {
- this(type, subtype, null, createParametersMap(parameters));
- }
-
- /**
- * Creates a new instance of {@code MediaType} with the supplied type and subtype.
- *
- * @param type the primary type, {@code null} is equivalent to {@link #MEDIA_TYPE_WILDCARD}
- * @param subtype the subtype, {@code null} is equivalent to {@link #MEDIA_TYPE_WILDCARD}
- */
- public MediaType(String type, String subtype) {
- this(type, subtype, null, null);
- }
-
- /**
- * Creates a new instance of {@code MediaType} with the supplied type, subtype and {@value
- * #CHARSET_PARAMETER} parameter.
- *
- * @param type the primary type, {@code null} is equivalent to {@link #MEDIA_TYPE_WILDCARD}
- * @param subtype the subtype, {@code null} is equivalent to {@link #MEDIA_TYPE_WILDCARD}
- * @param charset the {@value #CHARSET_PARAMETER} parameter value. If {@code null} or empty the
- * {@value #CHARSET_PARAMETER} parameter will not be set.
- */
- public MediaType(String type, String subtype, String charset) {
- this(type, subtype, charset, null);
- }
-
- /**
- * Creates a new instance of {@code MediaType}, both type and subtype are wildcards. Consider
- * using the constant {@link #WILDCARD_TYPE} instead.
- */
- public MediaType() {
- this(MEDIA_TYPE_WILDCARD, MEDIA_TYPE_WILDCARD, null, null);
- }
-
- private MediaType(String type, String subtype, String charset, Map parameterMap) {
-
- this.type = type == null ? MEDIA_TYPE_WILDCARD : type;
- this.subtype = subtype == null ? MEDIA_TYPE_WILDCARD : subtype;
-
- if (parameterMap == null) {
- parameterMap =
- new TreeMap(
- new Comparator() {
-
- @Override
- public int compare(String o1, String o2) {
- return o1.compareToIgnoreCase(o2);
- }
- });
- }
-
- if (charset != null && !charset.isEmpty()) {
- parameterMap.put(CHARSET_PARAMETER, charset);
- }
- this.parameters = Collections.unmodifiableMap(parameterMap);
- }
-
- /**
- * Getter for primary type.
- *
- * @return value of primary type.
- */
- public String getType() {
- return this.type;
- }
-
- /**
- * Checks if the primary type is a wildcard.
- *
- * @return true if the primary type is a wildcard.
- */
- public boolean isWildcardType() {
- return this.getType().equals(MEDIA_TYPE_WILDCARD);
- }
-
- /**
- * Getter for subtype.
- *
- * @return value of subtype.
- */
- public String getSubtype() {
- return this.subtype;
- }
-
- /**
- * Checks if the subtype is a wildcard.
- *
- * @return true if the subtype is a wildcard.
- */
- public boolean isWildcardSubtype() {
- return this.getSubtype().equals(MEDIA_TYPE_WILDCARD);
- }
-
- /**
- * Getter for a read-only parameter map. Keys are case-insensitive.
- *
- * @return an immutable map of parameters.
- */
- public Map getParameters() {
- return parameters;
- }
-
- /**
- * Create a new {@code MediaType} instance with the same type, subtype and parameters copied from
- * the original instance and the supplied {@value #CHARSET_PARAMETER} parameter.
- *
- * @param charset the {@value #CHARSET_PARAMETER} parameter value. If {@code null} or empty the
- * {@value #CHARSET_PARAMETER} parameter will not be set or updated.
- * @return copy of the current {@code MediaType} instance with the {@value #CHARSET_PARAMETER}
- * parameter set to the supplied value.
- * @since 2.0
- */
- public MediaType withCharset(String charset) {
- return new MediaType(this.type, this.subtype, charset, createParametersMap(this.parameters));
- }
-
- /**
- * Check if this media type is compatible with another media type. E.g. image/* is compatible with
- * image/jpeg, image/png, etc. Media type parameters are ignored. The function is commutative.
- *
- * @param other the media type to compare with.
- * @return true if the types are compatible, false otherwise.
- */
- public boolean isCompatible(MediaType other) {
- return other != null
- && // return false if other is null, else
- (type.equals(MEDIA_TYPE_WILDCARD)
- || other.type.equals(MEDIA_TYPE_WILDCARD)
- || // both are wildcard types, or
- (type.equalsIgnoreCase(other.type)
- && (subtype.equals(MEDIA_TYPE_WILDCARD)
- || other.subtype.equals(MEDIA_TYPE_WILDCARD)))
- || // same types, wildcard sub-types, or
- (type.equalsIgnoreCase(other.type)
- && this.subtype.equalsIgnoreCase(other.subtype))); // same types & sub-types
- }
-
- /**
- * Compares {@code obj} to this media type to see if they are the same by comparing type, subtype
- * and parameters. Note that the case-sensitivity of parameter values is dependent on the
- * semantics of the parameter name, see {@link HTTP/1.1}. This method
- * assumes that values are case-sensitive.
- *
- *
Note that the {@code equals(...)} implementation does not perform a class equality check
- * ({@code this.getClass() == obj.getClass()}). Therefore any class that extends from {@code
- * MediaType} class and needs to override one of the {@code equals(...)} and {@link #hashCode()}
- * methods must always override both methods to ensure the contract between {@link
- * Object#equals(Object)} and {@link Object#hashCode()} does not break.
- *
- * @param obj the object to compare to.
- * @return true if the two media types are the same, false otherwise.
- */
- @SuppressWarnings("UnnecessaryJavaDocLink")
- @Override
- public boolean equals(Object obj) {
- if (!(obj instanceof MediaType)) {
- return false;
- }
-
- MediaType other = (MediaType) obj;
- return (this.type.equalsIgnoreCase(other.type)
- && this.subtype.equalsIgnoreCase(other.subtype)
- && this.parameters.equals(other.parameters));
- }
-
- /**
- * Generate a hash code from the type, subtype and parameters.
- *
- *
Note that the {@link #equals(Object)} implementation does not perform a class equality check
- * ({@code this.getClass() == obj.getClass()}). Therefore any class that extends from {@code
- * MediaType} class and needs to override one of the {@link #equals(Object)} and {@code
- * hashCode()} methods must always override both methods to ensure the contract between {@link
- * Object#equals(Object)} and {@link Object#hashCode()} does not break.
- *
- * @return a generated hash code.
- */
- @SuppressWarnings("UnnecessaryJavaDocLink")
- @Override
- public int hashCode() {
- return (this.type.toLowerCase() + this.subtype.toLowerCase()).hashCode()
- + this.parameters.hashCode();
- }
-
- /**
- * Convert the media type to a string suitable for use as the value of a corresponding HTTP
- * header.
- *
- * @return a string version of the media type.
- */
- @Override
- public String toString() {
- return type + "/" + subtype;
- }
-}
diff --git a/domino-rest-jaxrs/src/main/java/javax/ws/rs/ext/ParamConverter.java b/domino-rest-jaxrs/src/main/java/javax/ws/rs/ext/ParamConverter.java
deleted file mode 100644
index 5be5f03..0000000
--- a/domino-rest-jaxrs/src/main/java/javax/ws/rs/ext/ParamConverter.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (c) 2012, 2017 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package javax.ws.rs.ext;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-import javax.ws.rs.DefaultValue;
-
-/**
- * Defines a contract for a delegate responsible for converting between a {@code String} form of a
- * message parameter value and the corresponding custom Java type {@code T}.
- *
- *
Conversion of message parameter values injected via {@link javax.ws.rs.PathParam
- * @PathParam}, {@link javax.ws.rs.QueryParam @QueryParam}, {@link javax.ws.rs.MatrixParam
- * @MatrixParam}, {@link javax.ws.rs.FormParam @FormParam}, {@link javax.ws.rs.CookieParam
- * @CookieParam} and {@link javax.ws.rs.HeaderParam @HeaderParam} is supported.
- *
- *
By default, when used for injection of parameter values, a selected {@code ParamConverter}
- * instance MUST be used eagerly by a JAX-RS runtime to convert any {@link DefaultValue default
- * value} in the resource or provider model, that is during the application deployment, before any
- * value – default or otherwise – is actually required. This conversion strategy ensures
- * that any errors in the default values are reported as early as possible. This default behavior
- * may be overridden by annotating the {@code ParamConverter} implementation class with a {@link
- * Lazy @Lazy} annotation. In such case any default value conversion delegated to the
- * {@code @Lazy}-annotated converter will be deferred to a latest possible moment (i.e. until the
- * injection of such default value is required).
- *
- *
NOTE: A service implementing this contract is not recognized as a registrable JAX-RS extension
- * provider. Instead, a {@link ParamConverterProvider} instance responsible for providing {@code
- * ParamConverter} instances has to be registered as one of the JAX-RS extension providers.
- *
- * @param the supported Java type convertible to/from a {@code String} format.
- * @author Marek Potociar
- * @since 2.0
- */
-public interface ParamConverter {
-
- /**
- * Mandates that a conversion of any {@link DefaultValue default value} delegated to a {@link
- * ParamConverter parameter converter} annotated with {@code @Lazy} annotation SHOULD occur only
- * once the value is actually required (e.g. to be injected for the first time).
- *
- * @since 2.0
- */
- @Target({ElementType.TYPE})
- @Retention(RetentionPolicy.RUNTIME)
- @Documented
- public static @interface Lazy {}
-
- /**
- * Parse the supplied value and create an instance of {@code T}.
- *
- * @param value the string value.
- * @return the newly created instance of {@code T}.
- * @throws IllegalArgumentException if the supplied string cannot be parsed or is {@code null}.
- */
- public T fromString(String value);
-
- /**
- * Convert the supplied value to a String.
- *
- *
This method is reserved for future use. Proprietary JAX-RS extensions may leverage the
- * method. Users should be aware that any such support for the method comes at the expense of
- * producing non-portable code.
- *
- * @param value the value of type {@code T}.
- * @return a String representation of the value.
- * @throws IllegalArgumentException if the supplied object cannot be serialized or is {@code
- * null}.
- */
- public String toString(T value);
-}
diff --git a/domino-rest-jaxrs/src/main/java/javax/ws/rs/ext/ParamConverterProvider.java b/domino-rest-jaxrs/src/main/java/javax/ws/rs/ext/ParamConverterProvider.java
deleted file mode 100644
index f545f81..0000000
--- a/domino-rest-jaxrs/src/main/java/javax/ws/rs/ext/ParamConverterProvider.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2012, 2017 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package javax.ws.rs.ext;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
-
-/**
- * Contract for a provider of {@link ParamConverter} instances.
- *
- *
The JAX-RS runtime will instantiate the object and inject all it's fields and properties
- * annotated with either one of the {@code @XxxParam} annotation ({@link PathParam @PathParam},
- * {@link FormParam @FormParam} ...) or the {@link javax.ws.rs.core.Context @Context}
- * annotation. For the POJO classes same instantiation and injection rules apply as in case of
- * instantiation and injection of request-scoped root resource classes.
- *
- *
Because injection occurs at object creation time, use of this annotation on resource class
- * fields and bean properties is only supported for the default per-request resource class
- * lifecycle. Resource classes using other lifecycles should only use this annotation on resource
- * method parameters.
- *
- * @author Marek Potociar
- * @since 2.0
- */
-@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface BeanParam {}
+public interface ContainerResponseContext {
+
+ public int getStatus();
+
+ public void setStatus(int code);
+
+ public Response.StatusType getStatusInfo();
+ public void setStatusInfo(Response.StatusType statusInfo);
+
+ public MultivaluedMap getHeaders();
+
+ public abstract MultivaluedMap getStringHeaders();
+
+ public String getHeaderString(String name);
+ public Set getAllowedMethods();
+ public Date getDate();
+ @GwtIncompatible
+ public Locale getLanguage();
+
+ public int getLength();
+
+ public MediaType getMediaType();
+
+ public Map getCookies();
+
+ public EntityTag getEntityTag();
+
+ public Date getLastModified();
+
+ @GwtIncompatible
+ public URI getLocation();
+ public Set getLinks();
+
+ boolean hasLink(String relation);
+
+ public Link getLink(String relation);
+
+ public Link.Builder getLinkBuilder(String relation);
+
+ public boolean hasEntity();
+ public Object getEntity();
+
+ public Class> getEntityClass();
+ @GwtIncompatible
+ public Type getEntityType();
+
+ public void setEntity(final Object entity);
+
+ @GwtIncompatible
+ public void setEntity(
+ final Object entity, final Annotation[] annotations, final MediaType mediaType);
+
+ @GwtIncompatible
+ public Annotation[] getEntityAnnotations();
+
+ @GwtIncompatible
+ public OutputStream getEntityStream();
+
+ @GwtIncompatible
+ public void setEntityStream(OutputStream outputStream);
+}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ContainerResponseFilter.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ContainerResponseFilter.java
new file mode 100644
index 0000000..9f67f8f
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ContainerResponseFilter.java
@@ -0,0 +1,48 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright (c) 2012-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 javax.ws.rs.container;
+
+public interface ContainerResponseFilter {
+
+
+ public void filter(
+ ContainerRequestContext requestContext, ContainerResponseContext responseContext);
+}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/DynamicFeature.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/DynamicFeature.java
new file mode 100644
index 0000000..375128b
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/DynamicFeature.java
@@ -0,0 +1,48 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright (c) 2011-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 javax.ws.rs.container;
+
+import javax.ws.rs.core.FeatureContext;
+
+public interface DynamicFeature {
+
+ public void configure(ResourceInfo resourceInfo, FeatureContext context);
+}
diff --git a/domino-rest-jaxrs/src/main/java/javax/ws/rs/GET.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/PreMatching.java
similarity index 87%
rename from domino-rest-jaxrs/src/main/java/javax/ws/rs/GET.java
rename to domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/PreMatching.java
index a1e41df..5965bf5 100644
--- a/domino-rest-jaxrs/src/main/java/javax/ws/rs/GET.java
+++ b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/PreMatching.java
@@ -1,7 +1,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) 2012-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
@@ -38,7 +38,7 @@
* holder.
*/
-package javax.ws.rs;
+package javax.ws.rs.container;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
@@ -46,15 +46,7 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-/**
- * Indicates that the annotated method responds to HTTP GET requests.
- *
- * @author Paul Sandoz
- * @author Marc Hadley
- * @since 1.0
- */
-@Target({ElementType.METHOD})
+@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
-@HttpMethod(HttpMethod.GET)
@Documented
-public @interface GET {}
+public @interface PreMatching {}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ResourceContext.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ResourceContext.java
new file mode 100644
index 0000000..fdcc2e2
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ResourceContext.java
@@ -0,0 +1,48 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright (c) 2012-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 javax.ws.rs.container;
+
+public interface ResourceContext {
+
+ public T getResource(Class resourceClass);
+
+ public T initResource(T resource);
+}
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ResourceInfo.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ResourceInfo.java
new file mode 100644
index 0000000..d27fe59
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/ResourceInfo.java
@@ -0,0 +1,52 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright (c) 2011-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 javax.ws.rs.container;
+
+import java.lang.reflect.Method;
+import javax.ws.rs.GwtIncompatible;
+
+public interface ResourceInfo {
+
+ @GwtIncompatible
+ Method getResourceMethod();
+
+ Class> getResourceClass();
+}
diff --git a/domino-rest-jaxrs/src/main/java/javax/ws/rs/container/Suspended.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/Suspended.java
similarity index 94%
rename from domino-rest-jaxrs/src/main/java/javax/ws/rs/container/Suspended.java
rename to domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/Suspended.java
index 0779bb5..1ce36d4 100644
--- a/domino-rest-jaxrs/src/main/java/javax/ws/rs/container/Suspended.java
+++ b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/Suspended.java
@@ -46,10 +46,6 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-/**
- * Used for emulating Context in domino-rest, arguments annotated with this annotation will be
- * ignored in domino-rest client generation
- */
@Target({ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Documented
diff --git a/domino-rest-jaxrs/src/main/java/javax/ws/rs/container/TimeoutHandler.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/TimeoutHandler.java
similarity index 85%
rename from domino-rest-jaxrs/src/main/java/javax/ws/rs/container/TimeoutHandler.java
rename to domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/TimeoutHandler.java
index 4333a14..fd11849 100644
--- a/domino-rest-jaxrs/src/main/java/javax/ws/rs/container/TimeoutHandler.java
+++ b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/TimeoutHandler.java
@@ -17,10 +17,6 @@
import javax.ws.rs.GwtIncompatible;
-/**
- * Used for emulating Context in domino-rest, arguments of this type will be ignored in domino-rest
- * client generation
- */
@GwtIncompatible
public interface TimeoutHandler {
void handleTimeout(AsyncResponse asyncResponse);
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/package-info.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/package-info.java
new file mode 100644
index 0000000..4e92ddd
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/container/package-info.java
@@ -0,0 +1,42 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright (c) 2012-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.
+ */
+
+/** Container-specific JAX-RS API. */
+package javax.ws.rs.container;
diff --git a/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/AbstractMultivaluedMap.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/AbstractMultivaluedMap.java
new file mode 100644
index 0000000..648c1b7
--- /dev/null
+++ b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/AbstractMultivaluedMap.java
@@ -0,0 +1,261 @@
+/*
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+ *
+ * Copyright (c) 2012-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 javax.ws.rs.core;
+
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+public abstract class AbstractMultivaluedMap implements MultivaluedMap {
+
+ protected final Map> store;
+
+ public AbstractMultivaluedMap(Map> store) {
+ if (store == null) {
+ throw new NullPointerException("Underlying store must not be 'null'.");
+ }
+ this.store = store;
+ }
+
+
+ @Override
+ public final void putSingle(K key, V value) {
+ List values = getValues(key);
+
+ values.clear();
+ if (value != null) {
+ values.add(value);
+ } else {
+ addNull(values);
+ }
+ }
+
+ @SuppressWarnings("UnusedParameters")
+ protected void addNull(List values) {
+ // do nothing in the default implementation; ignore the null value
+ }
+
+ @SuppressWarnings("UnusedParameters")
+ protected void addFirstNull(List values) {
+ // do nothing in the default implementation; ignore the null value
+ }
+
+ @Override
+ public final void add(K key, V value) {
+ List values = getValues(key);
+
+ if (value != null) {
+ values.add(value);
+ } else {
+ addNull(values);
+ }
+ }
+
+ @Override
+ public final void addAll(K key, V... newValues) {
+ if (newValues == null) {
+ throw new NullPointerException("Supplied array of values must not be null.");
+ }
+ if (newValues.length == 0) {
+ return;
+ }
+
+ List values = getValues(key);
+
+ for (V value : newValues) {
+ if (value != null) {
+ values.add(value);
+ } else {
+ addNull(values);
+ }
+ }
+ }
+
+ @Override
+ public final void addAll(K key, List valueList) {
+ if (valueList == null) {
+ throw new NullPointerException("Supplied list of values must not be null.");
+ }
+ if (valueList.isEmpty()) {
+ return;
+ }
+
+ List values = getValues(key);
+
+ for (V value : valueList) {
+ if (value != null) {
+ values.add(value);
+ } else {
+ addNull(values);
+ }
+ }
+ }
+
+ @Override
+ public final V getFirst(K key) {
+ List values = store.get(key);
+ if (values != null && values.size() > 0) {
+ return values.get(0);
+ } else {
+ return null;
+ }
+ }
+
+ @Override
+ public final void addFirst(K key, V value) {
+ List values = getValues(key);
+
+ if (value != null) {
+ values.add(0, value);
+ } else {
+ addFirstNull(values);
+ }
+ }
+
+ protected final List getValues(K key) {
+ List l = store.get(key);
+ if (l == null) {
+ l = new LinkedList();
+ store.put(key, l);
+ }
+ return l;
+ }
+
+ @Override
+ public String toString() {
+ return store.toString();
+ }
+
+ @Override
+ public int hashCode() {
+ return store.hashCode();
+ }
+
+ @Override
+ @SuppressWarnings("EqualsWhichDoesntCheckParameterClass")
+ public boolean equals(Object o) {
+ return store.equals(o);
+ }
+
+ @Override
+ public Collection> values() {
+ return store.values();
+ }
+
+ @Override
+ public int size() {
+ return store.size();
+ }
+
+ @Override
+ public List remove(Object key) {
+ return store.remove(key);
+ }
+
+ @Override
+ public void putAll(Map extends K, ? extends List> m) {
+ store.putAll(m);
+ }
+
+ @Override
+ public List put(K key, List value) {
+ return store.put(key, value);
+ }
+
+ @Override
+ public Set keySet() {
+ return store.keySet();
+ }
+
+ @Override
+ public boolean isEmpty() {
+ return store.isEmpty();
+ }
+
+ @Override
+ public List get(Object key) {
+ return store.get(key);
+ }
+
+ @Override
+ public Set>> entrySet() {
+ return store.entrySet();
+ }
+
+ @Override
+ public boolean containsValue(Object value) {
+ return store.containsValue(value);
+ }
+
+ @Override
+ public boolean containsKey(Object key) {
+ return store.containsKey(key);
+ }
+
+ @Override
+ public void clear() {
+ store.clear();
+ }
+
+ @Override
+ public boolean equalsIgnoreValueOrder(MultivaluedMap omap) {
+ if (this == omap) {
+ return true;
+ }
+ if (!keySet().equals(omap.keySet())) {
+ return false;
+ }
+ for (Entry> e : entrySet()) {
+ List olist = omap.get(e.getKey());
+ if (e.getValue().size() != olist.size()) {
+ return false;
+ }
+ for (V v : e.getValue()) {
+ if (!olist.contains(v)) {
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+}
diff --git a/domino-rest-jaxrs/src/main/java/javax/ws/rs/core/Context.java b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Application.java
similarity index 80%
rename from domino-rest-jaxrs/src/main/java/javax/ws/rs/core/Context.java
rename to domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Application.java
index 162f87c..70fa339 100644
--- a/domino-rest-jaxrs/src/main/java/javax/ws/rs/core/Context.java
+++ b/domino-rest-jaxrs/src/main/resources/javax/ws/rs/core/Application.java
@@ -40,17 +40,21 @@
package javax.ws.rs.core;
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
+import java.util.Collections;
+import java.util.Map;
+import java.util.Set;
-/**
- * Used for emulating Context in domino-rest, arguments annotated with this annotation will be
- * ignored in domino-rest client generation
- */
-@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface Context {}
+public class Application {
+
+ public Set> getClasses() {
+ return Collections.emptySet();
+ }
+
+ public Set