Re: SV: SV: Help setting up hello world

Gary Weaver <[email protected]> Thu, 3 Jun 2010 15:36:18 -0400
Newsgroups gmane.comp.jakarta.pluto.user
Message-ID <[email protected]>
--Apple-Mail-10-933835045
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1

Yep. See: =
http://maven.apache.org/guides/introduction/introduction-to-the-standard-d=
irectory-layout.html

Basically in Maven 2:

src/main/java/ - is the start of all classes to be compiled for the jar =
or war
src/main/resources/ - this stuff goes into WEB-INF/classes in war =
package, so it is a good place for properties files, for example (and =
i18n/resource bundles would go under packages under this, etc.). You =
could just as easily use src/main/webapp/WEB-INF/classes, but don't do =
that because... well, because I said so. ;)
src/main/webapp/ this is the root of the expanded war in the war =
package, so something you want in (expanded war root =
dir)/WEB-INF/web.xml would go into src/main/webapp/WEB-INF

and for unit tests, src/test/... is like src/main/... but just used for =
unit tests/surefire

The link mentioned above describes more, but those are the ones you'll =
deal with most for webapps and portlets. And there are other Maven 2 =
paths under target/ that are generated during build/etc. In the end, the =
war goes into the target dir.

One that is helpful to know sooner rather than later is (in pom.xml):
     <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <warName>portletname</warName>
                    ...

Defining the warName will make sure that the filename of the war stays =
the same regardless of the version specified for the =
project/war/artifact.

There are many other things about Maven 2 to learn though, and although =
it can be a little frustrating at first, it is an awesome build and =
dependency management tool.

Gary


On Jun 3, 2010, at 3:01 PM, S=F8ren Blidorf wrote:

> That did it.
> =20
> My mistake was that I read the directory diagram so that webapp goes =
in java. :o/
> =20
> HelloWorldPortlet (top level directory)
>                       |- pom.xml (the pom file)
>                       |- src (Subdir containing main subdirectory)
>                           |- main (Subdir containing java, resources =
and webapp subdirs)
>                                             |- java (java source code =
goes under here)
>                                                 |       `- com
>                                                 |           `- =
mycompany
>                                                 |               `- =
portlet
>                                                 |                   `- =
HelloWorldPortlet.java (portlet source)
>                                                 |- webapp  (webapp =
resources (jsp, css, images) go under here)
>                                                                   `- =
jsp
>                                                                        =
                 `- HelloWorldPortletView.jsp (for view mode)            =
                                                                         =
           =20
>                                                                        =
                 `- HelloWorldPortletEdit.jsp (for edit mode)            =
                                                                         =
             =20
>                                                                   `- =
META-INF
>                                                                        =
                 `- HelloWorldPortlet.xml (Tomcat context deployment =
descriptor)
>                                                                   `- =
WEB-INF
>                                                                        =
                `- portlet.xml (JSR-168 deployment descriptor)
>                                                                        =
                `- web.xml (This will be modified by maven-pluto-plugin)
