You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wsrp4j-dev@portals.apache.org by "Matthew J. Dovey" <ma...@oucs.ox.ac.uk> on 2006/02/01 18:36:32 UTC
RE: FW: Out-of-box installation not working (update)
Note that this was on the main branch not the mavernised sandbox.
Matthew
> -----Original Message-----
> From: Julie MacNaught [mailto:jmacna@apache.org]
> Sent: 27 January 2006 15:28
> To: wsrp4j-dev@ws.apache.org
> Subject: Re: FW: Out-of-box installation not working (update)
>
> FYI, I've been trying to test this, but I haven't gotten it
> to work yet.
> I'm getting Invocation Target Exception. I'll keep working on it.
>
> Matthew J. Dovey wrote:
>
> > Could someone with commit permission please make the
> changes described
> > here?
> >
> > (I've also attached a subversion patch file with the
> various changes
> > in
> > - apart from the copy of the jar files needed for JDK 1.5)
> >
> >
> > Matthew
> >
> >
> >>-----Original Message-----
> >>From: Matthew J. Dovey
> >>Sent: 12 January 2006 19:44
> >>To: 'wsrp4j-user@ws.apache.org'
> >>Subject: RE: Out-of-box installation not working (update)
> >>
> >>To follow on from Graham's e-mail.
> >>
> >>The solution to this problem is depressingly simple compared to the
> >>time I spent today painstakingly single stepping the source code to
> >>both WSRP4J and Pluto to indentify the problem. There is
> just one file
> >>(WEB-INF/data/xml/servletdefinitionmapping.xml) which is
> out of sync
> >>with the version of pluto used in WSRP4J and replacing this
> with the
> >>file from Pluto1.0.1 solves the null pointer exception encountered
> >>late last year. This is used to map the XML structure of
> web.xml files
> >>into a Java class defined in Pluto. The result of the mismatch was
> >>that castor was throwing an error about a missing public
> property in
> >>the Java class.
> >>
> >>The result of this is that during initialisation the pluto
> >>PortletDefinitionRegistryService doesn't start due to this castor
> >>exception. So when WSRP4J tries to get the Portlet
> description, Pluto
> >>first tries to get the current running
> >>PortletDefinitionRegistryService which returns a null pointer, and
> >>then tries to execute method on this service, hence the
> null pointer
> >>exception.
> >>
> >>So here are all the steps needed to get from a check out of the
> >>current source (revision 368445 as of 12 Jan 2005) to a
> version that
> >>compiles and works incorporating the things that Graham and myself
> >>have discovered:
> >>
> >>i) replace
> >>wsrp/provider/pluto/war/WEB-INF/data/xml/servletdefinitionmapp
> >
> > ing.xml with the one attached to this e-mail (fixes the
> castor > error
> > and hence the null pointer error)
> >
> >>ii) replace wsrp/build/build.xml with the attached file (this fixes
> >>the fact that the build file references an earlier version
> of castor
> >>no longer present in the repository)
> >>iii) edit wsrp/SwingConsumer/setcpath.bat replace set
> >>CLASSPATH=%CLASSPATH%;.\lib\castor-0.9.4.1-xml.jar with set
> >>CLASSPATH=%CLASSPATH%;.\lib\castor-0.9.5.3.jar (as above - I wo'n't
> >>attach an edited version as some mail systems don't like
> batch files
> >>as attachments)
> >>iv) put the attached web.xml into
> >>wsrp/portlets/wsrptest/war/WEB-INF (somehow this file
> appears to have
> >>gone missing but without it the test portlets don't work!)
> >>v) if running on JDK 1.5, copy the following files from
> >>/wsrp/lib/consumer to /wsrp/lib : xercesImpl-2.5.0.jar,
> >>xercesImpl-2.5.0.LICENSE, xml-apis-2.5.0.jar, xml-apis-2.5.0.LICENSE
> >>
> >>After that you can then go through the normal build procedure of
> >>copying and editing the various .EXAMPLE build files and
> running the
> >>build scripts in wsrp/build.
> >>
> >>Matthew Dovey
> >>Oxford University Computing Services
> >>
> >>
> >>
> >>
> >>
> >>>-----Original Message-----
> >>>From: Graham Klyne [mailto:graham.klyne@oucs.ox.ac.uk]
> >>>Sent: 12 January 2006 17:25
> >>>To: wsrp4j-user@ws.apache.org
> >>>Subject: Re: Out-of-box installation not working (update)
> >>>
> >>>Further investigations since sending my previous message
> have moved
> >>>the problem along.
> >>>
> >>>It appears that the null pointer failure is being raised
> >>
> >>when the wsrp
> >>
> >>>pluto provider attempts to access portlet details commonly used
> >>>internally by Pluto.
> >>>Apparently, there is a mismatch between the castor mapping
> >>
> >>file used
> >>
> >>>and the data structure in the corresponding pluto
> >>>1.0.1 jar file.
> >>>
> >>>Copying the mapping files from the released Pluto 1.0.1 into
> >>>CATALINA_HOME/webapps/wsrp/WEB-INF/data/xml seems to solve the
> >>>problem. I'll send in more details when I've gone through
> >>
> >>the process
> >>
> >>>from scratch.
> >>>
> >>>#g
> >>>
> >>>--
> >>>Graham Klyne
> >>>Research Technology Service
> >>>Oxford University Computing Services
> >>>
> >>>
> >
> >
> >
> >
> ----------------------------------------------------------------------
> > --
> >
> > <?xml version="1.0"?>
> > <!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Mapping DTD
> Version 1.0//EN"
> > "http://castor.exolab.org/mapping.dtd">
> > <!--
> > Copyright 2004 The Apache Software Foundation
> >
> > Licensed under the Apache License, Version 2.0 (the "License");
> > you may not use this file except in compliance with the License.
> > You may obtain a copy of the License at
> >
> > http://www.apache.org/licenses/LICENSE-2.0
> >
> > Unless required by applicable law or agreed to in
> writing, software
> > distributed under the License is distributed on an "AS IS" BASIS,
> > WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
> express or implied.
> > See the License for the specific language governing
> permissions and
> > limitations under the License.
> > -->
> > <mapping>
> >
> > <class
> > name="org.apache.pluto.portalImpl.om.common.impl.DisplayNameImpl">
> >
> > <field name="displayName" type="java.lang.String">
> > <bind-xml node="text"/>
> > </field>
> > <field name="castorLocale" type="java.lang.String">
> > <bind-xml name="xml:lang" node="attribute"/>
> > </field>
> > </class>
> >
> > <class
> >
> name="org.apache.pluto.portalImpl.om.servlet.impl.TagDefinitionImpl">
> >
> > <field name="uri" type="java.lang.String" required="true">
> > <bind-xml name="taglib-uri" node="element"/>
> > </field>
> >
> > <field name="location" type="java.lang.String" required="true">
> > <bind-xml name="taglib-location" node="element"/>
> > </field>
> >
> > </class>
> >
> > <class
> > name="org.apache.pluto.portalImpl.om.servlet.impl.ResourceRef">
> >
> > <field name="description" type="java.lang.String"
> required="false">
> > <bind-xml name="description" node="element"/>
> > </field>
> >
> > <field name="name" type="java.lang.String" required="false">
> > <bind-xml name="res-ref-name" node="element"/>
> > </field>
> >
> > <field name="type" type="java.lang.String" required="false">
> > <bind-xml name="res-type" node="element"/>
> > </field>
> >
> > <field name="auth" type="java.lang.String" required="false">
> > <bind-xml name="res-auth" node="element"/>
> > </field>
> >
> > <field name="sharing" type="java.lang.String" required="false">
> > <bind-xml name="res-sharing-scope" node="element"/>
> > </field>
> >
> > </class>
> >
> > <class
> > name="org.apache.pluto.portalImpl.om.servlet.impl.MimeTypeImpl">
> >
> > <field name="extension" type="java.lang.String" required="true">
> > <bind-xml name="extension" node="element"/>
> > </field>
> >
> > <field name="mimeType" type="java.lang.String" required="true">
> > <bind-xml name="mime-type" node="element"/>
> > </field>
> >
> > </class>
> >
> > <class
> >
> name="org.apache.pluto.portalImpl.om.servlet.impl.SecurityConstraintIm
> > pl">
> >
> > </class>
> >
> > <class
> > name="org.apache.pluto.portalImpl.om.common.impl.DescriptionImpl">
> >
> > <field name="description" type="java.lang.String">
> > <bind-xml node="text"/>
> > </field>
> > <field name="castorLocale" type="java.lang.String">
> > <bind-xml name="xml:lang" node="attribute"/>
> > </field>
> >
> > </class>
> >
> > <class
> > name="org.apache.pluto.portalImpl.om.common.impl.SecurityRoleImpl">
> >
> > <field name="description" type="java.lang.String"
> required="false" >
> > <bind-xml name="description" node="element"/>
> > </field>
> > <field name="roleName" type="java.lang.String" required="true">
> > <bind-xml name="role-name" node="element"/>
> > </field>
> > </class>
> >
> >
> > <class
> >
> name="org.apache.pluto.portalImpl.om.common.impl.SecurityRoleRefImpl">
> >
> > <field name="castorDescriptions"
> >
> type="org.apache.pluto.portalImpl.om.common.impl.DescriptionImpl"
> > collection="collection">
> > <bind-xml name="description" node="element"/>
> > </field>
> > <field name="roleName" type="java.lang.String" required="true">
> > <bind-xml name="role-name" node="element"/>
> > </field>
> > <field name="roleLink" type="java.lang.String" required="false">
> > <bind-xml name="role-link" node="element"/>
> > </field>
> > </class>
> >
> > <class
> > name="org.apache.pluto.portalImpl.om.common.impl.ParameterImpl">
> >
> > <field name="name" type="java.lang.String" required="true">
> > <bind-xml name="param-name" node="element"/>
> > </field>
> > <field name="value" type="java.lang.String" required="true">
> > <bind-xml name="param-value" node="element"/>
> > </field>
> > <field name="castorDescriptions"
> >
> type="org.apache.pluto.portalImpl.om.common.impl.DescriptionImpl"
> > collection="collection">
> > <bind-xml name="description" node="element"/>
> > </field>
> >
> > </class>
> >
> > <class
> >
> name="org.apache.pluto.portalImpl.om.servlet.impl.ServletMappingImpl">
> >
> > <field name="id" type="java.lang.String">
> > <bind-xml name="id" node="attribute"/>
> > </field>
> >
> > <field name="servletName" type="java.lang.String"
> required="true">
> > <bind-xml name="servlet-name" node="element"/>
> > </field>
> > <field name="urlPattern" type="java.lang.String"
> required="true">
> > <bind-xml name="url-pattern" node="element"/>
> > </field>
> >
> > </class>
> >
> > <class
> >
> name="org.apache.pluto.portalImpl.om.servlet.impl.ServletDefinitionImp
> > l">
> >
> > <field name="castorId" type="java.lang.String">
> >
> > <bind-xml name="id" node="attribute"/>
> > </field>
> >
> > <field name="servletName" type="java.lang.String"
> required="true">
> > <bind-xml name="servlet-name" node="element"/>
> > </field>
> > <field name="castorDisplayNames"
> >
> type="org.apache.pluto.portalImpl.om.common.impl.DisplayNameImpl"
> > collection="collection">
> > <bind-xml name="display-name" node="element"/>
> > </field>
> > <field name="castorDescriptions"
> >
> type="org.apache.pluto.portalImpl.om.common.impl.DescriptionImpl"
> > collection="collection">
> > <bind-xml name="description" node="element"/>
> > </field>
> > <field name="servletClass" type="java.lang.String">
> > <bind-xml name="servlet-class" node="element"/>
> > </field>
> > <field name="castorInitParams"
> >
> type="org.apache.pluto.portalImpl.om.common.impl.ParameterImpl"
> > collection="collection">
> > <bind-xml name="init-param" node="element"/>
> > </field>
> >
> > <!-- only for completion, not used in class file -->
> > <field name="icon" transient="true" direct="true">
> > <bind-xml name="icon" node="element"/>
> > </field>
> > <field name="loadOnStartup" transient="true" direct="true">
> > <bind-xml name="load-on-startup" node="element"/>
> > </field>
> > <field name="jspFile" type="java.lang.String">
> > <bind-xml name="jsp-file" node="element"/>
> > </field>
> > <field name="castorInitSecurityRoleRefs"
> >
> type="org.apache.pluto.portalImpl.om.common.impl.SecurityRoleRefImpl"
> > collection="collection">
> > <bind-xml name="security-role-ref" node="element"/>
> > </field>
> >
> > </class>
> >
> > <class
> name="org.apache.pluto.portalImpl.om.servlet.impl.WebApplicati
> onDefinitionImpl">
> > <map-to xml="web-app"/>
> >
> > <field name="castorId" type="java.lang.String">
> > <bind-xml name="id" node="attribute"/>
> > </field>
> >
> > <field name="castorDisplayNames"
> >
> type="org.apache.pluto.portalImpl.om.common.impl.DisplayNameImpl"
> > collection="collection">
> > <bind-xml name="display-name" node="element"/>
> > </field>
> > <field name="castorDescriptions"
> >
> type="org.apache.pluto.portalImpl.om.common.impl.DescriptionImpl"
> > collection="collection">
> > <bind-xml name="description" node="element"/>
> > </field>
> > <field name="castorInitParams"
> >
> type="org.apache.pluto.portalImpl.om.common.impl.ParameterImpl"
> > collection="collection">
> > <bind-xml name="context-param" node="element"/>
> > </field>
> > <field name="castorServlets"
> >
> type="org.apache.pluto.portalImpl.om.servlet.impl.ServletDefin
> itionImpl"
> > collection="collection"
> > required="true">
> > <bind-xml name="servlet" node="element"/>
> > </field>
> > <field name="servletMappings"
> >
> type="org.apache.pluto.portalImpl.om.servlet.impl.ServletMappingImpl"
> > collection="collection"
> > required="true">
> > <bind-xml name="servlet-mapping" node="element"/>
> > </field>
> >
> > <field name="castorTagDefinitions"
> >
> type="org.apache.pluto.portalImpl.om.servlet.impl.TagDefinitionImpl"
> > collection="collection">
> > <bind-xml name="taglib" node="element" />
> > </field>
> >
> > <field name="castorResourceRefSet"
> >
> type="org.apache.pluto.portalImpl.om.servlet.impl.ResourceRef"
> > collection="collection">
> > <bind-xml name="resource-ref" node="element"/>
> > </field>
> >
> > <!-- only for completion, not used in class file -->
> > <field name="icon" transient="true" direct="true">
> > <bind-xml name="icon" node="element"/>
> > </field>
> > <field name="distributable" transient="true" direct="true">
> > <bind-xml name="distributable" node="element"/>
> > </field>
> > <field name="sessionConfig" transient="true" direct="true">
> > <bind-xml name="session-config" node="element"/>
> > </field>
> > <field name="castorMimeMappings"
> > transient="true"
> > required="false"
> >
> type="org.apache.pluto.portalImpl.om.servlet.impl.MimeTypeImpl"
> > collection="collection">
> > <bind-xml name="mime-mapping" node="element"/>
> > </field>
> > <field name="welcomeFileList" transient="true" direct="true">
> > <bind-xml name="welcome-file-list" node="element"/>
> > </field>
> > <field name="errorPage" transient="true" direct="true">
> > <bind-xml name="error-page" node="element"/>
> > </field>
> >
> > <field name="securityConstraints"
> > transient="true"
> > required="false"
> >
> type="org.apache.pluto.portalImpl.om.servlet.impl.SecurityCons
> traintImpl"
> > collection="collection">
> > <bind-xml name="security-constraint" node="element"/>
> > </field>
> >
> > <field name="loginConfig" transient="true" direct="true">
> > <bind-xml name="login-config" node="element"/>
> > </field>
> > <!--field name="securityRole" transient="false" direct="true">
> > <bind-xml name="security-role" node="element"/>
> > </field-->
> > <field name="securityRoles"
> > transient="false"
> >
> type="org.apache.pluto.portalImpl.om.common.impl.SecurityRoleImpl"
> > required="false"
> > collection="collection">
> > <bind-xml name="security-role" node="element"/>
> > </field>
> > <field name="envEntry" transient="true" direct="true">
> > <bind-xml name="env-entry" node="element"/>
> > </field>
> > <field name="ejbRef" transient="true" direct="true">
> > <bind-xml name="ejb-ref" node="element"/>
> > </field>
> > </class>
> >
> > </mapping>
> >
> >
> >
> ----------------------------------------------------------------------
> > --
> >
> > <?xml version="1.0"?>
> > <!--
> > Copyright 1999-2005 The Apache Software Foundation
> >
> > Licensed under the Apache License, Version 2.0 (the "License");
> > you may not use this file except in compliance with the License.
> > You may obtain a copy of the License at
> >
> > http://www.apache.org/licenses/LICENSE-2.0
> >
> > Unless required by applicable law or agreed to in
> writing, software
> > distributed under the License is distributed on an "AS IS" BASIS,
> > WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
> express or implied.
> > See the License for the specific language governing
> permissions and
> > limitations under the License.
> > -->
> > <!-- Build file for WSRP4J -->
> >
> > <project name="WSRP4J" default="usage" basedir=".">
> >
> > <taskdef resource="net/sf/antcontrib/antcontrib.properties">
> > <classpath>
> > <pathelement location="ant/lib/ant-contrib-0.6.jar" />
> > </classpath>
> > </taskdef>
> >
> > <!-- Give user a chance to override without editing this file
> > (and without typing -D each time they invoke a target) -->
> > <property file="${user.home}/ant.properties" />
> > <property file="ant.properties" />
> >
> > <property name="Name" value="WSRP4J"/>
> > <property name="wsrp4j-version" value="0.3"/>
> > <property name="project" value="wsrp4j"/>
> > <property name="webapp.name" value="wsrp"/>
> >
> > <property name="src.java.dir" value="../src"/>
> > <property name="build.dir" value="../bin"/>
> > <property name="build.dest" value="${build.dir}/classes"/>
> > <property name="build.lib.dest" value="${build.dir}/lib"/>
> > <property name="build.lib" value="../lib"/>
> > <property name="build.build_only.lib"
> value="../lib/build_only"/>
> > <property name="build.consumer.lib" value="../lib/consumer"/>
> > <property name="build.shared.lib" value="../lib/shared"/>
> > <property name="build.webapp.lib"
> > value="../provider/pluto/war/WEB-INF/lib"/>
> >
> > <property name="build.portlets.dir" value="../portlets"/>
> > <property name="build.proxyportlet.dest"
> > value="${build.portlets.dir}/proxyportlet"/>
> >
> > <property name="producer.war" value="../producer/war"/>
> > <property name="wsrp.xml" value="../producer/wsrp.xml"/>
> > <property name="pluto.war" value="../provider/pluto/war"/>
> >
> > <property name="client.dir" value="../SwingConsumer"/>
> > <property name="client.dir.classes"
> value="../SwingConsumer/classes"/>
> > <property name="client.dir.persistence"
> > value="../SwingConsumer/persistence"/>
> >
> > <property name="shared-classes.dir" value="../shared"/>
> >
> > <property name="javadoc.destdir" value="../docs/apidocs"/>
> >
> > <property name="final.server.name"
> value="${project}-producer-${wsrp4j-version}"/>
> > <property name="final.shared.name"
> value="${project}-shared-${wsrp4j-version}"/>
> > <property name="final.consumer.name"
> value="${project}-consumer-${wsrp4j-version}"/>
> > <property name="final.swing.name"
> value="${project}-swing-consumer-${wsrp4j-version}"/>
> > <property name="final.pluto.name"
> > value="${project}-pluto-provider-${wsrp4j-version}"/>
> >
> > <property name="final.driver.dir" value="../driver"/>
> > <property name="final.driver.client.dir"
> value="${final.driver.dir}/SwingConsumer"/>
> > <property name="final.driver.client.lib.dir"
> value="${final.driver.client.dir}/lib"/>
> > <property name="final.driver.client.classes.dir"
> value="${final.driver.client.dir}/classes"/>
> > <property name="final.driver.client.persistence.dir"
> > value="${final.driver.client.dir}/persistence"/>
> >
> > <property name="year" value="2003"/>
> > <property name="ant.home" value="."/>
> > <property name="debug" value="on"/>
> > <property name="optimize" value="off"/>
> > <property name="deprecation" value="off"/>
> >
> > <property name="docs.dest" value="../docs"/>
> > <property name="docs.src" value="../xdocs"/>
> >
> > <!-- Build classpath -->
> > <path id="classpath">
> > <fileset dir="ant/lib">
> > <include name="**/*.jar"/>
> > </fileset>
> > <fileset dir="${build.lib}">
> > <include name="**/*.jar"/>
> > </fileset>
> > <fileset dir="${pluto.war}/WEB-INF/lib">
> > <include name="**/*.jar"/>
> > </fileset>
> > </path>
> > <target name="compiler.classic" unless="eclipse.running">
> > <property name="build.compiler" value="classic"/>
> > </target>
> >
> > <target name="compiler.eclipse"
> depends="compiler.classic" if="eclipse.running">
> > <property name="build.compiler"
> value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
> > </target>
> >
> >
> > <!--
> ================================================================== -->
> > <!-- Prints useful build environment values
> -->
> > <!--
> ================================================================== -->
> > <target name="env" depends="compiler.eclipse">
> >
> > <echo message="build.compiler = ${build.compiler}"/>
> > <echo message="java.home = ${java.home}"/>
> > <echo message="user.home = ${user.home}"/>
> > <echo message="java.class.path = ${java.class.path}"/>
> > <echo message=""/>
> > </target>
> >
> > <target name="load-properties">
> > <property file="build.properties"/>
> > </target>
> >
> > <!--
> ================================================================== -->
> > <!-- Installs the pluto provider into Tomcat
> -->
> > <!--
> ================================================================== -->
> > <target name="install-provider-pluto"
> > description="Install the Pluto provider">
> >
> > <property file="build.properties"/>
> >
> > <antcall target="setup.tomcat"/>
> > <antcall target="uninstall"/>
> >
> > <echo/>
> > <echo message="Compiling Project..."/>
> > <antcall target="build"/>
> >
> > <echo/>
> > <echo message="Installing Pluto Provider..."/>
> > <antcall target="prepare-provider-pluto"/>
> > <replace
> file="${TOMCAT_HOME}/webapps/${webapp.name}/WEB-INF/classes/ws
> rp4j-logger.properties"
> > token="@HOME@"
> > value="${TOMCAT_HOME}"/>
> > <replace
> file="${TOMCAT_HOME}/webapps/${webapp.name}/WEB-INF/server-con
> fig.wsdd"
> > token="@HOME@"
> > value="${TOMCAT_HOME}"/>
> > <replace
> file="${TOMCAT_HOME}/webapps/${webapp.name}/WEB-INF/config/ser
> vices/ConfigService.properties"
> > token="@HTTPPORT@"
> > value="${TOMCAT_PORT}"/>
> > <antcall target="deploy_provider_pluto" />
> > <echo/>
> >
> > <echo message="Deploying portlets..."/>
> > <antcall target="undeploy_portlets"/>
> > <antcall target="deploy_portlets"/>
>
> > </target>
> >
> > <!--
> ================================================================== -->
> > <!-- Installs the Swing Consumer
> -->
> > <!--
> ================================================================== -->
> > <target name="install-swing-consumer"
> > description="Install the Swing Consumer">
> >
> > <echo/>
> > <echo message="Compiling Project..."/>
> > <antcall target="build"/>
> >
> > <echo/>
> > <echo message="Installing SwingConsumer..."/>
> > <antcall target="prepare-swing-consumer"/>
> > </target>
> >
> > <!--
> ================================================================== -->
> > <!-- Help on usage
> -->
> > <!--
> ================================================================== -->
> > <target name="usage" description="Show help">
> > <echo>
> > build -+
> > |
> > |- install-provider-pluto 'Install the Pluto Provider'
> > |- install-swing-consumer 'Install the Swing Consumer'
> > |
> > |- uninstall 'Uninstall wsrp producer'
> > </echo>
> > <echo message="Use -projecthelp to see all
> available targets."/>
> > </target>
> >
> > <target name="prepare">
> > <mkdir dir="${build.dir}"/>
> > <mkdir dir="${build.dest}"/>
> > <mkdir dir="${build.lib.dest}"/>
> > <mkdir dir="${final.driver.dir}"/>
> > <mkdir dir="${final.driver.client.dir}"/>
> > <mkdir dir="${final.driver.client.lib.dir}"/>
> > <mkdir dir="${final.driver.client.classes.dir}"/>
> > <mkdir dir="${final.driver.client.persistence.dir}"/>
> > </target>
> >
> > <!--
> ================================================================== -->
> > <!-- Compiles the source directory
> -->
> > <!--
> ================================================================== -->
> > <target name="compile"
> > depends="prepare,compiler.eclipse">
> > <javac srcdir="${src.java.dir}"
> > destdir="${build.dest}"
> > excludes="**/package.html"
> > debug="${debug}"
> > deprecation="${deprecation}"
> > optimize="${optimize}">
> > <classpath refid="classpath"/>
> > </javac>
> > </target>
> >
> > <!--
> ================================================================== -->
> > <!-- Creates a .jar files
> -->
> > <!--
> ================================================================== -->
> > <target name="build"
> > description="Incremental build of the project."
> > depends="compile">
> >
> > <!-- consumer -->
> > <jar
> jarfile="${build.lib.dest}/${final.consumer.name}.jar"
> compress="true">
> > <fileset dir="${build.dest}">
> > <include
> name="org/apache/wsrp4j/consumer/*"/>
> > <include
> name="org/apache/wsrp4j/consumer/driver/*"/>
> > <include
> name="org/apache/wsrp4j/consumer/util/*"/>
> > </fileset>
> > </jar>
> >
> > <!-- swing consumer -->
> > <jar
> jarfile="${build.lib.dest}/${final.swing.name}.jar" compress="true">
> > <fileset dir="${build.dest}">
>
> > <include name="org/apache/wsrp4j/consumer/app/**"/>
> > <include
> name="org/apache/wsrp4j/consumer/app/driver/**"/>
> > </fileset>
> > </jar>
> >
> > <!-- shared -->
>
> > <jar
> jarfile="${build.lib.dest}/${final.shared.name}.jar" compress="true">
> > <fileset dir="${build.dest}">
> > <include name="org/apache/wsrp4j/exception/**"/>
> > <include name="org/apache/wsrp4j/log/**"/>
> > <include name="org/apache/wsrp4j/util/**"/>
> > <include name="org/apache/wsrp4j/persistence/**"/>
> > <include
> name="org/apache/wsrp4j/persistence/driver/**"/>
> > <include name="oasis/**"/>
> > </fileset>
> >
> > <fileset dir="${src.java.dir}">
> > <include
> name="org/apache/wsrp4j/exception/messages.properties"/>
>
> > </fileset>
> > </jar>
> >
> > <!--producer-->
> > <jar
> jarfile="${build.lib.dest}/${final.server.name}.jar" compress="true">
> > <fileset dir="${build.dest}">
> > <include name="org/apache/wsrp4j/producer/*"/>
> > <include name="org/apache/wsrp4j/producer/util/*"/>
> > <include
> name="org/apache/wsrp4j/producer/driver/**"/>
> > <include
> name="org/apache/wsrp4j/producer/provider/*"/>
> > <include
> name="org/apache/wsrp4j/producer/provider/driver/**"/>
> > </fileset>
> > <fileset dir="${src.java.dir}">
> > <include name="**/*.properties"/>
> > <exclude name="**/messages.properties"/>
> > </fileset>
> > </jar>
> >
> > <!-- pluto provider -->
> > <jar
> jarfile="${build.lib.dest}/${final.pluto.name}.jar" compress="true">
> > <fileset dir="${build.dest}">
> > <include
> name="org/apache/wsrp4j/producer/provider/pluto/**"/>
> > </fileset>
> > </jar>
> > </target>
> >
> > <!--
> ================================================================== -->
> > <!-- prepares swing consumer by copying files
> -->
> > <!--
> ================================================================== -->
> > <target name="prepare-swing-consumer">
> >
> > <copy todir="${final.driver.client.dir}">
> > <fileset dir="${client.dir}">
> > <include name="**/*"/>
> > </fileset>
> > </copy>
> >
> > <copy todir="${final.driver.client.classes.dir}">
> > <fileset dir="${client.dir.classes}">
> > <include name="**/*"/>
> > </fileset>
> > </copy>
> >
> > <copy todir="${final.driver.client.lib.dir}">
> > <fileset dir="${build.lib.dest}">
> > <include name="${final.swing.name}.jar"/>
> > <include name="${final.shared.name}.jar"/>
> > <include name="${final.consumer.name}.jar"/>
> > </fileset>
> > <fileset dir="${build.lib}">
> > <include name="log4j-1.2.8.jar"/>
> > <include name="axis-*.jar"/>
> > <include name="commons-discovery-0.2.jar"/>
>
> > <include name="castor-0.9.5.3.jar"/>
> > <include name="wsdl4j-1.5.1.jar"/>
> > </fileset>
> > <fileset dir="${build.consumer.lib}">
> > <include name="commons-logging-1.0.4.jar"/>
> > <include name="xml-apis-2.5.0.jar"/>
> > <include name="xercesImpl-2.5.0.jar"/>
> > </fileset>
> > </copy>
> >
> > <copy todir="${final.driver.client.persistence.dir}">
> > <fileset dir="${client.dir.persistence}">
> > <include name="**/*"/>
> > </fileset>
> > </copy>
> >
> > </target>
> >
> > <!--
> ================================================================== -->
> > <!-- copy producer files to tomcat
> -->
> > <!--
> ================================================================== -->
> > <target name="prepare-producer" depends="load-properties">
> >
> > <mkdir dir="${TOMCAT_HOME}/webapps/${webapp.name}"/>
> > <copy todir="${TOMCAT_HOME}/webapps/${webapp.name}">
> > <fileset dir="${producer.war}">
> > </fileset>
> > </copy>
> > <mkdir
> dir="${TOMCAT_HOME}/webapps/${webapp.name}/WEB-INF/lib"/>
> > <copy
> todir="${TOMCAT_HOME}/webapps/${webapp.name}/WEB-INF/lib">
> > <fileset dir="${build.lib}">
> > <include name="*.jar"/>
> > </fileset>
> > <fileset dir="${build.lib.dest}">
> > <include name="${final.server.name}.jar"/>
> > <include name="${final.shared.name}.jar"/>
> > </fileset>
> > </copy>
> > <antcall target="copy.wsrp.xml"></antcall>
> > </target>
> >
> > <target name="copy.wsrp.xml" depends="tomcat.major.check">
> > <antcall target="copy.wsrp.xml.4"></antcall>
> > <antcall target="copy.wsrp.xml.5"></antcall>
> > </target>
> >
> > <!-- for now we assume localhost as the configured host -->
> > <target name="copy.wsrp.xml.5" if="tomcat.major.5">
> > <echo message="Tomcat version 5 set"></echo>
> > <copy file="${wsrp.xml}"
> todir="${TOMCAT_HOME}/conf/Catalina/localhost" overwrite="true"/>
> > </target>
> >
> > <target name="copy.wsrp.xml.4" if="tomcat.major.4">
> > <echo message="Tomcat version 4 set"></echo>
> > <copy file="${wsrp.xml}"
> todir="${TOMCAT_HOME}/webapps" overwrite="true"/>
> > </target>
> >
> > <target name="tomcat.major.check">
> > <condition property="tomcat.major.4"><equals
> arg1="${tomcat.major.version}" arg2="4"/></condition>
> > <condition property="tomcat.major.5"><equals
> arg1="${tomcat.major.version}" arg2="5"/></condition>
> > </target>
> >
> > <!--
> ================================================================== -->
> > <!-- copy pluto provider files to tomcat
> -->
> > <!--
> ================================================================== -->
> > <target name="prepare-provider-pluto"
> > depends="prepare-producer">
> >
> > <copy todir="${TOMCAT_HOME}/webapps/${webapp.name}"
> overwrite="true">
> > <fileset dir="${pluto.war}">
> > </fileset>
> > </copy>
> > <copy todir="${TOMCAT_HOME}/shared/lib">
> > <fileset dir="${build.shared.lib}">
> > </fileset>
> > </copy>
> > <copy
> todir="${TOMCAT_HOME}/webapps/${webapp.name}/WEB-INF/lib">
> > <fileset dir="${build.lib.dest}">
> > <include name="${final.pluto.name}.jar"/>
> > </fileset>
> > </copy>
> >
> > <echo>
> >
> **********************************************************************
> > *********
> > Installation successfully finished
> >
> **************************************************************
> *****************
> > </echo>
> > </target>
> >
> > <!--
> ================================================================== -->
> > <!-- jars the source directory
> -->
> > <!--
> ================================================================== -->
> > <target name="jarsrc"
> > depends="prepare">
> >
> > <jar jarfile="${build.dir}/${final.name}.src.jar"
> > basedir="${src.java.dir}"
> > excludes="**/package.html"/>
> >
> > </target>
> >
> > <!--
> ================================================================== -->
> > <!-- builds the wsrp4j.war
> -->
> > <!--
> ================================================================== -->
> > <target name="war" depends="build">
> >
> > <jar jarfile="${final.driver.dir}/${final.driver.name}">
> > <!--fileset dir="${build.war}">
> > <exclude name="**/*.$$*"/>
> > </fileset-->
> > </jar>
> > </target>
> >
> > <!--
> ================================================================== -->
> > <!-- Creates the API documentation
> -->
> > <!--
> ================================================================== -->
> > <target name="javadocs"
> > depends="prepare"
> > description="Generate the WSRP4J API documentation.">
> >
> > <mkdir dir="${javadoc.destdir}"/>
> > <javadoc
> > sourcepath="${src.java.dir}"
> > packagenames="org.apache.wsrp4j.*"
> > destdir="${javadoc.destdir}"
> > author="true"
> > private="true"
> > version="true"
> > use="true"
> > windowtitle="${Name} ${wsrp4j-version} API"
> > doctitle="${Name} ${wsrp4j-version} API"
> > bottom="--"
> > >
> > <classpath refid="classpath"/>
> > </javadoc>
> > </target>
> >
> > <!--
> ================================================================== -->
> > <!-- Cleans up the build directory
> -->
> > <!--
> ================================================================== -->
> > <target name="clean" description="Clean build directories">
> > <delete dir="${build.dir}"/>
> > <delete dir="${final.driver.dir}"/>
> > </target>
> >
> > <!--
> ================================================================== -->
> > <!-- Cleans up the wsrp webapp in tomcat
> -->
> > <!--
> ================================================================== -->
> > <target name="uninstall"
> > description="Delete ${webapp.name} webapp.">
> > <delete dir="${TOMCAT_HOME}/webapps/${webapp.name}"/>
> > </target>
> >
> > <!--
> ================================================================== -->
> > <!-- Rebuild the whole project
> -->
> > <!--
> ================================================================== -->
> > <target name="rebuild" depends="clean,build"
> > description="Full build of the project"/>
> >
> > <!--
> ================================================================== -->
> > <!-- Prepare WSRP4J to run in Tomcat
> -->
> > <!--
> ================================================================== -->
> > <target name="setup.check1">
> > <available file="${TOMCAT_HOME}"
> property="tomcatDir.present"/>
> > </target>
> >
> > <target name="setup.check2" unless="tomcatDir.present">
> > <fail message="Could not locate tomcat at: ${TOMCAT_HOME}"/>
> > </target>
> >
> > <target name="setup.tomcat"
> > depends="setup.check1, setup.check2">
> > </target>
> >
> > <!--
> ==============================================================
> ===== -->
> > <!-- Build wsrp4j, portlets and JavaDoc
> -->
> > <!--
> ==============================================================
> ===== -->
> > <target name="all" depends="build, build_portlets"
> > description="Do everything: build code, portlets"
> > />
> >
> > <!--
> ================================================================== -->
> > <!-- Build all portlets
> -->
> > <!--
> >
> ================================================================== -->
> >
> > <target name="build_portlets" depends="proxyportlet.prepareWAR"
> > description="Build all portlets">
> >
> > <foreach target="BuildPortlet" param="basePortlet">
> > <path>
> > <fileset dir= "${build.portlets.dir}/build"
> > includes= "*.include"/>
> > </path>
> > </foreach>
> >
> > </target>
> >
> > <target name="BuildPortlet">
> > <basename property="filename"
> file="${basePortlet}" suffix=".include"/>
> > <ant antfile="${build.portlets.dir}/build/build.xml"
> > target="build"
> > dir="${build.portlets.dir}">
> > <property name="base.dir" value="../"/>
> > <property name="portlet.dir"
> value="${build.portlets.dir}/${filename}"/>
> > </ant>
> >
> > </target>
> >
> > <target name="clean_portlets" description="Clean all portlet
> > directories">
> >
> > <foreach target="CleanPortlet" param="basePortlet">
> > <path>
> > <fileset dir= "${build.portlets.dir}/build"
> > includes= "*.include"/>
> > </path>
> > </foreach>
> >
> > </target>
> >
> > <target name="CleanPortlet">
> > <basename property="filename" file="${basePortlet}"
> > suffix=".include"/>
> >
> > <ant antfile="${build.portlets.dir}/build/build.xml"
> > target="clean"
> > dir="${build.portlets.dir}">
> > <property name="base.dir" value="../"/>
> > <property name="portlet.dir"
> value="${build.portlets.dir}/${filename}"/>
> > </ant>
> >
> > </target>
> >
> > <!--
> ================================================================== -->
> > <!-- Deploy all portlets
> -->
> > <!--
> >
> ================================================================== -->
> >
> > <target name="DeployPortlet"
> > depends="load-properties">
> >
> > <property file="build.properties"/>
> > <antcall target="DeployPortlet.intern"/>
> >
> > </target>
> >
> > <target name="deploy_portlets"
> > depends="load-properties, build_portlets"
> > description="Deploy all portlets">
> >
> > <foreach target="DeployPortlet.foreach"
> param="portletToDeploy">
> > <path>
> > <fileset dir="${build.portlets.dir}/build"
> > includes="*.include"/>
> > </path>
> > </foreach>
> >
> > <foreach target="DeployPortletWAR.foreach"
> param="portletToDeploy">
> > <path>
> > <fileset dir="${build.portlets.dir}"
> > includes="*.war"/>
> > </path>
> > </foreach>
> >
> > </target>
> >
> > <target name="DeployPortlet.foreach">
> > <basename property="filename" file="${portletToDeploy}"
> > suffix=".include"/>
> >
> > <antcall target="DeployPortlet.intern">
> > <param name="portletToDeploy" value="${filename}"/>
> > <param name="fullPathPortletToDeploy"
> value="${build.portlets.dir}/${filename}/driver/${filename}.war"/>
> > </antcall>
> >
> > </target>
> >
> > <target name="DeployPortletWAR.foreach">
> > <basename property="filename" file="${portletToDeploy}"
> > suffix=".include"/>
> >
> > <antcall target="DeployPortlet.intern">
> > <param name="portletToDeploy" value="${filename}"/>
> > <param name="fullPathPortletToDeploy"
> value="${filename}/${filename}.war"/>
> > </antcall>
> >
> > </target>
> >
> > <target name="DeployPortlet.intern"
> depends="set.target.tomcat, set.target.webapp">
> > <java classname="org.apache.pluto.portalImpl.Deploy"
> > fork="true">
> >
> > <arg value="${target.tomcat.home}/webapps"/>
> > <arg value="${target.webapp}"/>
> > <arg value="${fullPathPortletToDeploy}"/>
> > <arg value="../provider/pluto"/> <!-- seems we
> don't need
> > this at all -->
> >
> > <classpath>
> > <pathelement path="${classpath}/"/>
> > <fileset dir="${build.build_only.lib}">
> > <include name="*.jar"/>
> > </fileset>
> > <fileset dir="${build.consumer.lib}">
> > <include name="*.jar"/>
> > </fileset>
> > <fileset dir="${build.shared.lib}">
> > <include name="*.jar"/>
> > </fileset>
> > <fileset dir="${build.webapp.lib}">
> > <include name="*.jar"/>
> > </fileset>
> > <fileset dir="${build.lib}">
> > <include name="*.jar"/>
> > </fileset>
> > </classpath>
> > </java>
> >
> > <condition property="is.proxyportlet">
> > <equals arg1="${portletToDeploy}"
> arg2="proxyportlet"/>
> > </condition>
> >
> > <antcall target="proxyportlet.set.logger"
> inheritall="true">
> > </antcall>
> >
> > </target>
> >
> > <!-- for now hardcode proxyportlet web app dir, need to
> refine that -->
> > <target name="proxyportlet.set.logger" if="is.proxyportlet">
> > <replace
> file="${target.tomcat.home}/webapps/proxyportlet/WEB-INF/class
> es/wsrp4j-logger.properties"
> > token="@HOME@"
> > value="${target.tomcat.home}"
> > />
> > </target>
> >
> > <!--
> ================================================================== -->
> > <!-- Undeploy all portlets
> -->
> > <!--
> >
> ================================================================== -->
> >
> > <target name="undeploy_portlets" depends="load-properties"
> > description="Undeploy all portlets">
> >
> > <foreach target="UnDeployPortlet.foreach"
> param="portletToUnDeploy">
> > <path>
> > <fileset dir= "${build.portlets.dir}/build"
> > includes= "*.include"/>
> > </path>
> > </foreach>
> >
> > <foreach target="UnDeployPortlet.foreach"
> param="portletToUnDeploy">
> > <path>
> > <fileset dir="${build.portlets.dir}"
> > includes="*.war"/>
> > </path>
> > </foreach>
> >
> > </target>
> >
> > <target name="UnDeployPortlet.foreach"
> depends="set.target.tomcat">
> > <basename property="filename"
> file="${portletToUnDeploy}" suffix=".include"/>
> > <delete dir="${target.tomcat.home}/webapps/${filename}"/>
> > </target>
> >
> > <!--
> ================================================================== -->
> > <!-- copy jars to proxyportlet
> -->
> > <!--
> ================================================================== -->
> > <target name="proxyportlet.prepareWAR" depends="build">
> > <copy
> toDir="${build.proxyportlet.dest}/war/WEB-INF/lib">
> > <fileset dir="${build.lib.dest}">
> > <include
> name="${final.consumer.name}.jar"/>
> > </fileset>
> > <fileset dir="${build.lib.dest}">
> > <include
> name="${final.shared.name}.jar"/>
> > </fileset>
> > <fileset dir="${build.lib}">
> > <include name="axis-*.jar"/>
> > </fileset>
> > <fileset dir="${build.lib}">
> > <include name="commons-discovery-0.2.jar"/>
> > </fileset>
> > <fileset dir="${build.lib}">
> > <include name="log4j-1.2.8.jar"/>
> > </fileset>
> > <fileset dir="${build.lib}">
> > <include name="castor-0.9.4.1-xml.jar"/>
> > </fileset>
> > <fileset dir="${build.lib}">
> > <include name="wsdl4j-1.5.1.jar"/>
> > </fileset>
> > </copy>
> > </target>
> >
> > <target name="set.target.tomcat">
> > <property
> > file="${build.portlets.dir}/${portletToDeploy}/build.properties"/>
> >
> > <condition property="target.tomcat.home"
> value="${TARGET_TOMCAT_HOME}">
> > <isset property="TARGET_TOMCAT_HOME"/>
> > </condition>
> >
> > <condition property="target.tomcat.home"
> value="${TOMCAT_HOME}">
> > <not><isset
> property="TARGET_TOMCAT_HOME"/></not>
> > </condition>
> > </target>
> >
> > <target name="set.target.webapp">
> > <property
> > file="${build.portlets.dir}/${portletToDeploy}/build.properties"/>
> >
> > <condition property="target.webapp"
> value="${TARGET_WEBAPP_NAME}">
> > <isset property="TARGET_WEBAPP_NAME"/>
> > </condition>
> >
> > <condition property="target.webapp"
> value="${webapp.name}">
> > <not><isset
> property="TARGET_WEBAPP_NAME"/></not>
> > </condition>
> > </target>
> >
> > <target name="deploy_provider_pluto">
> > <echo>Deploying Pluto ...</echo>
> > <mkdir dir="${TOMCAT_HOME}/webapps/pluto"/>
> > <copy toDir="${TOMCAT_HOME}/webapps/pluto">
> > <fileset dir="${pluto.war}" />
> > </copy>
> > <echo>Finished!</echo>
> > </target>
> > </project>
> >
> >
> >
> ----------------------------------------------------------------------
> > --
> >
> > <?xml version="1.0" encoding="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>wsrptest</display-name>
> > <description>Automated generated Application
> Wrapper</description>
> > <servlet>
> > <servlet-name>WSRPTestPortlet</servlet-name>
> > <display-name>WSRPTestPortlet Wrapper</display-name>
> > <description>Automated generated Portlet
> Wrapper</description>
> >
> <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
> > <init-param>
> > <param-name>portlet-class</param-name>
> >
> <param-value>org.apache.wsrp4j.testportlet.TestPortlet</param-value>
> > </init-param>
> > <init-param>
> > <param-name>portlet-guid</param-name>
> > <param-value>wsrptest.WSRPTestPortlet</param-value>
> > </init-param>
> > </servlet>
> > <servlet-mapping>
> > <servlet-name>WSRPTestPortlet</servlet-name>
> > <url-pattern>/WSRPTestPortlet/*</url-pattern>
> > </servlet-mapping>
> > <taglib>
> > <taglib-uri>http://java.sun.com/portlet</taglib-uri>
> > <taglib-location>/WEB-INF/tld/portlet.tld</taglib-location>
> > </taglib>
> > </web-app>
>
> --
> Julie MacNaught
> IBM Research
> jmacna@apache.org
> jmacna@us.ibm.com
> DADB E3B5 8CB7 6B9B F4A0 8BF7 E830 1848 16A8 D3AB
>
>