Glad that my comments were at least somehow helpful, you can also
check messages from Igor Drobiazko in this and in tap-dev lists, he is
now trying to integrate Tapestry with OSGI and already solved some of
the problems with that.

BR
Renat

2008/7/30 Michael Zehender <[EMAIL PROTECTED]>:
> Thanks, that hint was great! Its exactly what I was looking for :-)
>
> On Jul 30, 2008, at 5:31 PM, Renat Zubairov wrote:
>
>> That sounds for me very similar to what OSGI already does quite well,
>> IMHO Tapestry 5 IOC OSGI integration would be pretty interesting to
>> see.
>> Concerning private/public services/interfaces you may consider using
>> some compile time checks/warnings when such things happening, for
>> example AspectJ based unit tests.
>>
>>
>> 2008/7/30 Michael Zehender <[EMAIL PROTECTED]>:
>>>
>>> Hello Renat,
>>>
>>> I'm currently building a product that will integrate with 3rd party
>>> modules.
>>>
>>> I want them to use only the published services to prevent them of
>>> developing
>>> bad hacks using the
>>> Internal Services instead, which might change from version to version. I
>>> want to provide backwards
>>> compatibility for the published services only and don't want to run into
>>> conflicts because of them
>>> using internal services.
>>>
>>> These 3rd party modules 'depend' on the products core services, they also
>>> contribute to the
>>> configuration of some services (but these are also published).
>>>
>>> Michael
>>>
>>> On Jul 30, 2008, at 10:26 AM, Renat Zubairov wrote:
>>>
>>>> Hello Michael,
>>>>
>>>> Would would be the usecases for this feature? Why would you need it?
>>>> Are you also planning to have versions for the modules?
>>>> How are dependencies between the modules are resolved?
>>>>
>>>> Renat
>>>>
>>>> 2008/7/30 Michael Zehender <[EMAIL PROTECTED]>:
>>>>>
>>>>> Hi,
>>>>>
>>>>> I'm just looking for a way to configure the visibility of services
>>>>> within
>>>>> the IoC container. The target would be
>>>>> have module internal services i.e. these internal services can be
>>>>> injected
>>>>> to services within the same module only.
>>>>>
>>>>> A short example to illustrate, in the MyCoreModule I want to hide the
>>>>> configuration reader and the category factory:
>>>>>
>>>>> @SubModule( {
>>>>>    MySubModule.class
>>>>> })
>>>>> @Marker(MyCore.class)
>>>>> public class MyCoreModule
>>>>> {
>>>>>    public static void bind(ServiceBinder binder)
>>>>>    {
>>>>>            binder.bind(CategoryFactory.class,
>>>>> CategoryFactoryImpl.class).private();
>>>>>            binder.bind(ConfigurationReader.class,
>>>>> ConfigurationReaderImpl.class).private();
>>>>>            binder.bind(ConfigurationProvider.class,
>>>>> ConfigurationProviderImpl.class);
>>>>>            binder.bind(ConfigurationStartup.class,
>>>>> ConfigurationStartupImpl.class);
>>>>>            binder.bind(SystemControl.class, SystemControlImpl.class);
>>>>>    }
>>>>>
>>>>>    @EagerLoad
>>>>>    public static Startup buildStartup(final List<StartupItem>
>>>>> startupItems, Logger logger)
>>>>>    {
>>>>>            return new StartupImpl(logger, startupItems);
>>>>>    }
>>>>> }
>>>>>
>>>>> Now we have a second Module:
>>>>>
>>>>> @Marker(MySub.class)
>>>>> public class MySubModule
>>>>> {
>>>>>    public static void bind(ServiceBinder binder)
>>>>>    {
>>>>>            // ...
>>>>>    }
>>>>>
>>>>>    public static SomeService buildSomeService(CategoryFactory factory)
>>>>>    {
>>>>>            // shouldn't be work ! a service not found exception would
>>>>> be
>>>>> the nicest ...
>>>>>            return ...;
>>>>>    }
>>>>> }
>>>>>
>>>>> Is this possible? If not is there a plan to implement it?
>>>>>
>>>>> Thanks,
>>>>> Michael
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Best regards,
>>>> Renat Zubairov
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>
>>
>>
>> --
>> Best regards,
>> Renat Zubairov
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>



-- 
Best regards,
Renat Zubairov

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to