> =20
> -----Oprindelig meddelelse-----
> Fra: Gary Weaver [mailto:[email protected]]=20
> Sendt: 3. juni 2010 20:15
> Til: [email protected]
> Emne: Re: SV: Help setting up hello world
> =20
> To be more literally answering your question, and copying pasting code =
from that wiki page in large part, it might look like this:
> =20
> ---start src/main/java/helloworld/HelloWorld.java which after war =
deployed becomes =
/path/to/tomcat/webapps/webapp_name/WEB-INF/classes/helloworld/HelloWorld.=
java ---
> package helloworld;
> import javax.portlet.*;=20
> import java.io.*;=20
> =20
> public class HelloWorld extends GenericPortlet {=20
>    public void doView(RenderRequest request,RenderResponse response)=20=

>       throws PortletException,IOException {=20
> =20
>       // Get our preferences
>       PortletPreferences pref =3D request.getPreferences();
> =20
>       // Get the value of "displaytext" from our preferences, if not =
available,
>       // then use the second string passed to the function
>       String displayText =3D pref.getValue("displaytext", "MISSING: =
display-text");
>       // displays the string from our preferences
> =20
>       response.setContentType(request.getResponseContentType());=20
>       PrintWriter writer =3D response.getWriter();=20
>       writer.write(displayText);=20
>    }=20
> }
> ---end HelloWorld.java---
> =20
> ---start src/main/webapp/WEB-INF/web.xml which after war deployed =
becomes /path/to/tomcat/webapps/webapp_name/WEB-INF/web.xml ---
> <?xml version=3D"1.0" encoding=3D"ISO-8859-1"?>=20
> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web =
Application 2.3//EN"=20
>    "http://java.sun.com/dtd/web-app_2_3.dtd">
> =20
> <web-app>
>    <display-name>HelloWorld</display-name>
>    <description>Hello World Portlet</description>
> </web-app>
> ---end web.xml---
> =20
> ---start src/main/webapp/WEB-INF/portlet.xml after war deployed =
becomes /path/to/tomcat/webapps/webapp_name/WEB-INF/portlet.xml ---
> <?xml version=3D"1.0" encoding=3D"UTF-8"?>
> <portlet-app =
xmlns=3D"http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" =
version=3D"1.0">=20
>    <portlet>=20
>       <portlet-name>HelloWorld</portlet-name>=20
>       <portlet-class>helloworld.HelloWorld</portlet-class>=20
>       <expiration-cache>0</expiration-cache>=20
>       <supports>=20
>          <mime-type>text/html</mime-type>=20
>          <portlet-mode>VIEW</portlet-mode>=20
>       </supports>=20
>       <supported-locale>en</supported-locale>
>       <portlet-info>=20
>          <title>HelloWorld</title>=20
>          <keywords>Hello, world, test</keywords>
>       </portlet-info>
>       <portlet-preferences>
>          <preference>
>             <name>displaytext</name>
>             <value>Hello, from your preferences</value>
>          </preference>
>       </portlet-preferences>
>    </portlet>
> </portlet-app>
> ---end portlet.xml---
> =20
> with Pluto related jars put into /path/to/tomcat/shared/lib (and if =
tomcat6 then /path/to/tomcat/conf/server.xml modified to support use of =
shared/lib).
> =20
> On Jun 3, 2010, at 2:01 PM, Gary Weaver wrote:
>=20
>=20
> If you look at that second link I sent:
> https://wiki.jasig.org/display/PLT/Hello+World+Portlet
> =20
> It has an example simple web.xml, portlet.xml, etc. If you are new to =
Java or Java web applications, you probably out to read up on that and =
Maven prior to getting into the portlet side of things, though.
> =20
> As for where to go after Hello World, I lot of people use Spring =
Portlet MVC, in which case you might do something like this in web.xml =
(I tried to strip out the unnecessary parts, but not sure how good of a =
job I did):
> =20
> <?xml version=3D"1.0" encoding=3D"UTF-8"?>
> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web =
Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
> <web-app>
>     <display-name>yourportletname</display-name>
>     <description>Description of the portlet</description>
>     <context-param>
>         <param-name>contextConfigLocation</param-name>
>         <param-value>
>             /WEB-INF/context/portlet/nameofyourportlet.xml
>         </param-value>
>     </context-param>
>     <context-param>
>         <param-name>webAppRootKey</param-name>
>         =
<param-value>some.parent.package.newofyourportlet</param-value>
>     </context-param>
>     <listener>
>         =
<listener-class>org.springframework.web.util.WebAppRootListener</listener-=
class>
>     </listener>
>     <listener>
>         =
<listener-class>org.springframework.web.context.ContextLoaderListener</lis=
tener-class>
>     </listener>
>     <servlet>
>         <servlet-name>ViewRendererServlet</servlet-name>
>         =
<servlet-class>org.springframework.web.servlet.ViewRendererServlet</servle=
t-class>
>         <load-on-startup>1</load-on-startup>
>     </servlet>
>     <servlet-mapping>
>         <servlet-name>ViewRendererServlet</servlet-name>
>         <url-pattern>/WEB-INF/servlet/view</url-pattern>
>     </servlet-mapping>
> </web-app>
> =20
> And could look at this as an example of spring context, pom.xml, =
portlet.xml, etc.: =
https://source.jasig.org/sandbox/MailPortlet/tags/rel-2.0.0-alpha-7/
> =20
> There are also a Grails Portlet project and a Rails-portlet project, I =
think both aimed at JSR-286 implementations like Liferay (I know the =
latter is at the moment).
> =20
> If you want to see what is it really doing in the assembly portion, =
look at FileAssembler.java. For example I found it here:
> =
http://github.com/apache/pluto/blob/trunk/pluto-util/src/main/java/org/apa=
che/pluto/util/assemble/file/FileAssembler.java
> =20
> Gary
> =20
> =20
> On Jun 3, 2010, at 1:33 PM, S=F8ren Blidorf wrote:
>=20
>=20
> Thanks Gary. I will look at it.
> =20
> When I use mvn package I get a build error - invalid web.xml.
> =20
> Does anybody know what is needed in the web.xml for maven to concider =
it valid?
> =20
> Soren
> =20
> -----Oprindelig meddelelse-----
> Fra: Gary Weaver [mailto:[email protected]]=20
> Sendt: 3. juni 2010 17:22
> Til: [email protected]
> Emne: Re: Help setting up hello world
> =20
> Soren,
> =20
> Assuming you are talking about this hello world example?:
> http://portals.apache.org/pluto/v20/deploying.html
> =20
> I also just found another example, even though it is geared for =
uPortal rather than the example Pluto server. (But uPortal uses Pluto =
and supports JSR-168 compliant portlets, so should work.):
> https://wiki.jasig.org/display/PLT/Hello+World+Portlet
> =20
> Some other example portlets are here:
> https://source.jasig.org/portlets/
> there are also some in here but not all of these work:
> https://source.jasig.org/sandbox/
> =20
> As of 2010/06/03 I'm not sure how any of those if any are JSR-286 =
(most are still JSR-168), but that shouldn't matter afaik just to get =
something simple working.
> =20
> Some miscellaneous tips/notes:
> * Pluto's jars should be in the shared/lib area, which requires some =
change to the default Tomcat 6 config to have it look for. That is the =
most appropriate place for it, afaik.
> * Like any war, if you unzip the war, it should unzip its contents =
into the current directory (i.e. is isn't unzipping into (webapp =
directory name)/... ). That is just a war thing, not specific to =
portlets. This only matters if you tried to make the war by hand.
> * Pluto's assembly API must be used to prep the war. There is a =
maven-pluto-plugin that can help with this (it uses Pluto assembly). =
Pluto assembly looks at the portlet.xml then modifies the web.xml and =
adds portlet*.tld file(s).
> * Even though Tomcat is much more lenient when it decompresses a war, =
Pluto assembly (used by maven-pluto-plugin) uses the standard Java API =
to unjar the war, and if the META-INF/MANIFEST.MF file isn't the first =
entry (and there should be only one manifest), it will choke (and the =
error is not that helpful).
> * Just because maven-pluto-plugin preps the war doesn't mean it is a =
valid portlet (or even valid web.xml and portlet.xml for a portlet) or =
that it will even register in Pluto afaik. You need to make sure that =
web.xml is cleaned up and that you didn't try to add the stuff that =
Pluto assembly puts into it. (For info on how to clean it up if you need =
that, see the unplutofy project).
> * In newer versions of pluto (not sure what version, but sometime =
between 1.0.0-RC2 and 1.1.7), portlets register themselves with pluto (I =
think). So you can someone tell if a portlet is available and at least =
valid enough for Pluto to register it (although it still may not work) =
if the logs showed that it registered. It may not register each time =
though? Registering is different than just Tomcat deploying the war (it =
is the line right after that in the logs usually, I think).
> =20
> Hopefully none of that info is wrong, and please anyone feel free to =
correct or clarify those.
> =20
> Wish I could provide more info, but maybe some of that will help.
> =20
> Gary
> =20
> =20
> On Jun 3, 2010, at 5:58 AM, S=F8ren Blidorf wrote:
> =20
> Hi.
> =20
> I am new to portlets and Pluto.
> =20
> I have installed Pluto on my existing Tomcat and it works fine.
> =20
> However I am having difficulties setting up a helloworld portlet.
> =20
> I have created the portlet.xml and the helloworld.java. Compiled and =
deploy but nothing happens.
> =20
> I have tried different examples on google, but nothing works.
> =20
> Does anybody have a helloworld.war file of a describsion for dummies =
on how to get a helloworld to work.
> =20
> Soren
> =20
> =20
> =20
> =20


--Apple-Mail-10-933835045
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=iso-8859-1

