[Yanel-dev] policy viewer refactoring (inside "policymanager" resource-type)

Michael Wechner michael.wechner at wyona.com
Mon Mar 22 23:59:36 CET 2010


Guillaume Déflache wrote:
> Michael Wechner schrieb:
>> Guillaume Déflache wrote:
>>> Hi!
>>>
>>> For a project I need to implement some specific behaviour for the 
>>> policy viewer.
>>> So as to also reuse existing Yanel code for other unchanged things 
>>> I'd need to be able to reuse parts of the existing Yanel 
>>> implementation.
>>>
>>>
>>> ATM alas the policy viewer is implemented by calling the sole static 
>>> method PolicyViewer#getXHTMLView(PolicyManager pm, GroupManager gm, 
>>> String path, String contentItemId, [other view options' parameters]) 
>>> which does not allow any kind of overriding.
>>>
>>>
>>> I'd like to introduce the following method in 
>>> org.wyona.yanel.impl.resources.policymanager.PolicyManagerResource:
>>>
>>>     protected PolicyViewer getPolicyViewer(PolicyManager pm, 
>>> GroupManager gm, [other view options' parameters]);
>>>
>>> with the visible API of PolicyViewer being:
>>>
>>>     InputStream getXHTMLInputStream(String path, String 
>>> contentItemId) throws Exception
>>>
>>> Then I would be able to just change the used resource-type in 
>>> $MY_SPECIFIC_REALM_DIR/src/webapp/global-resource-configs/policy-manager_yanel-rc.xml 
>>> to one using my own PolicyViewer-based Java class!
>>>
>>> WDYT?
>>
>> What exactly would you like to do?
>
> The 1st thing I would like to do is to able to use the existing 
> PolicyManagerResource as it is now, except I'd like to replace the 
> PolicyViewer by another project-specific class, possibly reusing some 
> parts of Yanel's original PolicyViewer implementation at a later stage.
>
>
>> The reason I am asking is because I think "overriding/inheritance" is 
>> not always a good thing and maybe it's better to introduce
>> appropriate interfaces.
>
> I do suggest introducing an API when I write "the visible API of 
> PolicyViewer", even if in this 1st step it would not be a Java 
> interface per se.
> But indeed we should introduce a PolicyViewerV1 Java interface at some 
> point, except for now I am not 100% sure if what I suggest is 
> sufficient even for my own needs and if I would not need a 
> finer-grained one later

what is your suggestion re an API right now?
> So I'd rather use a class than an interface at this point to avoid 
> setting it in stone too early.

this is why we use versioned interfaces ...

Don't be afraid of suggestion an interface.
>
>
> Hope this clears things a bit.

not really, because I still don't know how you would actually like to 
use it.

Thanks

Michi
>
> Cheers,
>    Guillaume



More information about the Yanel-development mailing list