[
https://issues.apache.org/jira/browse/SLING-5086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stefan Seifert resolved SLING-5086.
-----------------------------------
Resolution: Fixed
Completed: At revision: 1706325
> sling-mock: Add SlingContext.registerAdapter convenience method
> ---------------------------------------------------------------
>
> Key: SLING-5086
> URL: https://issues.apache.org/jira/browse/SLING-5086
> Project: Sling
> Issue Type: New Feature
> Components: Testing
> Reporter: Stefan Seifert
> Assignee: Stefan Seifert
> Labels: mocks
> Fix For: Testing Sling Mock 1.6.0
>
>
> scenario: adapt from an object in your unit test where no existing
> adapterfactory is available. currently you have to create a AdapterFactory
> instance and register it with proper OSGi properties in OSGi.
> two convenience methods simplify this by allowing to trim it down to one
> codeline:
> {code:java}
> /**
> * Create a Sling AdapterFactory on the fly which can adapt from
> <code>adaptableClass</code>
> * to <code>adapterClass</code> and just returns the given value as
> result.
> * @param adaptableClass Class to adapt from
> * @param adapterClass Class to adapt to
> * @param adapter Object which is always returned for this adaption.
> */
> public <T1, T2> void registerAdapter(final Class<T1> adaptableClass,
> final Class<T2> adapterClass, final T2 adapter) {
> ...
> {code}
> {code:java}
> /**
> * Create a Sling AdapterFactory on the fly which can adapt from
> <code>adaptableClass</code>
> * to <code>adapterClass</code> and delegates the adapter mapping to the
> given <code>adaptHandler</code> function.
> * @param adaptableClass Class to adapt from
> * @param adapterClass Class to adapt to
> * @param adaptHandler Function to handle the adaption
> */
> public <T1, T2> void registerAdapter(final Class<T1> adaptableClass,
> final Class<T2> adapterClass, final Function<T1,T2> adaptHandler) {
> ...
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)