<html><head><base href=3D"x-msg://85/"></head><body style=3D"word-wrap: =
break-word; -webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space; "><div>Yep. See:&nbsp;<a =
href=3D"http://maven.apache.org/guides/introduction/introduction-to-the-st=
andard-directory-layout.html">http://maven.apache.org/guides/introduction/=
introduction-to-the-standard-directory-layout.html</a></div><div><br></div=
><div>Basically in Maven 2:</div><div><br></div><div>src/main/java/ - is =
the start of all classes to be compiled for the jar or =
war</div><div>src/main/resources/ - this stuff goes into WEB-INF/classes =
in war package, so it is a good place for properties files, for example =
(and i18n/resource bundles would go under packages under this, etc.). =
You could just as easily use src/main/webapp/WEB-INF/classes, but don't =
do that because... well, because I said so. =
;)</div><div>src/main/webapp/ this is the root of the expanded war in =
the war package, so something you want in (expanded war root =
dir)/WEB-INF/web.xml would go into =
src/main/webapp/WEB-INF</div><div><br></div><div>and for unit tests, =
src/test/... is like src/main/... but just used for unit =
tests/surefire</div><div><br></div><div>The link mentioned above =
describes more, but those are the ones you'll deal with most for webapps =
and portlets. And there are other Maven 2 paths under target/ that are =
generated during build/etc. In the end, the war goes into the target =
dir.</div><div><br></div><div>One that is helpful to know sooner rather =
than later is (in pom.xml):</div><div>&nbsp;&nbsp; &nbsp; =
&lt;build&gt;</div><div>&nbsp;&nbsp; &nbsp; &nbsp; =
&nbsp;&lt;plugins&gt;</div><div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp;&lt;plugin&gt;</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; =
&nbsp;&lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;</div><div>&n=
bsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp;&lt;artifactId&gt;maven-war-plugin&lt;/artifactId&gt;</div><div>&nbs=
p;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp;&lt;configuration&gt;</div><div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp;&lt;warName&gt;portletname&lt;/warName&gt;</div><div>&nbsp;&nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp;...</div></div><div><br></div><div>Defining the warName will make =
sure that the filename of the war stays the same regardless of the =
version specified for the =
project/war/artifact.</div><div><br></div><div>There are many other =
things about Maven 2 to learn though, and although it can be a little =
frustrating at first, it is an awesome build and dependency management =
tool.</div><div><br></div><div>Gary</div><div><br></div><br><div><div>On =
Jun 3, 2010, at 3:01 PM, S=F8ren Blidorf wrote:</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite"><div =
lang=3D"DA" link=3D"blue" vlink=3D"blue" style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div =
class=3D"Section1"><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 0cm; font-size: 12pt; font-family: =
'Times New Roman'; "><font size=3D"2" color=3D"navy" face=3D"Arial"><span =
style=3D"font-size: 10pt; font-family: Arial; color: navy; ">That did =
it.</span></font></div><p class=3D"MsoNormal" style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 0cm; font-size: =
12pt; font-family: 'Times New Roman'; "><font size=3D"2" color=3D"navy" =
face=3D"Arial"><span style=3D"font-size: 10pt; font-family: Arial; =
color: navy; ">&nbsp;</span></font></p><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 0cm; font-size: =
12pt; font-family: 'Times New Roman'; "><font size=3D"2" color=3D"navy" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; color: navy; ">My mistake was that I read the =
directory diagram so that webapp goes in java. :o/</span></font></div><p =
class=3D"MsoNormal" style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 0cm; font-size: 12pt; font-family: =
'Times New Roman'; "><font size=3D"2" color=3D"navy" face=3D"Arial"><span =
lang=3D"EN-GB" style=3D"font-size: 10pt; font-family: Arial; color: =
navy; ">&nbsp;</span></font></p><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 0cm; font-size: =
12pt; font-family: 'Times New Roman'; "><font size=3D"2" color=3D"navy" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; color: navy; ">HelloWorldPortlet (top level =
directory)</span></font></div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 0cm; font-size: =
12pt; font-family: 'Times New Roman'; "><font size=3D"2" color=3D"navy" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; color: navy; =
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- pom.xml (the =
pom file)</span></font></div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 0cm; font-size: =
12pt; font-family: 'Times New Roman'; "><font size=3D"2" color=3D"navy" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; color: navy; =
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |- src (Subdir =
containing main subdirectory)</span></font></div><div style=3D"margin-top:=
 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 0cm; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"2" =
