You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wink.apache.org by "Mike Rheinheimer (JIRA)" <ji...@apache.org> on 2010/07/23 16:02:07 UTC
[jira] Closed: (WINK-257) allow Application subclass to control
provider priority
[ https://issues.apache.org/jira/browse/WINK-257?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mike Rheinheimer closed WINK-257.
---------------------------------
> allow Application subclass to control provider priority
> -------------------------------------------------------
>
> Key: WINK-257
> URL: https://issues.apache.org/jira/browse/WINK-257
> Project: Wink
> Issue Type: Improvement
> Components: Server
> Affects Versions: 1.1
> Reporter: Mike Rheinheimer
> Assignee: Mike Rheinheimer
> Fix For: 1.1
>
> Attachments: WINK-257.patch
>
>
> Currently, the only way to control priority order of providers that support the same types is to edit the wink-providers file. Priority order cannot be controlled in the Application subclass for a provider that is already listed in wink-providers. For example, if a user adds the JacksonJsonProvider from the Jackson project, it will take precedence over the already existing JsonProvider from wink-providers. Because the JacksonJsonProvider.isReadable method is "greedy", it will support all Object types and won't fall through to the JsonProvider.
> Customers may want to control this behavior programmatically. The providers listed in the Application subclass should always take precedence over providers listed in the wink-providers file, but in this case, a customer may want the JsonProvider to take precedence over the JacksonJsonProvider.
> I propose a change in the order of processing of the various providers list so customers can control the provider precedence programmatically.
> Current order of processing: wink-providers, wink-application, getSingletons, getClasses
> Proposed change: getSingletons, getClasses, wink-providers, wink-application
> Once this change is made, a customer can list JacksonJsonProvider and JsonProvider in that order in their LinkedHashSet returned from getSingletons and have confidence that JsonProvider will be queried first.
> That's just an example scenario. I think future customers will like having control over the priority order of providers.
> Please see patch. The change is a one-line change in RestServlet.createRequestProcessor. I've had to adjust some tests, and added several.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.