Hi,

Looking at DOSGi's intents implementation I found something that seems
a little bit strange to me... To apply an intent during proxy
creation, the method createProxy in class PojoConfigurationTypeHandler
calls method applyIntents, right? Ok, but, this method calls
getRequestedIntents to recover the intents that should be applied.
However, this last method looks for intents using something like:

       Collection<String> intents = Arrays.asList(
           OsgiUtils.parseIntents(OsgiUtils.getProperty(sd,
RemoteConstants.SERVICE_EXPORTED_INTENTS)));
       Collection<String> extraIntents = Arrays.asList(
           OsgiUtils.parseIntents(OsgiUtils.getProperty(sd,
RemoteConstants.SERVICE_EXPORTED_INTENTS_EXTRA)));
       Collection<String> oldIntents = Arrays.asList(
           OsgiUtils.parseIntents(OsgiUtils.getProperty(sd,
Constants.EXPORTED_INTENTS_OLD)));

       Set<String> allIntents = new HashSet<String>(intents.size() +
extraIntents.size() + oldIntents.size());
       allIntents.addAll(intents);
       allIntents.addAll(extraIntents);
       allIntents.addAll(oldIntents);

However, in CXF-DOSGi, when SERVICE_EXPORTED_INTENTS and
SERVICE_EXPORTED_INTENTS_EXTRA are copied to ZooKeeper they are
combined in a property named service.intents. So, there aren't
properties named *EXPORTED* on the proxy side and this code doesn't
find any intents to apply... So, I guess that in that version I can
use intents that are supposed to include interceptors in the proxy
side. Am I right?

Thank you, very much!

Cheers,

Fábio

Reply via email to