Rapha�l Luta wrote:
> 
> "Kevin A. Burton" wrote:
> >
> > What I do think is important is that we keep the <entry> tag so that
> > other portions of Jetspeed don't break.
> >
> 
> Funny, I'd say it's important *not* to use <entry> :)
> 
> What other portions ? The only code currently using the registry is:
> - PortletRegistry (of course)
> - PortletFactory
> - FeedDeamon
> - PortletBrowser

Yes.  There is a strong play between all of them.  There needs to be a
way to register and obtain references and instances as one set.  Before
we would have to call getEntry() and then getEntryRef() which wasn't
good.  
 
> The other codes using the registry markup simply creates dummy entries
> in order to instanciate a Portlet by name, that will work whatever how we
> chose to implement the "abstract" feature.
> 
> > So i guess when we are done we will have 3 types of entry declarations:
> >
> > <entry ref="">
> >
> > <entry name="">
> >
> > <entry name="" isAbstract="true">
> >
> > I am wondering if we shouldn't just have a type attribute:
> >
> > <entry type="ref" name="RSS">
> >
> > <entry type="instance" name="RSS">
> >
> > <entry type="abstract" name="RSS">
> >
> 
> Using type in this way would mean that in every code using the registry Entry,
> there'll be an if test at best or a switch statement at worst to handle these
> entries, I really think this is most inconvenient. Using a special element will
> directly provide new API calls to use it.

Yes.  This is what I want to avoid.  I want to be able to have the
FeedDaemon add entries (and remove them if for some reason they throw
PortletExceptions) into one central "pool".  Then the PortletBrowser and
PortletFactory will know how to instantiate all of these.
 
> Also did you envision that ref could reference an "instance" type entry
> or another "ref" entry ? If so then your markup is perhaps the way to do it,
> if not, using another element will automatically provide the necessary sanity
> check.

Right.  This should be documented too.  It should recurse back, filling
in all necessary information until it gets back down to something that
is either an instance or is abstract (IE not a ref).

We should also setup "Entry" to have a peer.  Maybe
org.apache.jetspeed.xml.peer.Entry and it would decorate
org.apache.jetspeed.xml.api.portletmarkup.Entry.  Then we don't have to
have marshaling code in our API and we can provide utility method:

public boolean isRef();
public boolean isInstance();
public boolean isAbstract();

-- 
Kevin A Burton ([EMAIL PROTECTED])
http://relativity.yi.org
Message to SUN:  "Please Open Source Java!"
"For evil to win is for good men to do nothing."


--
--------------------------------------------------------------
Please read the FAQ! <http://java.apache.org/faq/>
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Archives and Other:  <http://java.apache.org/main/mail.html>
Problems?:           [EMAIL PROTECTED]

Reply via email to