You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2021/04/29 06:07:29 UTC

[tomee-jakarta] branch master updated (d774b37 -> 72a27ac)

This is an automated email from the ASF dual-hosted git repository.

dblevins pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/tomee-jakarta.git.


    from d774b37  update jakarta namespace
     new 364fea6  TOMEE-3163 jaxrs.ee.rs.get optionSubTest
     new 72a27ac  TOMEE-3162   jaxrs.ee.rs.ext.paramconverter atomicIntegerIsLazyDeployableAndThrowsErrorTest CXF-8485   jaxrs.ee.rs.ext.paramconverter atomicIntegerIsLazyDeployableAndThrowsErrorTest

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/cxf/jaxrs/utils/InjectionUtils.java | 40 ++++++++++++++--------
 .../org/apache/cxf/jaxrs/utils/JAXRSUtils.java     | 10 +++---
 2 files changed, 32 insertions(+), 18 deletions(-)

[tomee-jakarta] 02/02: TOMEE-3162 jaxrs.ee.rs.ext.paramconverter atomicIntegerIsLazyDeployableAndThrowsErrorTest CXF-8485 jaxrs.ee.rs.ext.paramconverter atomicIntegerIsLazyDeployableAndThrowsErrorTest

Posted by db...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dblevins pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee-jakarta.git

commit 72a27ac467b4648e934f4d7501d56dd5e3c8558f
Author: David Blevins <da...@gmail.com>
AuthorDate: Wed Apr 28 21:07:10 2021 -0700

    TOMEE-3162   jaxrs.ee.rs.ext.paramconverter atomicIntegerIsLazyDeployableAndThrowsErrorTest
    CXF-8485   jaxrs.ee.rs.ext.paramconverter atomicIntegerIsLazyDeployableAndThrowsErrorTest
---
 .../org/apache/cxf/jaxrs/utils/InjectionUtils.java | 40 ++++++++++++++--------
 1 file changed, 26 insertions(+), 14 deletions(-)

diff --git a/transform/src/patch/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java b/transform/src/patch/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
index 4f22cbd..72380f1 100644
--- a/transform/src/patch/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
+++ b/transform/src/patch/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
@@ -53,20 +53,20 @@ import java.util.TreeSet;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import jakarta.ws.rs.WebApplicationException;
-import jakarta.ws.rs.core.Application;
-import jakarta.ws.rs.core.GenericEntity;
-import jakarta.ws.rs.core.HttpHeaders;
-import jakarta.ws.rs.core.MediaType;
-import jakarta.ws.rs.core.MultivaluedMap;
-import jakarta.ws.rs.core.PathSegment;
-import jakarta.ws.rs.core.Request;
-import jakarta.ws.rs.core.Response;
-import jakarta.ws.rs.core.SecurityContext;
-import jakarta.ws.rs.core.UriInfo;
-import jakarta.ws.rs.ext.ContextResolver;
-import jakarta.ws.rs.ext.ParamConverter;
-import jakarta.ws.rs.ext.Providers;
+import javax.ws.rs.WebApplicationException;
+import javax.ws.rs.core.Application;
+import javax.ws.rs.core.GenericEntity;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.PathSegment;
+import javax.ws.rs.core.Request;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.SecurityContext;
+import javax.ws.rs.core.UriInfo;
+import javax.ws.rs.ext.ContextResolver;
+import javax.ws.rs.ext.ParamConverter;
+import javax.ws.rs.ext.Providers;
 
 import org.apache.cxf.common.classloader.ClassLoaderUtils;
 import org.apache.cxf.common.i18n.BundleUtils;
@@ -537,6 +537,18 @@ public final class InjectionUtils {
     }
 
     private static RuntimeException createParamConversionException(ParameterType pType, Exception ex) {
+        /*
+         * Loosely related to the following section of the Jakarta REST specification:
+         *
+         * At least one of the acceptable response entity body media types is a supported output data
+         * format (see Section 3.5). If no methods support one of the acceptable response entity body
+         * media types an implementation MUST generate a NotAcceptableException (406 status)
+         * and no entity.
+         *
+         * Tested by:
+         * com.sun.ts.tests.jaxrs.ee.rs.ext.paramconverter.JAXRSClient
+         * atomicIntegerIsLazyDeployableAndThrowsErrorTest_from_standalone
+         */
         return ExceptionUtils.toNotAcceptableException(ex, null);
     }
     

