[Jersey-issues] [JIRA] Created: (JERSEY-1709) Autodiscovery of providers does not work

  • From: "jan.supol (JIRA)" <jira-no-reply@...>
  • To: issues@...
  • Subject: [Jersey-issues] [JIRA] Created: (JERSEY-1709) Autodiscovery of providers does not work
  • Date: Wed, 6 Feb 2013 18:14:53 +0000 (GMT+00:00)
  • Auto-submitted: auto-generated

Autodiscovery of providers does not work
----------------------------------------

                 Key: JERSEY-1709
                 URL: http://java.net/jira/browse/JERSEY-1709
             Project: jersey
          Issue Type: Bug
          Components: core
    Affects Versions: 2.0-m12
            Reporter: jan.supol
            Priority: Blocker
             Fix For: 2.0-unplanned


The Spec. Section 2.3.2 says:
{quote}
When an Application subclass is present in the archive, if both 
Application.getClasses and
Application.getSingletons return an empty list then all root resource classes 
and providers
packaged in the web application MUST be included and the JAX-RS 
implementation is REQUIRED
to discover them automatically.
{quote}

But having:
{code:java}
public class MyApp extends Application {
}
public class StringBean {
        private String data;

        public String get() {
                return data;
        }

        public void set(String data) {
                this.data = data;
        }
        
        @Override
        public String toString() {
                return "StringBean. To get a value, use rather #get() 
method.";
        }

        public StringBean(String data) {
                super();
                set(data);
        }
}
public class StringBeanParamConverter implements ParamConverter<StringBean> {

        @Override
        public StringBean fromString(String value) throws 
IllegalArgumentException {
                return new StringBean(value);
        }

        @Override
        public String toString(StringBean value) throws 
IllegalArgumentException {
                return value.get();
        }
}

@Provider
public class StringBeanParamConverterProvider implements 
ParamConverterProvider {
        @SuppressWarnings("unchecked")
        @Override
        public <T> ParamConverter<T> getConverter(Class<T> rawType,
                        Type genericType, Annotation[] annotations) {
                if (rawType == StringBean.class)
                        return (ParamConverter<T>) new 
StringBeanParamConverter();
                return null;
        }
}
{code}
The deployment of the war fails with:
{quote}
II 06, 2013 6:57:41 ODP. org.glassfish.jersey.server.ApplicationHandler 
initialize
INFO: Initiating Jersey application, version Jersey: 2.0-SNAPSHOT 2013-02-06 
10:43:08...
II 06, 2013 6:57:41 ODP. org.glassfish.jersey.internal.Errors processErrors
SEVERE: The following errors and warnings have been detected:
WARNING: A resource model has ambiguous (sub-)resource method for HTTP method 
GET and input mime-types as defined by @Consumes and @Produces annotations at 
Java methods public synchronized javax.ws.rs.core.Response 
org.glassfish.jersey.server.wadl.internal.WadlResource.getWadl(javax.ws.rs.core.UriInfo)
 and public synchronized javax.ws.rs.core.Response 
org.glassfish.jersey.server.wadl.internal.WadlResource.getWadl(javax.ws.rs.core.UriInfo)
 at matching regular expression /application\.wadl. These two methods 
produces and consumes exactly the same mime-types and therefore their 
invocation as a resource methods will always fail.
WARNING: A resource model has ambiguous (sub-)resource method for HTTP method 
GET and input mime-types as defined by @Consumes and @Produces annotations at 
Java methods public synchronized javax.ws.rs.core.Response 
org.glassfish.jersey.server.wadl.internal.WadlResource.geExternalGrammar(javax.ws.rs.core.UriInfo,java.lang.String)
 and public synchronized javax.ws.rs.core.Response 
org.glassfish.jersey.server.wadl.internal.WadlResource.geExternalGrammar(javax.ws.rs.core.UriInfo,java.lang.String)
 at matching regular expression /([^/]+?). These two methods produces and 
consumes exactly the same mime-types and therefore their invocation as a 
resource methods will always fail.
{quote}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://java.net/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


[Jersey-issues] [JIRA] Created: (JERSEY-1709) Autodiscovery of providers does not work

jan.supol (JIRA) 02/06/2013

[Jersey-issues] [JIRA] Updated: (JERSEY-1709) Autodiscovery of providers does not work

Marek Potociar (JIRA) 02/20/2013

[Jersey-issues] [JIRA] Updated: (JERSEY-1709) Autodiscovery of providers does not work

Pavel Bucek (JIRA) 02/26/2013

[Jersey-issues] [JIRA] Updated: (JERSEY-1709) Autodiscovery of providers does not work

Pavel Bucek (JIRA) 02/26/2013
Terms of Use; Privacy Policy; Copyright ©2013-2017 (revision 20160708.bf2ac18)
 
 
Close
loading
Please Confirm
Close