color=3D"navy" face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: =
10pt; font-family: Arial; color: navy; =
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp; |- main (Subdir containing java, resources and webapp =
subdirs)</span></font></div><div style=3D"margin-top: 0cm; margin-right: =
0cm; margin-bottom: 0.0001pt; margin-left: 0cm; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"2" color=3D"navy" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; color: navy; =
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp; |- java (java source code goes under =
here)</span></font></div><div style=3D"margin-top: 0cm; margin-right: =
0cm; margin-bottom: 0.0001pt; margin-left: 0cm; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"2" color=3D"navy" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; color: navy; =
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; `- com</span></font></div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 0cm; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"2" color=3D"navy" face=3D"Arial"><span lang=3D"EN-GB" =
style=3D"font-size: 10pt; font-family: Arial; color: navy; =
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; =
&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; `- =
mycompany</span></font></div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 0cm; font-size: =
12pt; font-family: 'Times New Roman'; "><font size=3D"2" color=3D"navy" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; color: navy; =
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp; `- portlet</span></font></div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 0cm; font-size: =
12pt; font-family: 'Times New Roman'; "><font size=3D"2" color=3D"navy" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; color: navy; =
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; `- HelloWorldPortlet.java (portlet =
source)</span></font></div><div style=3D"margin-top: 0cm; margin-right: =
0cm; margin-bottom: 0.0001pt; margin-left: 0cm; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"2" color=3D"navy" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; color: navy; =
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; |- =
webapp&nbsp; (webapp resources (jsp, css, images) go under =
here)</span></font></div><div style=3D"margin-top: 0cm; margin-right: =
0cm; margin-bottom: 0.0001pt; margin-left: 0cm; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"2" color=3D"navy" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; color: navy; =
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp; `- jsp</span></font></div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 0cm; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"2" color=3D"navy" face=3D"Arial"><span lang=3D"EN-GB" =
style=3D"font-size: 10pt; font-family: Arial; color: navy; =
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp; `- HelloWorldPortletView.jsp (for view =
mode)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;</span></font></div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 0cm; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"2" color=3D"navy" face=3D"Arial"><span lang=3D"EN-GB" =
style=3D"font-size: 10pt; font-family: Arial; color: navy; =
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp; `- HelloWorldPortletEdit.jsp (for edit =
mode)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; &nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;</span></font></div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 0cm; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"2" color=3D"navy" face=3D"Arial"><span lang=3D"EN-GB" =
style=3D"font-size: 10pt; font-family: Arial; color: navy; =
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp; `- META-INF</span></font></div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 0cm; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"2" color=3D"navy" face=3D"Arial"><span lang=3D"EN-GB" =
style=3D"font-size: 10pt; font-family: Arial; color: navy; =
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp; `- HelloWorldPortlet.xml (Tomcat context deployment =
descriptor)</span></font></div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 0cm; font-size: =
12pt; font-family: 'Times New Roman'; "><font size=3D"2" color=3D"navy" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; color: navy; =
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp; `- WEB-INF</span></font></div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 0cm; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"2" color=3D"navy" face=3D"Arial"><span lang=3D"EN-GB" =
style=3D"font-size: 10pt; font-family: Arial; color: navy; =
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp; `- portlet.xml (JSR-168 deployment =
descriptor)</span></font></div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 0cm; font-size: =
12pt; font-family: 'Times New Roman'; "><font size=3D"2" color=3D"navy" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; color: navy; =
">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp; `- web.xml (This will be modified by =
maven-pluto-plugin)</span></font></div><p class=3D"MsoNormal" =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 0cm; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"2" color=3D"navy" face=3D"Arial"><span lang=3D"EN-GB" =
style=3D"font-size: 10pt; font-family: Arial; color: navy; =
">&nbsp;</span></font></p><div style=3D"margin-top: 0cm; margin-right: =
0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"2" face=3D"Tahoma"><span =
style=3D"font-size: 10pt; font-family: Tahoma; ">-----Oprindelig =
meddelelse-----<br><b><span style=3D"font-weight: bold; =
">Fra:</span></b><span class=3D"Apple-converted-space">&nbsp;</span>Gary =
Weaver [mailto:[email protected]]<span =
class=3D"Apple-converted-space">&nbsp;</span><br><b><span =
style=3D"font-weight: bold; ">Sendt:</span></b><span =
class=3D"Apple-converted-space">&nbsp;</span>3. juni 2010 =
20:15<br><b><span style=3D"font-weight: bold; ">Til:</span></b><span =
class=3D"Apple-converted-space">&nbsp;</span><a =
href=3D"mailto:[email protected]" style=3D"color: blue; =
text-decoration: underline; =
">[email protected]</a><br><b><span style=3D"font-weight: =
bold; ">Emne:</span></b><span =
class=3D"Apple-converted-space">&nbsp;</span>Re: SV: Help setting up =
hello world</span></font></div><p class=3D"MsoNormal" style=3D"margin-top:=
 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; =