[tomee-jakarta] 01/02: TOMEE-3163 jaxrs.ee.rs.get optionSubTest

Posted by db...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dblevins pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee-jakarta.git

commit 364fea60771c8b09e59258174c11dabafecf0ae2
Author: David Blevins <da...@gmail.com>
AuthorDate: Wed Apr 28 21:05:58 2021 -0700

    TOMEE-3163 jaxrs.ee.rs.get optionSubTest
    
    While carefully not breaking
     CXF-8486   jaxrs.ee.rs.pathparam.locator pathParamEntityWithConstructorTest                                        Open
     CXF-8487   jaxrs.ee.rs.pathparam.locator pathParamEntityWithFromStringTest                                         Open
     CXF-8488   jaxrs.ee.rs.pathparam.locator pathParamEntityWithValueOfTest                                            Open
     CXF-8489   jaxrs.ee.rs.pathparam.locator pathParamListEntityWithFromStringTest                                     Open
     CXF-8490   jaxrs.ee.rs.pathparam.locator pathParamSetEntityWithFromStringTest                                      Open
     CXF-8491   jaxrs.ee.rs.pathparam.locator pathParamThrowingIllegalArgumentExceptionTest                             Open
     CXF-8492   jaxrs.ee.rs.pathparam.locator pathParamThrowingWebApplicationExceptionTest                              Open
     CXF-8493   jaxrs.ee.rs.pathparam.locator test1                                                                     Open
     CXF-8494   jaxrs.ee.rs.pathparam.locator test2                                                                     Open
     CXF-8495   jaxrs.ee.rs.pathparam.locator test3                                                                     Open
     CXF-8496   jaxrs.ee.rs.pathparam.locator test4                                                                     Open
     CXF-8497   jaxrs.ee.rs.pathparam.locator test5                                                                     Open
---
 .../src/patch/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java  | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/transform/src/patch/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java b/transform/src/patch/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
index 97c4a91..0254368 100644
--- a/transform/src/patch/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
+++ b/transform/src/patch/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
@@ -394,6 +394,8 @@ public final class JAXRSUtils {
         int methodMatched = 0;
         int consumeMatched = 0;
 
+        boolean resourceMethodsAdded = false;
+        boolean generateOptionsResponse = false;
         List<OperationResourceInfo> finalPathSubresources = null;
         for (Map.Entry<ClassResourceInfo, MultivaluedMap<String, String>> rEntry : matchedResources.entrySet()) {
             ClassResourceInfo resource = rEntry.getKey();
@@ -433,18 +435,21 @@ public final class JAXRSUtils {
                                     if (matchProduceTypes(acceptType, ori)) {
                                         candidateList.put(ori, map);
                                         added = true;
+                                        resourceMethodsAdded = true;
                                         break;
                                     }
                                 }
                             }
                             //CHECKSTYLE:ON
+                        } else if ("OPTIONS".equalsIgnoreCase(httpMethod)) {
+                            generateOptionsResponse = true;
                         }
                     }
                 }
                 LOG.fine(matchMessageLogSupplier(ori, path, httpMethod, requestType, acceptContentTypes, added));
             }
         }
-        if (finalPathSubresources != null && pathMatched > 0
+        if (finalPathSubresources != null && (resourceMethodsAdded || generateOptionsResponse)
             && !MessageUtils.getContextualBoolean(message, KEEP_SUBRESOURCE_CANDIDATES, false)) {
             for (OperationResourceInfo key : finalPathSubresources) {
                 candidateList.remove(key);
@@ -631,9 +636,6 @@ public final class JAXRSUtils {
     }
 
     private static boolean matchHttpMethod(String expectedMethod, String httpMethod) {
-        if ("*".equals(httpMethod)) {
-            return true;
-        }
         return expectedMethod.equalsIgnoreCase(httpMethod)
             || headMethodPossible(expectedMethod, httpMethod)
             || expectedMethod.equals(DefaultMethod.class.getSimpleName());