You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Cyrille Le Clerc (JIRA)" <ji...@apache.org> on 2009/11/23 12:09:39 UTC
[jira] Created: (CXF-2556) UnsupportedOperationException in
WadlGenerator
UnsupportedOperationException in WadlGenerator
----------------------------------------------
Key: CXF-2556
URL: https://issues.apache.org/jira/browse/CXF-2556
Project: CXF
Issue Type: Bug
Reporter: Cyrille Le Clerc
UnsupportedOperationException when displaying the WADL.
STACKTRACE
===========
{noformat}
java.lang.UnsupportedOperationException
java.util.AbstractCollection.add(AbstractCollection.java:221)
java.util.AbstractCollection.addAll(AbstractCollection.java:305)
org.apache.cxf.jaxb.JAXBUtils.scanPackages(JAXBUtils.java:811)
org.apache.cxf.jaxrs.model.wadl.WadlGenerator.createJaxbContext(WadlGenerator.java:498)
org.apache.cxf.jaxrs.model.wadl.WadlGenerator.handleRequest(WadlGenerator.java:123)
org.apache.cxf.jaxrs.impl.RequestPreprocessor.checkMetadataRequest(RequestPreprocessor.java:164)
org.apache.cxf.jaxrs.impl.RequestPreprocessor.preprocess(RequestPreprocessor.java:74)
org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:87)
org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:63)
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:98)
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:394)
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:170)
org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:142)
org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:108)
{noformat}
CAUSE
======
{code:title=WadlGenerator.java}
public class WadlGenerator implements RequestHandler {
public Response handleRequest(Message m, ClassResourceInfo resource) {
...
Set<Class<?>> jaxbTypes = ResourceUtils.getAllRequestResponseTypes(cris, true).keySet(); <=== returned Set is readonly !
JAXBContext context = createJaxbContext(jaxbTypes); <=== createJaxbContext will try to add entries in the given Set()
}
{code}
PROPOSED FIX
=============
* in createJaxbContext(), create a HashSet() initialized with the initial jaxbTypes
* add javadoc on JAXBUtils.scanPackages(classes, objectFactoryCache) to explain the given classes Set will be modified
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (CXF-2556) UnsupportedOperationException in
WadlGenerator
Posted by "Sergey Beryozkin (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-2556?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sergey Beryozkin resolved CXF-2556.
-----------------------------------
Resolution: Fixed
Fix Version/s: 2.3
2.2.6
Assignee: Sergey Beryozkin
> UnsupportedOperationException in WadlGenerator
> ----------------------------------------------
>
> Key: CXF-2556
> URL: https://issues.apache.org/jira/browse/CXF-2556
> Project: CXF
> Issue Type: Bug
> Components: JAX-RS
> Affects Versions: 2.2.5
> Reporter: Cyrille Le Clerc
> Assignee: Sergey Beryozkin
> Fix For: 2.2.6, 2.3
>
> Attachments: CXF-2556.patch
>
>
> UnsupportedOperationException when displaying the WADL.
> STACKTRACE
> ===========
> java.lang.UnsupportedOperationException
> java.util.AbstractCollection.add(AbstractCollection.java:221)
> java.util.AbstractCollection.addAll(AbstractCollection.java:305)
> org.apache.cxf.jaxb.JAXBUtils.scanPackages(JAXBUtils.java:811)
> org.apache.cxf.jaxrs.model.wadl.WadlGenerator.createJaxbContext(WadlGenerator.java:498)
> org.apache.cxf.jaxrs.model.wadl.WadlGenerator.handleRequest(WadlGenerator.java:123)
> org.apache.cxf.jaxrs.impl.RequestPreprocessor.checkMetadataRequest(RequestPreprocessor.java:164)
> org.apache.cxf.jaxrs.impl.RequestPreprocessor.preprocess(RequestPreprocessor.java:74)
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:87)
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:63)
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
> org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:98)
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:394)
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:170)
> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:142)
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:108)
> CAUSE
> ======
> public class WadlGenerator implements RequestHandler {
>
> public Response handleRequest(Message m, ClassResourceInfo resource) {
> ...
> Set<Class<?>> jaxbTypes = ResourceUtils.getAllRequestResponseTypes(cris, true).keySet(); <=== RETURNED SET IS READ ONLY !
> JAXBContext context = createJaxbContext(jaxbTypes); <=== createJaxbContext() WIIL TRY TO ADD ENTRIES IN THE GIVEN SET
> }
> PROPOSED FIX
> =============
> * in createJaxbContext(), create a HashSet() initialized with the initial jaxbTypes
> * add javadoc on JAXBUtils.scanPackages(classes, objectFactoryCache) to explain the given classes Set will be modified
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CXF-2556) UnsupportedOperationException in
WadlGenerator
Posted by "Cyrille Le Clerc (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-2556?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Cyrille Le Clerc updated CXF-2556:
----------------------------------
Attachment: CXF-2556.patch
Proposed patch : instantiate a HashSet named "classesToBeBound" in WadlGenerator.createJaxbContext()
> UnsupportedOperationException in WadlGenerator
> ----------------------------------------------
>
> Key: CXF-2556
> URL: https://issues.apache.org/jira/browse/CXF-2556
> Project: CXF
> Issue Type: Bug
> Reporter: Cyrille Le Clerc
> Attachments: CXF-2556.patch
>
>
> UnsupportedOperationException when displaying the WADL.
> STACKTRACE
> ===========
> {noformat}
> java.lang.UnsupportedOperationException
> java.util.AbstractCollection.add(AbstractCollection.java:221)
> java.util.AbstractCollection.addAll(AbstractCollection.java:305)
> org.apache.cxf.jaxb.JAXBUtils.scanPackages(JAXBUtils.java:811)
> org.apache.cxf.jaxrs.model.wadl.WadlGenerator.createJaxbContext(WadlGenerator.java:498)
> org.apache.cxf.jaxrs.model.wadl.WadlGenerator.handleRequest(WadlGenerator.java:123)
> org.apache.cxf.jaxrs.impl.RequestPreprocessor.checkMetadataRequest(RequestPreprocessor.java:164)
> org.apache.cxf.jaxrs.impl.RequestPreprocessor.preprocess(RequestPreprocessor.java:74)
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:87)
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:63)
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
> org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:98)
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:394)
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:170)
> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:142)
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:108)
> {noformat}
> CAUSE
> ======
> {code:title=WadlGenerator.java}
> public class WadlGenerator implements RequestHandler {
>
> public Response handleRequest(Message m, ClassResourceInfo resource) {
> ...
> Set<Class<?>> jaxbTypes = ResourceUtils.getAllRequestResponseTypes(cris, true).keySet(); <=== returned Set is readonly !
> JAXBContext context = createJaxbContext(jaxbTypes); <=== createJaxbContext will try to add entries in the given Set()
> }
> {code}
> PROPOSED FIX
> =============
> * in createJaxbContext(), create a HashSet() initialized with the initial jaxbTypes
> * add javadoc on JAXBUtils.scanPackages(classes, objectFactoryCache) to explain the given classes Set will be modified
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CXF-2556) UnsupportedOperationException in
WadlGenerator
Posted by "Sergey Beryozkin (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-2556?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sergey Beryozkin updated CXF-2556:
----------------------------------
Component/s: JAX-RS
> UnsupportedOperationException in WadlGenerator
> ----------------------------------------------
>
> Key: CXF-2556
> URL: https://issues.apache.org/jira/browse/CXF-2556
> Project: CXF
> Issue Type: Bug
> Components: JAX-RS
> Affects Versions: 2.2.5
> Reporter: Cyrille Le Clerc
> Fix For: 2.2.6, 2.3
>
> Attachments: CXF-2556.patch
>
>
> UnsupportedOperationException when displaying the WADL.
> STACKTRACE
> ===========
> java.lang.UnsupportedOperationException
> java.util.AbstractCollection.add(AbstractCollection.java:221)
> java.util.AbstractCollection.addAll(AbstractCollection.java:305)
> org.apache.cxf.jaxb.JAXBUtils.scanPackages(JAXBUtils.java:811)
> org.apache.cxf.jaxrs.model.wadl.WadlGenerator.createJaxbContext(WadlGenerator.java:498)
> org.apache.cxf.jaxrs.model.wadl.WadlGenerator.handleRequest(WadlGenerator.java:123)
> org.apache.cxf.jaxrs.impl.RequestPreprocessor.checkMetadataRequest(RequestPreprocessor.java:164)
> org.apache.cxf.jaxrs.impl.RequestPreprocessor.preprocess(RequestPreprocessor.java:74)
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:87)
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:63)
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
> org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:98)
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:394)
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:170)
> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:142)
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:108)
> CAUSE
> ======
> public class WadlGenerator implements RequestHandler {
>
> public Response handleRequest(Message m, ClassResourceInfo resource) {
> ...
> Set<Class<?>> jaxbTypes = ResourceUtils.getAllRequestResponseTypes(cris, true).keySet(); <=== RETURNED SET IS READ ONLY !
> JAXBContext context = createJaxbContext(jaxbTypes); <=== createJaxbContext() WIIL TRY TO ADD ENTRIES IN THE GIVEN SET
> }
> PROPOSED FIX
> =============
> * in createJaxbContext(), create a HashSet() initialized with the initial jaxbTypes
> * add javadoc on JAXBUtils.scanPackages(classes, objectFactoryCache) to explain the given classes Set will be modified
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CXF-2556) UnsupportedOperationException in
WadlGenerator
Posted by "Cyrille Le Clerc (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CXF-2556?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Cyrille Le Clerc updated CXF-2556:
----------------------------------
Description:
UnsupportedOperationException when displaying the WADL.
STACKTRACE
===========
java.lang.UnsupportedOperationException
java.util.AbstractCollection.add(AbstractCollection.java:221)
java.util.AbstractCollection.addAll(AbstractCollection.java:305)
org.apache.cxf.jaxb.JAXBUtils.scanPackages(JAXBUtils.java:811)
org.apache.cxf.jaxrs.model.wadl.WadlGenerator.createJaxbContext(WadlGenerator.java:498)
org.apache.cxf.jaxrs.model.wadl.WadlGenerator.handleRequest(WadlGenerator.java:123)
org.apache.cxf.jaxrs.impl.RequestPreprocessor.checkMetadataRequest(RequestPreprocessor.java:164)
org.apache.cxf.jaxrs.impl.RequestPreprocessor.preprocess(RequestPreprocessor.java:74)
org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:87)
org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:63)
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:98)
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:394)
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:170)
org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:142)
org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:108)
CAUSE
======
public class WadlGenerator implements RequestHandler {
public Response handleRequest(Message m, ClassResourceInfo resource) {
...
Set<Class<?>> jaxbTypes = ResourceUtils.getAllRequestResponseTypes(cris, true).keySet(); <=== RETURNED SET IS READ ONLY !
JAXBContext context = createJaxbContext(jaxbTypes); <=== createJaxbContext() WIIL TRY TO ADD ENTRIES IN THE GIVEN SET
}
PROPOSED FIX
=============
* in createJaxbContext(), create a HashSet() initialized with the initial jaxbTypes
* add javadoc on JAXBUtils.scanPackages(classes, objectFactoryCache) to explain the given classes Set will be modified
was:
UnsupportedOperationException when displaying the WADL.
STACKTRACE
===========
{noformat}
java.lang.UnsupportedOperationException
java.util.AbstractCollection.add(AbstractCollection.java:221)
java.util.AbstractCollection.addAll(AbstractCollection.java:305)
org.apache.cxf.jaxb.JAXBUtils.scanPackages(JAXBUtils.java:811)
org.apache.cxf.jaxrs.model.wadl.WadlGenerator.createJaxbContext(WadlGenerator.java:498)
org.apache.cxf.jaxrs.model.wadl.WadlGenerator.handleRequest(WadlGenerator.java:123)
org.apache.cxf.jaxrs.impl.RequestPreprocessor.checkMetadataRequest(RequestPreprocessor.java:164)
org.apache.cxf.jaxrs.impl.RequestPreprocessor.preprocess(RequestPreprocessor.java:74)
org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:87)
org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:63)
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:98)
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:394)
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:170)
org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:142)
org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:108)
{noformat}
CAUSE
======
{code:title=WadlGenerator.java}
public class WadlGenerator implements RequestHandler {
public Response handleRequest(Message m, ClassResourceInfo resource) {
...
Set<Class<?>> jaxbTypes = ResourceUtils.getAllRequestResponseTypes(cris, true).keySet(); <=== returned Set is readonly !
JAXBContext context = createJaxbContext(jaxbTypes); <=== createJaxbContext will try to add entries in the given Set()
}
{code}
PROPOSED FIX
=============
* in createJaxbContext(), create a HashSet() initialized with the initial jaxbTypes
* add javadoc on JAXBUtils.scanPackages(classes, objectFactoryCache) to explain the given classes Set will be modified
Affects Version/s: 2.2.5
> UnsupportedOperationException in WadlGenerator
> ----------------------------------------------
>
> Key: CXF-2556
> URL: https://issues.apache.org/jira/browse/CXF-2556
> Project: CXF
> Issue Type: Bug
> Affects Versions: 2.2.5
> Reporter: Cyrille Le Clerc
> Attachments: CXF-2556.patch
>
>
> UnsupportedOperationException when displaying the WADL.
> STACKTRACE
> ===========
> java.lang.UnsupportedOperationException
> java.util.AbstractCollection.add(AbstractCollection.java:221)
> java.util.AbstractCollection.addAll(AbstractCollection.java:305)
> org.apache.cxf.jaxb.JAXBUtils.scanPackages(JAXBUtils.java:811)
> org.apache.cxf.jaxrs.model.wadl.WadlGenerator.createJaxbContext(WadlGenerator.java:498)
> org.apache.cxf.jaxrs.model.wadl.WadlGenerator.handleRequest(WadlGenerator.java:123)
> org.apache.cxf.jaxrs.impl.RequestPreprocessor.checkMetadataRequest(RequestPreprocessor.java:164)
> org.apache.cxf.jaxrs.impl.RequestPreprocessor.preprocess(RequestPreprocessor.java:74)
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.processRequest(JAXRSInInterceptor.java:87)
> org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor.handleMessage(JAXRSInInterceptor.java:63)
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
> org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:98)
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:394)
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:170)
> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:142)
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:108)
> CAUSE
> ======
> public class WadlGenerator implements RequestHandler {
>
> public Response handleRequest(Message m, ClassResourceInfo resource) {
> ...
> Set<Class<?>> jaxbTypes = ResourceUtils.getAllRequestResponseTypes(cris, true).keySet(); <=== RETURNED SET IS READ ONLY !
> JAXBContext context = createJaxbContext(jaxbTypes); <=== createJaxbContext() WIIL TRY TO ADD ENTRIES IN THE GIVEN SET
> }
> PROPOSED FIX
> =============
> * in createJaxbContext(), create a HashSet() initialized with the initial jaxbTypes
> * add javadoc on JAXBUtils.scanPackages(classes, objectFactoryCache) to explain the given classes Set will be modified
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.