">&nbsp;</span></font></p><div><div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">To be more =
literally answering your question, and copying pasting code from that =
wiki page in large part, it might look like =
this:</span></font></div></div><div><p class=3D"MsoNormal" =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;</span></font></p></div><div><div style=3D"margin-top: =
0cm; margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">---start =
src/main/java/helloworld/HelloWorld.java which after war deployed =
becomes =
/path/to/tomcat/webapps/webapp_name/WEB-INF/classes/helloworld/HelloWorld.=
java ---</span></font></div></div><div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">package =
helloworld;</span></font></div></div><div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">import =
javax.portlet.*;&nbsp;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">import java.io.*;&nbsp;</span></font></div></div><div><p =
class=3D"MsoNormal" style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; =
">&nbsp;</span></font></p></div><div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">public class =
HelloWorld extends GenericPortlet =
{&nbsp;</span></font></div></div><div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; =
public void doView(RenderRequest request,RenderResponse =
response)&nbsp;</span></font></div></div><div><div style=3D"margin-top: =
0cm; margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; =
&nbsp; &nbsp;throws PortletException,IOException =
{&nbsp;</span></font></div></div><div><p class=3D"MsoNormal" =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;</span></font></p></div><div><div style=3D"margin-top: =
0cm; margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; =
&nbsp; &nbsp;// Get our preferences</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; &nbsp; &nbsp;PortletPreferences pref =3D =
request.getPreferences();</span></font></div></div><div><p =
class=3D"MsoNormal" style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; =
">&nbsp;</span></font></p></div><div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; =
&nbsp; &nbsp;// Get the value of "displaytext" from our preferences, if =
not available,</span></font></div></div><div><div style=3D"margin-top: =
0cm; margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; =
&nbsp; &nbsp;// then use the second string passed to the =
function</span></font></div></div><div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; =
&nbsp; &nbsp;String displayText =3D pref.getValue("displaytext", =
"MISSING: display-text");</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; &nbsp; &nbsp;// displays the string from our =
preferences</span></font></div></div><div><p class=3D"MsoNormal" =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;</span></font></p></div><div><div style=3D"margin-top: =
0cm; margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; =
&nbsp; =
&nbsp;response.setContentType(request.getResponseContentType());&nbsp;</sp=
an></font></div></div><div><div style=3D"margin-top: 0cm; margin-right: =
0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; &nbsp; =
&nbsp;PrintWriter writer =3D =
response.getWriter();&nbsp;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; &nbsp; =
&nbsp;writer.write(displayText);&nbsp;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; }&nbsp;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">}</span></font></div></div><div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">---end =
HelloWorld.java---</span></font></div></div><div><p class=3D"MsoNormal" =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;</span></font></p></div><div><div style=3D"margin-top: =
0cm; margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">---start =
src/main/webapp/WEB-INF/web.xml which after war deployed becomes =
/path/to/tomcat/webapps/webapp_name/WEB-INF/web.xml =
---</span></font></div></div><div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">&lt;?xml =
version=3D"1.0" =
encoding=3D"ISO-8859-1"?&gt;&nbsp;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&lt;!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web =
Application 2.3//EN"&nbsp;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; "<a href=3D"http://java.sun.com/dtd/web-app_2_3.dtd" =
style=3D"color: blue; text-decoration: underline; =
">http://java.sun.com/dtd/web-app_2_3.dtd</a>"&gt;</span></font></div></di=
v><div><p class=3D"MsoNormal" style=3D"margin-top: 0cm; margin-right: =
0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; =
">&nbsp;</span></font></p></div><div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; =
">&lt;web-app&gt;</span></font></div></div><div><div style=3D"margin-top: =
0cm; margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; =
&lt;display-name&gt;HelloWorld&lt;/display-name&gt;</span></font></div></d=
iv><div><div style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: =
0.0001pt; margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New =
Roman'; "><font size=3D"3" face=3D"Times New Roman"><span =
style=3D"font-size: 12pt; ">&nbsp;&nbsp; &lt;description&gt;Hello World =
Portlet&lt;/description&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&lt;/web-app&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">---end web.xml---</span></font></div></div><div><p =
class=3D"MsoNormal" style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; =
">&nbsp;</span></font></p></div><div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">---start =
src/main/webapp/WEB-INF/portlet.xml after war deployed becomes =
/path/to/tomcat/webapps/webapp_name/WEB-INF/portlet.xml =
---</span></font></div></div><div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">&lt;?xml =
version=3D"1.0" encoding=3D"UTF-8"?&gt;</span></font></div></div><div><div=
 style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&lt;portlet-app xmlns=3D"<a =
href=3D"http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" =
style=3D"color: blue; text-decoration: underline; =
">http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd</a>" =
version=3D"1.0"&gt;&nbsp;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; =
&lt;portlet&gt;&nbsp;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; &nbsp; =
&nbsp;&lt;portlet-name&gt;HelloWorld&lt;/portlet-name&gt;&nbsp;</span></fo=
nt></div></div><div><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; &nbsp; =
&nbsp;&lt;portlet-class&gt;helloworld.HelloWorld&lt;/portlet-class&gt;&nbs=
p;</span></font></div></div><div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; =
&nbsp; =
&nbsp;&lt;expiration-cache&gt;0&lt;/expiration-cache&gt;&nbsp;</span></fon=
t></div></div><div><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; &nbsp; =
&nbsp;&lt;supports&gt;&nbsp;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; =
&lt;mime-type&gt;text/html&lt;/mime-type&gt;&nbsp;</span></font></div></di=
v><div><div style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: =
0.0001pt; margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New =
Roman'; "><font size=3D"3" face=3D"Times New Roman"><span =
style=3D"font-size: 12pt; ">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; =
&lt;portlet-mode&gt;VIEW&lt;/portlet-mode&gt;&nbsp;</span></font></div></d=
iv><div><div style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: =
0.0001pt; margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New =
Roman'; "><font size=3D"3" face=3D"Times New Roman"><span =
style=3D"font-size: 12pt; ">&nbsp;&nbsp; &nbsp; =
&nbsp;&lt;/supports&gt;&nbsp;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; &nbsp; =
&nbsp;&lt;supported-locale&gt;en&lt;/supported-locale&gt;</span></font></d=
iv></div><div><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; &nbsp; =
&nbsp;&lt;portlet-info&gt;&nbsp;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; =
&lt;title&gt;HelloWorld&lt;/title&gt;&nbsp;</span></font></div></div><div>=
<div style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: =
0.0001pt; margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New =
Roman'; "><font size=3D"3" face=3D"Times New Roman"><span =
style=3D"font-size: 12pt; ">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; =
&lt;keywords&gt;Hello, world, =
test&lt;/keywords&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; &nbsp; =
&nbsp;&lt;/portlet-info&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; &nbsp; =
&nbsp;&lt;portlet-preferences&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; =
&lt;preference&gt;</span></font></div></div><div><div style=3D"margin-top:=
 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp;&lt;name&gt;displaytext&lt;/name&gt;</span></font></div></div><div><=
div style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: =
0.0001pt; margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New =
Roman'; "><font size=3D"3" face=3D"Times New Roman"><span =
style=3D"font-size: 12pt; ">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp;&lt;value&gt;Hello, from your =
preferences&lt;/value&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; =
&lt;/preference&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; &nbsp; =
&nbsp;&lt;/portlet-preferences&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; &lt;/portlet&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&lt;/portlet-app&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">---end portlet.xml---</span></font></div></div><div><p =
class=3D"MsoNormal" style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; =
">&nbsp;</span></font></p></div><div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">with Pluto =
related jars put into /path/to/tomcat/shared/lib (and if tomcat6 =
then&nbsp;/path/to/tomcat/conf/server.xml modified to support use of =
shared/lib).</span></font></div></div></div><p class=3D"MsoNormal" =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;</span></font></p><div><div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">On Jun 3, =
2010, at 2:01 PM, Gary Weaver wrote:</span></font></div></div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; "><br><br></span></font></div><div style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; =
"><div><div><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; ">If you look at that second link =
I sent:</span></font></div></div><div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; "><a =
href=3D"https://wiki.jasig.org/display/PLT/Hello+World+Portlet" =
style=3D"color: blue; text-decoration: underline; =
">https://wiki.jasig.org/display/PLT/Hello+World+Portlet</a></span></font>=
</div></div><div><p class=3D"MsoNormal" style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; =
">&nbsp;</span></font></p></div><div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">It has an =
example simple web.xml, portlet.xml, etc. If you are new to Java or Java =
web applications, you probably out to read up on that and Maven prior to =
getting into the portlet side of things, =
though.</span></font></div></div><div><p class=3D"MsoNormal" =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;</span></font></p></div><div><div style=3D"margin-top: =
0cm; margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">As for where =
to go after Hello World, I lot of people use Spring Portlet MVC, in =
which case you might do something like this in web.xml (I tried to strip =
out the unnecessary parts, but not sure how good of a job I =
did):</span></font></div></div><div><p class=3D"MsoNormal" =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;</span></font></p></div><div><div style=3D"margin-top: =
0cm; margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">&lt;?xml =
version=3D"1.0" encoding=3D"UTF-8"?&gt;</span></font></div></div><div><div=
 style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&lt;!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web =
Application 2.3//EN"&nbsp;"<a =
href=3D"http://java.sun.com/dtd/web-app_2_3.dtd" style=3D"color: blue; =
text-decoration: underline; =
">http://java.sun.com/dtd/web-app_2_3.dtd</a>"&gt;</span></font></div></di=
v><div><div style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: =
0.0001pt; margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New =
Roman'; "><font size=3D"3" face=3D"Times New Roman"><span =
style=3D"font-size: 12pt; =
">&lt;web-app&gt;</span></font></div></div><div><div style=3D"margin-top: =
0cm; margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; =
&nbsp;&lt;display-name&gt;yourportletname&lt;/display-name&gt;</span></fon=
t></div></div><div><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; =
&nbsp;&lt;description&gt;Description of the =
portlet&lt;/description&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; =
&nbsp;&lt;context-param&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; &nbsp; &nbsp; =
&nbsp;&lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;</span></f=
ont></div></div><div><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; &nbsp; &nbsp; =
&nbsp;&lt;param-value&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp;/WEB-INF/context/portlet/nameofyourportlet.xml</span></font></div></=
div><div><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; &nbsp; &nbsp; =
&nbsp;&lt;/param-value&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; =
&nbsp;&lt;/context-param&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; =
&nbsp;&lt;context-param&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; &nbsp; &nbsp; =
&nbsp;&lt;param-name&gt;webAppRootKey&lt;/param-name&gt;</span></font></di=
v></div><div><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; &nbsp; &nbsp; =
&nbsp;&lt;param-value&gt;some.parent.package.newofyourportlet&lt;/param-va=
lue&gt;</span></font></div></div><div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; =
&nbsp;&lt;/context-param&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; =
&nbsp;&lt;listener&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; &nbsp; &nbsp; =
&nbsp;&lt;listener-class&gt;org.springframework.web.util.WebAppRootListene=
r&lt;/listener-class&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; =
&nbsp;&lt;/listener&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; =
&nbsp;&lt;listener&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; &nbsp; &nbsp; =
&nbsp;&lt;listener-class&gt;org.springframework.web.context.ContextLoaderL=
istener&lt;/listener-class&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; =
&nbsp;&lt;/listener&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; =
&nbsp;&lt;servlet&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; &nbsp; &nbsp; =
&nbsp;&lt;servlet-name&gt;ViewRendererServlet&lt;/servlet-name&gt;</span><=
/font></div></div><div><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; &nbsp; &nbsp; =
&nbsp;&lt;servlet-class&gt;org.springframework.web.servlet.ViewRendererSer=
vlet&lt;/servlet-class&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; &nbsp; &nbsp; =
&nbsp;&lt;load-on-startup&gt;1&lt;/load-on-startup&gt;</span></font></div>=
</div><div><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; =
&nbsp;&lt;/servlet&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; =
&nbsp;&lt;servlet-mapping&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;&nbsp; &nbsp; &nbsp; =
&nbsp;&lt;servlet-name&gt;ViewRendererServlet&lt;/servlet-name&gt;</span><=
/font></div></div><div><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; &nbsp; &nbsp; =
&nbsp;&lt;url-pattern&gt;/WEB-INF/servlet/view&lt;/url-pattern&gt;</span><=
/font></div></div><div><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; ">&nbsp;&nbsp; =
&nbsp;&lt;/servlet-mapping&gt;</span></font></div></div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&lt;/web-app&gt;</span></font></div></div><div><p =
class=3D"MsoNormal" style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; =
">&nbsp;</span></font></p></div><div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">And could =
look at this as an example of spring context, pom.xml, portlet.xml, =
etc.:&nbsp;<a =
href=3D"https://source.jasig.org/sandbox/MailPortlet/tags/rel-2.0.0-alpha-=
7/" style=3D"color: blue; text-decoration: underline; =
">https://source.jasig.org/sandbox/MailPortlet/tags/rel-2.0.0-alpha-7/</a>=
</span></font></div></div></div><div><p class=3D"MsoNormal" =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;</span></font></p></div><div><div style=3D"margin-top: =
0cm; margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">There are =
also a Grails Portlet project and a Rails-portlet project, I think both =
aimed at JSR-286 implementations like Liferay (I know the latter is at =
the moment).</span></font></div></div><div><p class=3D"MsoNormal" =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;</span></font></p></div><div><div style=3D"margin-top: =
0cm; margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">If you want =
to see what is it really doing in the assembly portion, look =
at&nbsp;FileAssembler.java. For example I found =
it&nbsp;here:</span></font></div></div><div><div style=3D"margin-top: =
0cm; margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; "><a =
href=3D"http://github.com/apache/pluto/blob/trunk/pluto-util/src/main/java=
/org/apache/pluto/util/assemble/file/FileAssembler.java" style=3D"color: =
blue; text-decoration: underline; =
">http://github.com/apache/pluto/blob/trunk/pluto-util/src/main/java/org/a=
pache/pluto/util/assemble/file/FileAssembler.java</a></span></font></div><=
/div><div><p class=3D"MsoNormal" style=3D"margin-top: 0cm; margin-right: =
0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; =
">&nbsp;</span></font></p></div><div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; =
">Gary</span></font></div></div><div><p class=3D"MsoNormal" =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;</span></font></p></div><p class=3D"MsoNormal" =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;</span></font></p><div><div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">On Jun 3, =
2010, at 1:33 PM, S=F8ren Blidorf wrote:</span></font></div></div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; "><br><br></span></font></div><div link=3D"blue" vlink=3D"blue" =
style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
-webkit-line-break: after-white-space; "><div><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"2" color=3D"navy" face=3D"Arial"><span lang=3D"EN-GB" =
style=3D"font-size: 10pt; font-family: Arial; color: navy; ">Thanks<span =
class=3D"apple-converted-space">&nbsp;</span>Gary. I will look at =
it.</span></font></div></div><p class=3D"MsoNormal" style=3D"margin-top: =
0cm; margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"2" =
color=3D"navy" face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: =
10pt; font-family: Arial; color: navy; =
">&nbsp;</span></font></p><div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"2" =
color=3D"navy" face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: =
10pt; font-family: Arial; color: navy; ">When I use mvn package I get a =
build error - invalid web.xml.</span></font></div></div><p =
class=3D"MsoNormal" style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"2" color=3D"navy" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; color: navy; ">&nbsp;</span></font></p><div><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"2" color=3D"navy" face=3D"Arial"><span lang=3D"EN-GB" =
style=3D"font-size: 10pt; font-family: Arial; color: navy; ">Does =
anybody know what is needed in the web.xml for maven to concider it =
valid?</span></font></div></div><p class=3D"MsoNormal" =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"2" color=3D"navy" face=3D"Arial"><span lang=3D"EN-GB" =
style=3D"font-size: 10pt; font-family: Arial; color: navy; =
">&nbsp;</span></font></p><div><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"2" =
color=3D"navy" face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: =
10pt; font-family: Arial; color: navy; =
">Soren</span></font></div></div><p class=3D"MsoNormal" =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"2" color=3D"navy" face=3D"Arial"><span lang=3D"EN-GB" =
style=3D"font-size: 10pt; font-family: Arial; color: navy; =
">&nbsp;</span></font></p><div style=3D"margin-left: 65.2pt; "><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"2" face=3D"Tahoma"><span style=3D"font-size: 10pt; =
font-family: Tahoma; ">-----Oprindelig meddelelse-----<br><b><span =
style=3D"font-weight: bold; ">Fra:</span></b><span =
class=3D"apple-converted-space">&nbsp;</span>Gary Weaver =
[mailto:[email protected]]<span =
class=3D"apple-converted-space">&nbsp;</span><br><b><span =
style=3D"font-weight: bold; ">Sendt:</span></b><span =
class=3D"apple-converted-space">&nbsp;</span>3. juni 2010 =
17:22<br><b><span style=3D"font-weight: bold; ">Til:</span></b><span =
class=3D"apple-converted-space">&nbsp;</span><a =
href=3D"mailto:[email protected]" style=3D"color: blue; =
text-decoration: underline; =
">[email protected]</a><br><b><span style=3D"font-weight: =
bold; ">Emne:</span></b><span =
class=3D"apple-converted-space">&nbsp;</span>Re: Help setting up hello =
world</span></font></div></div><p class=3D"MsoNormal" style=3D"margin-top:=
 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 130.4pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; =
">&nbsp;</span></font></p><div style=3D"margin-left: 65.2pt; "><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">Soren,</span></font></div></div><div><p class=3D"MsoNormal" =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 130.4pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;</span></font></p></div><div><div style=3D"margin-left: =
65.2pt; "><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; ">Assuming you are talking about =
this hello world example?:</span></font></div></div></div><div><div =
style=3D"margin-left: 65.2pt; "><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; "><a =
href=3D"http://portals.apache.org/pluto/v20/deploying.html" =
style=3D"color: blue; text-decoration: underline; =
">http://portals.apache.org/pluto/v20/deploying.html</a></span></font></di=
v></div></div><div><p class=3D"MsoNormal" style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 130.4pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; =
">&nbsp;</span></font></p></div><div><div style=3D"margin-left: 65.2pt; =
"><div style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: =
0.0001pt; margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New =
Roman'; "><font size=3D"3" face=3D"Times New Roman"><span =
style=3D"font-size: 12pt; ">I also just found another example, even =
though it is geared for uPortal rather than the example Pluto server. =
(But uPortal uses Pluto and supports JSR-168 compliant portlets, so =
should work.):</span></font></div></div></div><div><div =
style=3D"margin-left: 65.2pt; "><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; "><a =
href=3D"https://wiki.jasig.org/display/PLT/Hello+World+Portlet" =
style=3D"color: blue; text-decoration: underline; =
">https://wiki.jasig.org/display/PLT/Hello+World+Portlet</a></span></font>=
</div></div></div><div><p class=3D"MsoNormal" style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 130.4pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; =
">&nbsp;</span></font></p></div><div><div style=3D"margin-left: 65.2pt; =
"><div style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: =
0.0001pt; margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New =
Roman'; "><font size=3D"3" face=3D"Times New Roman"><span =
style=3D"font-size: 12pt; ">Some other example portlets are =
here:</span></font></div></div></div><div><div style=3D"margin-left: =
65.2pt; "><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; "><a =
href=3D"https://source.jasig.org/portlets/" style=3D"color: blue; =
text-decoration: underline; =
">https://source.jasig.org/portlets/</a></span></font></div></div></div><d=
iv><div style=3D"margin-left: 65.2pt; "><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">there are =
also some in here but not all of these =
work:</span></font></div></div></div><div><div style=3D"margin-left: =
65.2pt; "><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; "><a =
href=3D"https://source.jasig.org/sandbox/" style=3D"color: blue; =
text-decoration: underline; =
">https://source.jasig.org/sandbox/</a></span></font></div></div></div><di=
v><p class=3D"MsoNormal" style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 130.4pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; =
">&nbsp;</span></font></p></div><div><div style=3D"margin-left: 65.2pt; =
"><div style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: =
0.0001pt; margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New =
Roman'; "><font size=3D"3" face=3D"Times New Roman"><span =
style=3D"font-size: 12pt; ">As of 2010/06/03 I'm not sure how any of =
those if any are JSR-286 (most are still JSR-168), but that shouldn't =
matter afaik just to get something simple =
working.</span></font></div></div></div><div><p class=3D"MsoNormal" =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 130.4pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;</span></font></p></div><div><div style=3D"margin-left: =
65.2pt; "><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; ">Some miscellaneous =
tips/notes:</span></font></div></div></div><div><div style=3D"margin-left:=
 65.2pt; "><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; ">* Pluto's jars should be in the =
shared/lib area, which requires some change to the default Tomcat 6 =
config to have it look for. That is the most appropriate place for it, =
afaik.</span></font></div></div></div><div><div style=3D"margin-left: =
65.2pt; "><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; ">* Like any war, if you unzip =
the war, it should unzip its contents into the current directory (i.e. =
is isn't unzipping into (webapp directory name)/... ). That is just a =
war thing, not specific to portlets. This only matters if you tried to =
make the war by hand.</span></font></div></div></div><div><div =
style=3D"margin-left: 65.2pt; "><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">* Pluto's =
assembly API must be used to prep the war. There is a maven-pluto-plugin =
that can help with this (it uses Pluto assembly). Pluto assembly looks =
at the portlet.xml then modifies the web.xml and adds portlet*.tld =
file(s).</span></font></div></div></div><div><div style=3D"margin-left: =
65.2pt; "><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; ">* Even though Tomcat is much =
more lenient when it decompresses a war, Pluto assembly (used by =
maven-pluto-plugin) uses the standard Java API to unjar the war, and if =
the&nbsp;</span></font><span class=3D"apple-style-span"><font =
face=3D"Courier New"><span style=3D"font-family: 'Courier New'; =
">META-INF/MANIFEST.MF</span></font></span><span =
class=3D"apple-style-span"><font face=3D"Helvetica"><span =
style=3D"font-family: Helvetica; ">&nbsp;file isn't the first entry (and =
there should be only one manifest), it will choke (and the error is not =
that helpful).</span></font></span></div></div></div><div><div =
style=3D"margin-left: 65.2pt; "><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">* Just =
because maven-pluto-plugin preps the war doesn't mean it is a valid =
portlet (or even valid web.xml and portlet.xml for a portlet) or that it =
will even register in Pluto afaik. You need to make sure that web.xml is =
cleaned up and that you didn't try to add the stuff that Pluto assembly =
puts into it. (For info on how to clean it up if you need that, see the =
unplutofy project).</span></font></div></div></div><div><div =
style=3D"margin-left: 65.2pt; "><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span style=3D"font-size: 12pt; ">* In newer =
versions of pluto (not sure what version, but sometime between 1.0.0-RC2 =
and 1.1.7), portlets register themselves with pluto (I think). So you =
can someone tell if a portlet is available and at least valid enough for =
Pluto to register it (although it still may not work) if the logs showed =
that it registered. It may not register each time though? Registering is =
different than just Tomcat deploying the war (it is the line right after =
that in the logs usually, I =
think).</span></font></div></div></div><div><p class=3D"MsoNormal" =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 130.4pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;</span></font></p></div><div><div style=3D"margin-left: =
65.2pt; "><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; ">Hopefully none of that info is =
wrong, and please anyone feel free to correct or clarify =
those.</span></font></div></div></div><div><p class=3D"MsoNormal" =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 130.4pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;</span></font></p></div><div><div style=3D"margin-left: =
65.2pt; "><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; ">Wish I could provide more info, =
but maybe some of that will help.</span></font></div></div></div><div><p =
class=3D"MsoNormal" style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 130.4pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; =
">&nbsp;</span></font></p></div><div><div style=3D"margin-left: 65.2pt; =
"><div style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: =
0.0001pt; margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New =
Roman'; "><font size=3D"3" face=3D"Times New Roman"><span =
style=3D"font-size: 12pt; ">Gary</span></font></div></div></div><div><p =
class=3D"MsoNormal" style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 130.4pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; =
">&nbsp;</span></font></p></div><div><p class=3D"MsoNormal" =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 130.4pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;</span></font></p><div><div><div style=3D"margin-left: =
65.2pt; "><div style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 65.2pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; ">On Jun 3, 2010, at 5:58 AM, =
S=F8ren Blidorf wrote:</span></font></div></div></div><div =
style=3D"margin-left: 65.2pt; "><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 12pt; margin-left: 65.2pt; font-size: =
12pt; font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times =
New Roman"><span style=3D"font-size: 12pt; ">&nbsp;</span></font><br =
class=3D"webkit-block-placeholder"></div></div><div link=3D"blue" =
vlink=3D"purple"><div><div><div style=3D"margin-left: 65.2pt; "><div =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"2" face=3D"Arial"><span style=3D"font-size: 10pt; =
font-family: Arial; =
">Hi.<u1:p></u1:p></span></font></div></div></div><div><div =
style=3D"margin-left: 65.2pt; "><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"2" =
face=3D"Arial"><span style=3D"font-size: 10pt; font-family: Arial; =
"><u1:p>&nbsp;</u1:p></span></font></div></div></div><div><div =
style=3D"margin-left: 65.2pt; "><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"2" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; ">I am new to portlets and =
Pluto.<u1:p></u1:p></span></font></div></div></div><div><div =
style=3D"margin-left: 65.2pt; "><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"2" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; =
"><u1:p>&nbsp;</u1:p></span></font></div></div></div><div><div =
style=3D"margin-left: 65.2pt; "><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"2" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; ">I have installed Pluto on my existing Tomcat and =
it works fine.<u1:p></u1:p></span></font></div></div></div><div><div =
style=3D"margin-left: 65.2pt; "><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"2" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; =
"><u1:p>&nbsp;</u1:p></span></font></div></div></div><div><div =
style=3D"margin-left: 65.2pt; "><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"2" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; ">However I am having difficulties setting up a =
helloworld =
portlet.<u1:p></u1:p></span></font></div></div></div><div><div =
style=3D"margin-left: 65.2pt; "><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"2" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; =
"><u1:p>&nbsp;</u1:p></span></font></div></div></div><div><div =
style=3D"margin-left: 65.2pt; "><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"2" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; ">I have created the portlet.xml and the =
helloworld.java. Compiled and deploy but nothing =
happens.<u1:p></u1:p></span></font></div></div></div><div><div =
style=3D"margin-left: 65.2pt; "><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"2" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; =
"><u1:p>&nbsp;</u1:p></span></font></div></div></div><div><div =
style=3D"margin-left: 65.2pt; "><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"2" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; ">I have tried different examples on google, but =
nothing works.<u1:p></u1:p></span></font></div></div></div><div><div =
style=3D"margin-left: 65.2pt; "><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"2" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; =
"><u1:p>&nbsp;</u1:p></span></font></div></div></div><div><div =
style=3D"margin-left: 65.2pt; "><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"2" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; ">Does anybody have a helloworld.war file of a =
describsion for dummies on how to get a helloworld to =
work.<u1:p></u1:p></span></font></div></div></div><div><div =
style=3D"margin-left: 65.2pt; "><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"2" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; =
"><u1:p>&nbsp;</u1:p></span></font></div></div></div><div><div =
style=3D"margin-left: 65.2pt; "><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"2" =
face=3D"Arial"><span lang=3D"EN-GB" style=3D"font-size: 10pt; =
font-family: Arial; =
">Soren</span></font></div></div></div><u1:p></u1:p><div><div =
style=3D"margin-left: 65.2pt; "><div style=3D"margin-top: 0cm; =
margin-right: 0cm; margin-bottom: 0.0001pt; margin-left: 65.2pt; =
font-size: 12pt; font-family: 'Times New Roman'; "><font size=3D"3" =
face=3D"Times New Roman"><span lang=3D"EN-GB" style=3D"font-size: 12pt; =
"><u1:p>&nbsp;</u1:p></span></font></div></div></div></div></div></div><p =
class=3D"MsoNormal" style=3D"margin-top: 0cm; margin-right: 0cm; =
margin-bottom: 0.0001pt; margin-left: 130.4pt; font-size: 12pt; =
font-family: 'Times New Roman'; "><font size=3D"3" face=3D"Times New =
Roman"><span style=3D"font-size: 12pt; =
">&nbsp;</span></font></p></div></div></div></div><p class=3D"MsoNormal" =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; ">&nbsp;</span></font></p></div></div><p class=3D"MsoNormal" =
style=3D"margin-top: 0cm; margin-right: 0cm; margin-bottom: 0.0001pt; =
margin-left: 65.2pt; font-size: 12pt; font-family: 'Times New Roman'; =
"><font size=3D"3" face=3D"Times New Roman"><span style=3D"font-size: =
12pt; =
">&nbsp;</span></font></p></div></div></blockquote></div><br></body></html=
>=

--Apple-Mail-10-933835045--