Hi Martin,

sure it would break if refactored - this is always a problem of decoupling 
implementations. I tried a bit around yesterday and I just saw that there are 
only a few methods required to provide this feature:

https://issues.apache.org/jira/browse/WICKET-6112

Patchset / Demo-Project is provided.

Just comment out a maven dependency in the main project to see the result.

kind regards

Tobias

> Am 08.03.2016 um 09:15 schrieb Martin Grigorov <[email protected]>:
> 
> Hi Tobias,
> 
> I don't think this is a good idea.
> 
> My concerns:
> - The usage of String for className. It could break after refactoring in
> the "microservice" project. I.e. loosely typed and hard to maintain
> - The knowledge about the sub-component (microservice, as you call it) in
> the parent/main project. The parent project should not know about its
> replaceable components.
> 
> IMO it should be the other way around - the modules should register them
> into the application.
> There are several attempts for such plugin based solutions. Recently a user
> asked for help with wicket-spring injector to be able to use Spring child
> contexts. OSGi integrations also try to accomplish the same.
> 
> Do you have a use case for this functionality or you try to implement
> something generic that could be used by everyone ?
> 
> 
> Martin Grigorov
> Wicket Training and Consulting
> https://twitter.com/mtgrigorov
> 
> On Mon, Mar 7, 2016 at 4:43 PM, Tobias Soloschenko <
> [email protected]> wrote:
> 
>> Hi all,
>> 
>> I just want to discuss some changes to support web fragments. So if you
>> dynamically place in some jars into the lib folder the web application
>> would show some features provided by this modules.
>> 
>> In a link for example the approach would be look like this:
>> 
>> @Override
>> 
>> public void onClick(){setResponsePage(
>> "wicket.microservices.service1.MicroservicePage1");}
>> 
>> @Override
>> 
>> protected void
>> onConfigure(){setVisible(Application.get().isComponentAvailable(
>> "wicket.microservices.service1.MicroservicePage1"));}
>> 
>> So if the module (jar) is available the link would be shown and it would
>> set the response page to a page which is available in the module. If not
>> the link would be not visible.
>> 
>> For this I would add some methods:
>> 
>> Application.isComponentAvailable(String)
>> 
>> Component.setResponsePage(String)
>> 
>> Component.setResponsePage(String,PageParameters)
>> 
>> This is only an experiment and I would like to know if there are other
>> places (e.g. forms, etc.) where we could add some "generic" methods to
>> support web fragment behaviors like this.
>> 
>> 
>> WDYT?
>> 
>> 
>> kind regards
>> 
>> Tobias
>> 

Reply via email to