RE: Embedding Pluto

"Shane Paul" <[email protected]>
Newsgroups gmane.comp.jakarta.pluto.user
Message-ID <[email protected]>
Hi,

Firstly, thank you very much for your help so far Brent. 

Perhaps I am not explaining myself properly:

I am fully versed in the JSR-168 portlet specification and all the
associated portlet tags. However this is NOT a portlet issue, but a
portal one.

What I was trying to do, and now have achieved, is embed pluto into my
own web application. I have several JSR-168 portlets that another
developer has developed AND TESTED on a vanilla pluto portal
installation. (i.e. they use "defineobjects" in them) I wished to embed
these via the portlet tags exclusively. 
After much frustration from having to build pluto from scratch, using
something other than maven to make it spring 2.0 compatible, I have
finally got there. It is working.

However, during one part of my frustration, I discovered a null pointer
exception. 
This was solved by placing the scriptlet:

<% new PortalEnvironment(request, response); %> 

Before the PLUTO tag <pluto:portlet>.

(and just for my own piece of mind, I tried adding defineobjects instead
of this and, of course, I was back to the same null pointer exception
:o)

Now I assume that it is ME who is making the mistake here and not a bug
in pluto. However, the latter is possible of course so I thought it was
worth mentioning to the rest of the community.

Please note I am EMBEDDING pluto into my web app. This means that my jsp
pages call the pluto tag independently of the pluto portal. I am just
using the driver. (i.e. PortalDriverServlet, PortalStartupListener and
the pluto tags) 
I don't know if this is "best practice" or even if it is suppose to work
this way, but I have a (not exhaustively "pluto-tested" of course)
working version currently. 

I would not have even wondered about any of this if it wasn't for
needing that scriptlet!. :)

Anyways, thanks again for your help. 

Shane

> -----Original Message-----
> From: Brent Thomas [mailto:[email protected]] 
> Sent: Thursday, 4 May 2006 12:56 a.m.
> To: [email protected]; [email protected]
> Subject: RE: Embedding Pluto
> 
> The tag <portlet:defineObjects/> is part of the portlet spec 
> since 1.0.
> From the Portlet spec 1.0:
> 
> <quote>
> PLT.22.1 defineObjects Tag
> The defineObjects tag must define the following variables in the JSP
> page:
> * RenderRequest renderRequest
> * RenderResponse renderResponse
> * PortletConfig portletConfig
> These variables must reference the same Portlet API objects stored in
> the request object
> of the JSP as defined in the PLT.16.3.1 Included Request Attributes
> Section.
> A JSP using the defineObjects tag may use these variables from
> scriptlets throughout
> the page.
> </quote>
> 
> Brent
> 
> -----
> Brent Thomas
> Acutely Obtuse, Inc.
> [email protected]
> 
> ----- Original message -----
> From: "Shane Paul" <[email protected]>
> To: [email protected], [email protected]
> Date: Tue, 2 May 2006 10:00:53 +1200
> Subject: RE: Embedding Pluto
> 
> Hi Patrick,
> 
> Thanks for the response, but I am a little confused by your response.
> 
> I "discovered" this fix by tracing the source of a null pointer
> exception. (i.e. as opposed to documentation) I know this is 
> (probably?)
> a hack and that I am missing something here, but I am not sure what.
> Just wanted a heads up from someone who knows about how 1.1 works.
> 
> The main confusing bit is that <% new PortalEnvironment(request,
> response); %> has only request/response dependencies and 
> could have been
> handled via a filter perhaps? 
> 
> Anyways, my question was essentially: "Is this a hack? If so, 
> what am I
> doing wrong?"
> 
> 
> Shane
> 
> > -----Original Message-----
> > From: Patrick Huber [mailto:[email protected]] 
> > Sent: Tuesday, 2 May 2006 3:38 a.m.
> > To: [email protected]
> > Subject: Re: Embedding Pluto
> > 
> > Hi Shane
> > 
> > Usually, you'd put this somewhere above the first portlet 
> tag of a jsp
> > page: <portlet:defineObjects/>. I haven't seen your scriptlet
> > before... it's probably doing the same. Using the above tag is the
> > recommended way of initializing portletRequest, 
> portletResponse and a
> > few other objects.
> > 
> > Patrick
> > 
> > 2006/4/30, Shane Paul <[email protected]>:
> > > Well that was a mission, but it is done:
> > >
> > > Built the pluto driver+extras from scratch using eclipse 
> and made it
> > > compatible with spring 2.0M3.
> > > Embedded it into our website using nothing more than the 
> > portlet tags,
> > > as originally hoped.
> > > I guess now you know it can be done. Writing some docs on 
> > what I did for
> > > my personal and company records. If anyone is interested, 
> just ask.
> > >
> > > Very happy. :)
> > >
> > > The only thing I cannot work out is having to add:
> > > <% new PortalEnvironment(request, response); %>
> > > To the jsp file before using the portlet tag. I 
> understand it places
> > > "things" into the request and/or session scope, but I am 
> > not sure why
> > > this does not happen when the tag is called. Will most 
> > likely edit the
> > > source again to add this.
> > >
> > > cheers.
> > >
> > > Shane
> > >
> > >
> > >
> > >
> > 
> > 
> > --
> > "I love deadlines. I like the whooshing sound they make as they fly
> > by." -- Douglas Adams
> > 
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.