You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wsrf-dev@ws.apache.org by ip...@apache.org on 2004/12/15 20:31:19 UTC

svn commit: r112009 - in incubator/apollo/trunk/src/site/content: tutorial tutorial/requests tutorial/src tutorial/src/example tutorial/src/example/filesystem tutorial/src/example/filesystem/backend tutorial/src/example/filesystem/callback xdocs/tutorial

Author: ips
Date: Wed Dec 15 11:31:17 2004
New Revision: 112009

URL: http://svn.apache.org/viewcvs?view=rev&rev=112009
Log:
moved here from examples dir

Added:
   incubator/apollo/trunk/src/site/content/tutorial/
   incubator/apollo/trunk/src/site/content/tutorial/FileSystem.wsdl
   incubator/apollo/trunk/src/site/content/tutorial/build.properties
   incubator/apollo/trunk/src/site/content/tutorial/build.xml
   incubator/apollo/trunk/src/site/content/tutorial/requests/
   incubator/apollo/trunk/src/site/content/tutorial/requests/Destroy.soap
   incubator/apollo/trunk/src/site/content/tutorial/requests/GetMultipleResourceProperties.soap
   incubator/apollo/trunk/src/site/content/tutorial/requests/GetResourceProperty_invalidProp.soap
   incubator/apollo/trunk/src/site/content/tutorial/requests/GetResourceProperty_validProp.soap
   incubator/apollo/trunk/src/site/content/tutorial/requests/QueryResourceProperties_allProps.soap
   incubator/apollo/trunk/src/site/content/tutorial/requests/QueryResourceProperties_oneProp.soap
   incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_deleteCommentProp.soap
   incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_insertCommentProp.soap
   incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_updateBackupFreqProp.soap
   incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_updateCommentProp.soap
   incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_updateFsckPassNumProp.soap
   incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_updateMountPointProp.soap
   incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_updateOptionsProp.soap
   incubator/apollo/trunk/src/site/content/tutorial/requests/SetTerminationTime.soap
   incubator/apollo/trunk/src/site/content/tutorial/requests/_TEMPLATE.soap
   incubator/apollo/trunk/src/site/content/tutorial/soapclient.xml
   incubator/apollo/trunk/src/site/content/tutorial/src/
   incubator/apollo/trunk/src/site/content/tutorial/src/example/
   incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/
   incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/AbstractFileSystemService.java
   incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/CustomSoapMethodNameMap.java
   incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/FileSystemCustomOperationsPortType.java
   incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/FileSystemHome.java
   incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/FileSystemPropertyQNames.java
   incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/FileSystemResource.java
   incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/FileSystemService.java
   incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/backend/
   incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/backend/FileSystem.java
   incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/backend/UnixFileSystem.java
   incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/callback/
   incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/callback/BackupFrequencyCallback.java
   incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/callback/CommentCallback.java
   incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/callback/FsckPassNumberCallback.java
   incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/callback/MountPointCallback.java
   incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/callback/OptionsCallback.java
   incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/deploy.wsdd
Modified:
   incubator/apollo/trunk/src/site/content/xdocs/tutorial/index.xml

Added: incubator/apollo/trunk/src/site/content/tutorial/FileSystem.wsdl
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/FileSystem.wsdl?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/FileSystem.wsdl	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,345 @@
+<?xml version="1.0"?>
+
+<definitions name="FileSystemResourceDefinition"
+   targetNamespace="http://ws.apache.org/resource/example/filesystem"
+   xmlns="http://schemas.xmlsoap.org/wsdl/"
+   xmlns:tns="http://ws.apache.org/resource/example/filesystem"
+   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+   xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+   xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd"
+   xmlns:wsrpw="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl"
+   xmlns:wsrlw="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.wsdl">
+
+   <import namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.wsdl"
+      location="../spec/wsrf/WS-ResourceProperties-1_2.wsdl"/>
+
+   <import namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.wsdl"
+      location="../spec/wsrf/WS-ResourceLifetime-1_2.wsdl"/>
+
+   <types>
+      <schema elementFormDefault="qualified"
+         targetNamespace="http://ws.apache.org/resource/example/filesystem"
+         xmlns="http://www.w3.org/2001/XMLSchema"
+         xmlns:wsrl="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd"
+         xmlns:wsbf="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2-draft-01.xsd">
+
+         <import namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-BaseFaults-1.2-draft-01.xsd"
+                 schemaLocation="../spec/wsrf/WS-BaseFaults-1_2.xsd"/>
+
+         <import namespace="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd"
+                 schemaLocation="../spec/wsrf/WS-ResourceLifetime-1_2.xsd"/>
+
+         <element name="DeviceSpecialFile" type="xsd:string"/>
+         <element name="MountPointDirectory" type="xsd:string"/>
+         <element name="Type" type="xsd:string"/>
+         <element name="Options">
+            <complexType>
+               <sequence>
+                  <element name="Option" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
+               </sequence>
+            </complexType>
+         </element>
+         <element name="BackupFrequency" type="xsd:int"/>
+         <element name="FsckPassNumber" type="xsd:int"/>
+         <element name="Comment" type="xsd:string"/>
+      
+         <!-- Resource Properties Document Schema -->
+         <element name="FileSystemProperties">
+            <complexType>
+               <sequence>
+                  <!-- props for wsrl:ScheduledResourceTermination portType -->
+                  <element ref="wsrl:CurrentTime"/>
+                  <element ref="wsrl:TerminationTime"/>
+
+                  <!-- props for tns:FileSystemPortType portType -->
+                  <element ref="tns:DeviceSpecialFile"/>
+                  <element ref="tns:MountPointDirectory"/>
+                  <element ref="tns:Type"/>
+                  <element ref="tns:Options"/>
+                  <element ref="tns:BackupFrequency"/>
+                  <element ref="tns:FsckPassNumber"/>
+                  <element ref="tns:Comment" minOccurs="0"/>
+               </sequence>
+            </complexType>
+         </element>
+
+         <!-- ====== Message Types for Custom Operations  ======= -->
+
+         <element name="Mount">
+            <complexType />
+         </element>
+
+         <element name="MountResponse">
+            <complexType />
+         </element>
+
+         <element name="Unmount">
+            <complexType />
+         </element>
+
+         <element name="UnmountResponse">
+            <complexType />
+         </element>
+         
+         <element name="MountDeviceBusyFault">
+            <complexType>
+	       <complexContent>
+	          <extension base="wsbf:BaseFaultType" />
+	       </complexContent>
+            </complexType>
+         </element>
+         
+      </schema>
+   </types>
+
+   <!-- ============= Message Definitions for Custom Operations ============= -->   
+   <message name="MountRequest">
+      <part name="MountRequest" element="tns:Mount"/>
+   </message>
+
+   <message name="MountResponse">
+      <part name="MountResponse" element="tns:MountResponse"/>
+   </message>
+
+   <message name="UnmountRequest">
+      <part name="UnmountRequest" element="tns:Unmount"/>
+   </message>
+
+   <message name="UnmountResponse">
+      <part name="UnmountResponse" element="tns:UnmountResponse"/>
+   </message>
+
+   <message name="MountDeviceBusyFault">
+      <part name="MountDeviceBusyFault" element="tns:MountDeviceBusyFault"/>
+   </message>
+   
+   <portType name="FileSystemPortType" wsrp:ResourceProperties="tns:FileSystemProperties">
+      
+      <!-- wsrp:* operations -->
+      <operation name="GetResourceProperty">
+         <input name="GetResourcePropertyRequest" message="wsrpw:GetResourcePropertyRequest"/>
+         <output name="GetResourcePropertyResponse" message="wsrpw:GetResourcePropertyResponse"/>
+         <fault name="ResourceUnknownFault" message="wsrpw:ResourceUnknownFault"/>
+         <fault name="InvalidResourcePropertyQNameFault" message="wsrpw:InvalidResourcePropertyQNameFault"/>
+      </operation>
+
+      <operation name="GetMultipleResourceProperties">
+         <input name="GetMultipleResourcePropertiesRequest" message="wsrpw:GetMultipleResourcePropertiesRequest"/>
+         <output name="GetMultipleResourcePropertiesResponse" message="wsrpw:GetMultipleResourcePropertiesResponse"/>
+         <fault name="ResourceUnknownFault" message="wsrpw:ResourceUnknownFault"/>
+         <fault name="InvalidResourcePropertyQNameFault" message="wsrpw:InvalidResourcePropertyQNameFault"/>
+      </operation>
+
+      <operation name="SetResourceProperties">
+         <input name="SetResourcePropertiesRequest" message="wsrpw:SetResourcePropertiesRequest"/>
+         <output name="SetResourcePropertiesResponse" message="wsrpw:SetResourcePropertiesResponse"/>
+         <fault name="ResourceUnknownFault" message="wsrpw:ResourceUnknownFault"/>
+         <fault name="InvalidResourcePropertyQNameFault" message="wsrpw:InvalidResourcePropertyQNameFault"/>
+         <fault name="InvalidSetResourcePropertiesRequestContentFault" message="wsrpw:InvalidSetResourcePropertiesRequestContentFault"/>
+         <fault name="UnableToModifyResourcePropertyFault" message="wsrpw:UnableToModifyResourcePropertyFault"/>
+         <fault name="SetResourcePropertyRequestFailedFault" message="wsrpw:SetResourcePropertyRequestFailedFault"/>
+      </operation>
+
+      <operation name="QueryResourceProperties">
+         <input name="QueryResourcePropertiesRequest" message="wsrpw:QueryResourcePropertiesRequest"/>
+         <output name="QueryResourcePropertiesResponse" message="wsrpw:QueryResourcePropertiesResponse"/>
+         <fault name="ResourceUnknownFault" message="wsrpw:ResourceUnknownFault"/>
+         <fault name="InvalidResourcePropertyQNameFault" message="wsrpw:InvalidResourcePropertyQNameFault"/>
+         <fault name="UnknownQueryExpressionDialectFault" message="wsrpw:UnknownQueryExpressionDialectFault"/>
+         <fault name="InvalidQueryExpressionFault" message="wsrpw:InvalidQueryExpressionFault"/>
+         <fault name="QueryEvaluationErrorFault" message="wsrpw:QueryEvaluationErrorFault"/>
+      </operation>
+      
+      <!-- wsrl:ImmediateResourceTermination operation -->
+      <operation name="Destroy">
+         <input message="wsrlw:DestroyRequest"/>
+         <output message="wsrlw:DestroyResponse"/>
+         <fault name="ResourceUnknownFault" message="wsrlw:ResourceUnknownFault"/>
+         <fault name="ResourceNotDestroyedFault" message="wsrlw:ResourceNotDestroyedFault"/>
+      </operation>
+      
+      <!-- wsrl:ScheduledResourceTermination operation -->
+      <operation name="SetTerminationTime">
+         <input message="wsrlw:SetTerminationTimeRequest"/>
+         <output message="wsrlw:SetTerminationTimeResponse"/>
+         <fault name="ResourceUnknownFault" message="wsrlw:ResourceUnknownFault"/>
+         <fault name="UnableToSetTerminationTimeFault" message="wsrlw:UnableToSetTerminationTimeFault"/>
+         <fault name="TerminationTimeChangeRejectedFault" message="wsrlw:TerminationTimeChangeRejectedFault"/>
+      </operation>
+      
+      <!-- custom operations -->
+      <operation name="Mount">
+         <input  name="MountRequest"         message="tns:MountRequest" />
+         <output name="MountResponse"        message="tns:MountResponse" />
+         <fault  name="MountDeviceBusyFault" message="tns:MountDeviceBusyFault" />
+      </operation>      
+
+      <operation name="Unmount">
+         <input  name="UnmountRequest"       message="tns:UnmountRequest" />
+         <output name="UnmountResponse"      message="tns:UnmountResponse" />
+         <fault  name="MountDeviceBusyFault" message="tns:MountDeviceBusyFault" />
+      </operation>            
+
+   </portType>
+
+   <binding name="FileSystemSoapHttpBinding" type="tns:FileSystemPortType">
+
+      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+   
+      <!-- wsrp:* operations -->
+      <operation name="GetResourceProperty">
+         <soap:operation style="document"/>
+         <input>
+            <soap:body use="literal"/>
+         </input>
+         <output>
+            <soap:body use="literal"/>
+         </output>
+         <fault name="ResourceUnknownFault">
+            <soap:fault name="ResourceUnknownFault" use="literal"/>
+         </fault>
+         <fault name="InvalidResourcePropertyQNameFault">
+            <soap:fault name="InvalidResourcePropertyQNameFault" use="literal"/>
+         </fault>
+      </operation>
+
+      <operation name="GetMultipleResourceProperties">
+         <soap:operation style="document"/>
+         <input>
+            <soap:body use="literal"/>
+         </input>
+         <output>
+            <soap:body use="literal"/>
+         </output>
+         <fault name="ResourceUnknownFault">
+            <soap:fault name="ResourceUnknownFault" use="literal"/>
+         </fault>
+         <fault name="InvalidResourcePropertyQNameFault">
+            <soap:fault name="InvalidResourcePropertyQNameFault" use="literal"/>
+         </fault>
+      </operation>
+
+      <operation name="SetResourceProperties">
+         <soap:operation style="document"/>
+         <input>
+            <soap:body use="literal"/>
+         </input>
+         <output>
+            <soap:body use="literal"/>
+         </output>
+         <fault name="ResourceUnknownFault">
+            <soap:fault name="ResourceUnknownFault" use="literal"/>
+         </fault>
+         <fault name="InvalidResourcePropertyQNameFault">
+            <soap:fault name="InvalidResourcePropertyQNameFault" use="literal"/>
+         </fault>
+         <fault name="UnableToModifyResourcePropertyFault">
+            <soap:fault name="UnableToModifyResourcePropertyFault" use="literal"/>
+         </fault>
+         <fault name="InvalidSetResourcePropertiesRequestContentFault">
+            <soap:fault name="InvalidSetResourcePropertiesRequestContentFault" use="literal"/>
+         </fault>
+         <fault name="SetResourcePropertyRequestFailedFault">
+            <soap:fault name="SetResourcePropertyRequestFailedFault" use="literal"/>
+         </fault>
+      </operation>
+
+      <operation name="QueryResourceProperties">
+         <soap:operation style="document"/>
+         <input>
+            <soap:body use="literal"/>
+         </input>
+         <output>
+            <soap:body use="literal"/>
+         </output>
+         <fault name="ResourceUnknownFault">
+            <soap:fault name="ResourceUnknownFault" use="literal"/>
+         </fault>
+         <fault name="InvalidResourcePropertyQNameFault">
+            <soap:fault name="InvalidResourcePropertyQNameFault" use="literal"/>
+         </fault>
+         <fault name="UnknownQueryExpressionDialectFault">
+            <soap:fault name="UnknownQueryExpressionDialectFault" use="literal"/>
+         </fault>
+         <fault name="InvalidQueryExpressionFault">
+            <soap:fault name="InvalidQueryExpressionFault" use="literal"/>
+         </fault>
+         <fault name="QueryEvaluationErrorFault">
+            <soap:fault name="QueryEvaluationErrorFault" use="literal"/>
+         </fault>
+      </operation>
+      
+      <!-- wsrl:ImmediateResourceTermination operation -->
+      <operation name="Destroy">
+         <soap:operation style="document"/>
+         <input>
+            <soap:body use="literal"/>
+         </input>
+         <output>
+            <soap:body use="literal"/>
+         </output>
+         <fault name="ResourceUnknownFault">
+            <soap:fault name="ResourceUnknownFault" use="literal"/>
+         </fault>
+         <fault name="ResourceNotDestroyedFault">
+            <soap:fault name="ResourceNotDestroyedFault" use="literal"/>
+         </fault>
+      </operation>            
+    
+      <!-- wsrl:ScheduledResourceTermination operation -->
+      <operation name="SetTerminationTime">
+         <soap:operation style="document"/>
+         <input>
+            <soap:body use="literal"/>
+         </input>
+         <output>
+            <soap:body use="literal"/>
+         </output>
+         <fault name="ResourceUnknownFault">
+            <soap:fault name="ResourceUnknownFault" use="literal"/>
+         </fault>
+         <fault name="UnableToSetTerminationTimeFault">
+            <soap:fault name="UnableToSetTerminationTimeFault" use="literal"/>
+         </fault>
+         <fault name="TerminationTimeChangeRejectedFault">
+            <soap:fault name="TerminationTimeChangeRejectedFault" use="literal"/>
+         </fault>
+      </operation>
+
+      <!-- custom operations -->
+      <operation name="Mount">
+         <soap:operation style="document"/>
+         <input>
+            <soap:body use="literal"/>
+         </input>
+         <output>
+            <soap:body use="literal"/>
+         </output>
+         <fault name="MountDeviceBusyFault">
+            <soap:fault name="MountDeviceBusyFault" use="literal"/>
+         </fault>
+      </operation>
+
+      <operation name="Unmount">
+         <soap:operation style="document"/>
+         <input>
+            <soap:body use="literal"/>
+         </input>
+         <output>
+            <soap:body use="literal"/>
+         </output>
+         <fault name="MountDeviceBusyFault">
+            <soap:fault name="MountDeviceBusyFault" use="literal"/>
+         </fault>
+      </operation>
+
+   </binding>
+
+   <service name="FileSystemService">
+      <!-- Note: the port name becomes the service name in the wsdd generated by Axis Wsdl2Java -->
+      <port name="filesystem" binding="tns:FileSystemSoapHttpBinding">
+         <soap:address location="http://localhost:8080/wsrf/services/filesystem"/>
+      </port>
+   </service>
+
+</definitions>

Added: incubator/apollo/trunk/src/site/content/tutorial/build.properties
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/build.properties?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/build.properties	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,11 @@
+base.url=http://localhost:8080/wsrf/services
+
+# Uncomment and modify the below lines if you would like to deploy to a
+# wsrf webapp located somewhere other than the default location of
+# ../webapps/wsrf (e.g. ${env.CATALINA_HOME}/webapps/wsrf)
+#wsrf.webapp.dir=${env.CATALINA_HOME}/webapps/wsrf
+
+# Uncomment and modify the below lines if you require a proxy to connect to external web sites
+#http.proxyHost=proxy.xyz.com
+#http.proxyPort=8088
+#http.nonProxyHosts=localhost 

Added: incubator/apollo/trunk/src/site/content/tutorial/build.xml
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/build.xml?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/build.xml	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,124 @@
+<?xml version="1.0"?>
+
+<project name="filesystem_example" default="usage" basedir=".">
+
+   <property environment="env" />   
+   <property file="build.properties" />
+   <property file="../build.properties" />
+
+   <!-- workaround for those IDEs that dont set ant.home as per the ant script -->
+   <property name="ant.home" value="env.ANT_HOME"/>
+
+   <property name="apollo.home"            location="../.." />
+   <property name="generated.src.dir"     location="build/src"/>
+   <property name="classes.dir"           location="build/classes"/>
+   <property name="src.dir"               location="src" />
+   <property name="filesystem.wsdl"       location="FileSystem.wsdl" />
+   <property name="url"                   value="${base.url}/filesystem" />
+   <property name="xml.basedir"           location="${basedir}" />
+
+   <target name="init">
+     
+     <available file="${apollo.home}/webapps/wsrf" type="dir" property="internal.wsrf.webapp.dir" value="${apollo.home}/webapps/wsrf" />
+     <available file="${apollo.home}/target/wsrf" type="dir" property="dist.wsrf.webapp.dir" value="${apollo.home}/target/wsrf" />         
+     <condition property="wsrf.webapp.dir" value="${internal.wsrf.webapp.dir}">
+        <isset property="internal.wsrf.webapp.dir"/>
+     </condition>
+     <condition property="wsrf.webapp.dir" value="${dist.wsrf.webapp.dir}">
+        <isset property="dist.wsrf.webapp.dir"/>
+     </condition>
+     
+     <fail unless="wsrf.webapp.dir" message="webapp dir ${apollo.home}/webapps/wsrf does not exist." />    
+     <echo>Using webapp dir: ${wsrf.webapp.dir}</echo>    
+    
+     <path id="apollo.classpath.id">
+       <pathelement location="${wsrf.webapp.dir}/WEB-INF/classes" />
+       <fileset dir="${wsrf.webapp.dir}/WEB-INF/lib" includes="*.jar" />
+       <pathelement location="${activation.jar}" />
+       <pathelement location="${mail.jar}" />
+     </path>
+     <property name="apollo.classpath" refid="apollo.classpath.id" />
+   
+   </target>
+
+   <target name="generate"
+           depends="init"
+           description="generate Axis service classes and XMLBeans types for the filesystem WSDL">      
+     
+     <property name="tmp.dir" location="${wsrf.webapp.dir}/_tmp_" />
+     <mkdir dir="${tmp.dir}" />
+     <copy file="${filesystem.wsdl}" todir="${tmp.dir}" overwrite="true" />
+     <taskdef name="wsdl2Java" classname="org.apache.ws.resource.Wsdl2JavaTask" classpath="${apollo.classpath}" />              
+     <wsdl2Java wsdl="${tmp.dir}/filesystem.wsdl"
+                srcOutputDir="${generated.src.dir}"
+                classesOutputDir="${classes.dir}"  
+                classpath="${apollo.classpath}"
+                debug="off"
+                proxyHost="${http.proxyHost}"
+                proxyPort="${http.proxyPort}"
+                nonProxyHosts="${http.nonProxyHosts}" /> 
+     <delete dir="${tmp.dir}" />
+               
+   </target>
+
+   <target name="compile"
+           depends="init"
+           description="compile all classes below generated/classes directory">         
+      <javac srcdir="${generated.src.dir}"
+             destdir="${classes.dir}"           
+             classpathref="apollo.classpath.id"
+             debug="on" />
+      <javac srcdir="${src.dir}"
+             destdir="${classes.dir}"           
+             classpathref="apollo.classpath.id"
+             debug="on" />         
+      <copy todir="${classes.dir}">
+         <fileset dir="${src.dir}" excludes="**/*.java,**/package.html" />
+      </copy>
+   </target>
+           
+   <target name="deploy"
+           depends="init"
+           description="deploys the filesystem service to the wsrf webapp">
+          
+       <copy file="${filesystem.wsdl}" todir="${wsrf.webapp.dir}/WEB-INF/classes/wsdl" overwrite="true" verbose="true" />
+       <echo>Deploying filesystem service classes to ${wsrf.webapp.dir}/WEB-INF/classes/...</echo>
+       <copy todir="${wsrf.webapp.dir}/WEB-INF/classes">
+         <fileset dir="${classes.dir}" />        
+       </copy>
+
+       <!-- TODO: update server-config.wsdd using WsddUpdater -->
+       
+   </target>
+      
+   <target name="run"
+           depends="init, compile, deploy"
+           description="run a client test of the filesystem service">      
+   
+     <property name="xml" location="requests/GetResourceProperty_validProp.soap" />
+     <antcall target="sendRequest" />
+   
+   </target>
+
+   <target name="sendRequest"
+           description="sends a request to the filesystem service">      
+        
+     <ant antfile="soapclient.xml">
+       <property name="url" value="${base.url}/filesystem" />
+     </ant>
+   
+   </target>
+   
+   <target name="clean" description="delete the generated source and class files">
+       <delete dir="generated" />
+   </target>
+   
+   <target name="usage">      
+      <java classname="org.apache.tools.ant.Main">
+         <arg value="-buildfile" />
+         <arg value="${ant.file}" />
+         <arg value="-projecthelp" />
+      </java>
+   </target>   
+
+</project>

Added: incubator/apollo/trunk/src/site/content/tutorial/requests/Destroy.soap
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/requests/Destroy.soap?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/requests/Destroy.soap	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,14 @@
+<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" 
+          xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+
+   <Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+      <wsa:To mustUnderstand="1">http://localhost:8080/wsrf/services/filesystem</wsa:To>
+      <wsa:Action mustUnderstand="1">http://ws.apache.org/resource/example/filesystem/FileSystemPortType/yourWsdlRequestName</wsa:Action>
+      <fs:ResourceId mustUnderstand="1">1234</fs:ResourceId>
+   </Header>
+
+   <Body>
+      <wsrl:Destroy xmlns:wsrl="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd" />
+   </Body>
+
+</Envelope>

Added: incubator/apollo/trunk/src/site/content/tutorial/requests/GetMultipleResourceProperties.soap
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/requests/GetMultipleResourceProperties.soap?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/requests/GetMultipleResourceProperties.soap	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,18 @@
+<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" 
+          xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+
+   <Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+      <wsa:To mustUnderstand="1">http://localhost:8080/wsrf/services/filesystem</wsa:To>
+      <wsa:Action mustUnderstand="1">http://ws.apache.org/resource/example/filesystem/FileSystemPortType/yourWsdlRequestName</wsa:Action>
+      <fs:ResourceId mustUnderstand="1">1234</fs:ResourceId>
+   </Header>
+
+   <Body>
+      <wsrp:GetMultipleResourceProperties xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd"
+                                          xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+         <wsrp:ResourceProperty>fs:MountPointDirectory</wsrp:ResourceProperty>
+         <wsrp:ResourceProperty>fs:Type</wsrp:ResourceProperty>
+      </wsrp:GetMultipleResourceProperties>
+   </Body>
+
+</Envelope>

Added: incubator/apollo/trunk/src/site/content/tutorial/requests/GetResourceProperty_invalidProp.soap
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/requests/GetResourceProperty_invalidProp.soap?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/requests/GetResourceProperty_invalidProp.soap	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,17 @@
+<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" 
+          xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+
+   <Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+      <wsa:To mustUnderstand="1">http://localhost:8080/wsrf/services/filesystem</wsa:To>
+      <wsa:Action mustUnderstand="1">http://ws.apache.org/resource/example/filesystem/FileSystemPortType/GetResourcePropertyRequest</wsa:Action>
+      <fs:ResourceId mustUnderstand="1">1234</fs:ResourceId>
+   </Header>
+
+   <Body>
+      <wsrp:GetResourceProperty xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd"
+                                xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+         fs:NanuNanu
+      </wsrp:GetResourceProperty>
+   </Body>
+
+</Envelope>

Added: incubator/apollo/trunk/src/site/content/tutorial/requests/GetResourceProperty_validProp.soap
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/requests/GetResourceProperty_validProp.soap?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/requests/GetResourceProperty_validProp.soap	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,17 @@
+<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" 
+          xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+
+   <Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+      <wsa:To mustUnderstand="1">http://localhost:8080/wsrf/services/filesystem</wsa:To>
+      <wsa:Action mustUnderstand="1">http://ws.apache.org/resource/example/filesystem/FileSystemPortType/GetResourcePropertyRequest</wsa:Action>
+      <fs:ResourceId mustUnderstand="1">1234</fs:ResourceId>
+   </Header>
+
+   <Body>
+      <wsrp:GetResourceProperty xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd"
+                                xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+         fs:Comment
+      </wsrp:GetResourceProperty>
+   </Body>
+
+</Envelope>

Added: incubator/apollo/trunk/src/site/content/tutorial/requests/QueryResourceProperties_allProps.soap
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/requests/QueryResourceProperties_allProps.soap?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/requests/QueryResourceProperties_allProps.soap	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,16 @@
+<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" 
+          xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+
+   <Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+      <wsa:To mustUnderstand="1">http://localhost:8080/wsrf/services/filesystem</wsa:To>
+      <wsa:Action mustUnderstand="1">http://ws.apache.org/resource/example/filesystem/FileSystemPortType/yourWsdlRequestName</wsa:Action>
+      <fs:ResourceId mustUnderstand="1">1234</fs:ResourceId>
+   </Header>
+
+   <Body>
+      <wsrp:QueryResourceProperties xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd">
+         <wsrp:QueryExpression Dialect="http://www.w3.org/TR/1999/REC-xpath-19991116">*</wsrp:QueryExpression>
+      </wsrp:QueryResourceProperties>
+   </Body>
+
+</Envelope>

Added: incubator/apollo/trunk/src/site/content/tutorial/requests/QueryResourceProperties_oneProp.soap
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/requests/QueryResourceProperties_oneProp.soap?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/requests/QueryResourceProperties_oneProp.soap	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,16 @@
+<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" 
+          xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+
+   <Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+      <wsa:To mustUnderstand="1">http://localhost:8080/wsrf/services/filesystem</wsa:To>
+      <wsa:Action mustUnderstand="1">http://ws.apache.org/resource/example/filesystem/FileSystemPortType/yourWsdlRequestName</wsa:Action>
+      <fs:ResourceId mustUnderstand="1">1234</fs:ResourceId>
+   </Header>
+
+   <Body>
+      <wsrp:QueryResourceProperties xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd">
+         <wsrp:QueryExpression Dialect="http://www.w3.org/TR/1999/REC-xpath-19991116">*[local-name()="Comment" and . = "set via wsrp:Update"]</wsrp:QueryExpression>
+      </wsrp:QueryResourceProperties>
+   </Body>
+
+</Envelope>

Added: incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_deleteCommentProp.soap
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_deleteCommentProp.soap?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_deleteCommentProp.soap	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,17 @@
+<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" 
+          xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+
+   <Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+      <wsa:To mustUnderstand="1">http://localhost:8080/wsrf/services/filesystem</wsa:To>
+      <wsa:Action mustUnderstand="1">http://ws.apache.org/resource/example/filesystem/FileSystemPortType/yourWsdlRequestName</wsa:Action>
+      <fs:ResourceId mustUnderstand="1">1234</fs:ResourceId>
+   </Header>
+
+   <Body>
+      <wsrp:SetResourceProperties xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd"
+                                  xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+         <wsrp:Delete ResourceProperty="fs:Comment" />
+      </wsrp:SetResourceProperties>
+   </Body>
+
+</Envelope>

Added: incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_insertCommentProp.soap
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_insertCommentProp.soap?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_insertCommentProp.soap	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,19 @@
+<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" 
+          xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+
+   <Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+      <wsa:To mustUnderstand="1">http://localhost:8080/wsrf/services/filesystem</wsa:To>
+      <wsa:Action mustUnderstand="1">http://ws.apache.org/resource/example/filesystem/FileSystemPortType/yourWsdlRequestName</wsa:Action>
+      <fs:ResourceId mustUnderstand="1">1234</fs:ResourceId>
+   </Header>
+
+   <Body>
+      <wsrp:SetResourceProperties xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd"
+                                  xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+         <wsrp:Insert>
+            <fs:Comment>set via wsrp:Insert</fs:Comment>
+         </wsrp:Insert>
+      </wsrp:SetResourceProperties>
+   </Body>
+
+</Envelope>

Added: incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_updateBackupFreqProp.soap
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_updateBackupFreqProp.soap?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_updateBackupFreqProp.soap	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,19 @@
+<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" 
+          xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+
+   <Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+      <wsa:To mustUnderstand="1">http://localhost:8080/wsrf/services/filesystem</wsa:To>
+      <wsa:Action mustUnderstand="1">http://ws.apache.org/resource/example/filesystem/FileSystemPortType/yourWsdlRequestName</wsa:Action>
+      <fs:ResourceId mustUnderstand="1">1234</fs:ResourceId>
+   </Header>
+
+   <Body>
+      <wsrp:SetResourceProperties xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd"
+                                  xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+         <wsrp:Update>
+            <fs:BackupFrequency>24</fs:BackupFrequency>
+         </wsrp:Update>
+      </wsrp:SetResourceProperties>
+   </Body>
+
+</Envelope>

Added: incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_updateCommentProp.soap
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_updateCommentProp.soap?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_updateCommentProp.soap	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,19 @@
+<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" 
+          xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+
+   <Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+      <wsa:To mustUnderstand="1">http://localhost:8080/wsrf/services/filesystem</wsa:To>
+      <wsa:Action mustUnderstand="1">http://ws.apache.org/resource/example/filesystem/FileSystemPortType/yourWsdlRequestName</wsa:Action>
+      <fs:ResourceId mustUnderstand="1">1234</fs:ResourceId>
+   </Header>
+
+   <Body>
+      <wsrp:SetResourceProperties xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd"
+                                  xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+         <wsrp:Update>
+            <fs:Comment>set via wsrp:Update</fs:Comment>
+         </wsrp:Update>
+      </wsrp:SetResourceProperties>
+   </Body>
+
+</Envelope>

Added: incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_updateFsckPassNumProp.soap
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_updateFsckPassNumProp.soap?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_updateFsckPassNumProp.soap	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,19 @@
+<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" 
+          xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+
+   <Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+      <wsa:To mustUnderstand="1">http://localhost:8080/wsrf/services/filesystem</wsa:To>
+      <wsa:Action mustUnderstand="1">http://ws.apache.org/resource/example/filesystem/FileSystemPortType/yourWsdlRequestName</wsa:Action>
+      <fs:ResourceId mustUnderstand="1">1234</fs:ResourceId>
+   </Header>
+
+   <Body>
+      <wsrp:SetResourceProperties xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd"
+                                  xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+         <wsrp:Update>
+            <fs:FsckPassNumber>202</fs:FsckPassNumber>
+         </wsrp:Update>
+      </wsrp:SetResourceProperties>
+   </Body>
+
+</Envelope>

Added: incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_updateMountPointProp.soap
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_updateMountPointProp.soap?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_updateMountPointProp.soap	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,19 @@
+<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" 
+          xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+
+   <Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+      <wsa:To mustUnderstand="1">http://localhost:8080/wsrf/services/filesystem</wsa:To>
+      <wsa:Action mustUnderstand="1">http://ws.apache.org/resource/example/filesystem/FileSystemPortType/yourWsdlRequestName</wsa:Action>
+      <fs:ResourceId mustUnderstand="1">1234</fs:ResourceId>
+   </Header>
+
+   <Body>
+      <wsrp:SetResourceProperties xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd"
+                                  xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+         <wsrp:Update>
+            <fs:MountPointDirectory>/var/tmp/apollo</fs:MountPointDirectory>
+         </wsrp:Update>
+      </wsrp:SetResourceProperties>
+   </Body>
+
+</Envelope>

Added: incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_updateOptionsProp.soap
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_updateOptionsProp.soap?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/requests/SetResourceProperties_updateOptionsProp.soap	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,24 @@
+<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" 
+          xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+
+   <Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+      <wsa:To mustUnderstand="1">http://localhost:8080/wsrf/services/filesystem</wsa:To>
+      <wsa:Action mustUnderstand="1">http://ws.apache.org/resource/example/filesystem/FileSystemPortType/yourWsdlRequestName</wsa:Action>
+      <fs:ResourceId mustUnderstand="1">1234</fs:ResourceId>
+   </Header>
+
+   <Body>
+      <wsrp:SetResourceProperties xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd"
+                                  xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+         <wsrp:Update>
+            <fs:Options>
+            <fs:Option>Should we test this?</fs:Option>
+            <fs:Option>Should we go to lunch?</fs:Option>
+            <fs:Option>yes?</fs:Option>
+            <fs:Option>no?</fs:Option>
+            </fs:Options>
+         </wsrp:Update>
+      </wsrp:SetResourceProperties>
+   </Body>
+
+</Envelope>

Added: incubator/apollo/trunk/src/site/content/tutorial/requests/SetTerminationTime.soap
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/requests/SetTerminationTime.soap?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/requests/SetTerminationTime.soap	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,16 @@
+<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" 
+          xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+
+   <Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+      <wsa:To mustUnderstand="1">http://localhost:8080/wsrf/services/filesystem</wsa:To>
+      <wsa:Action mustUnderstand="1">http://ws.apache.org/resource/example/filesystem/FileSystemPortType/SetTerminationTimeRequest</wsa:Action>
+      <fs:ResourceId mustUnderstand="1">1234</fs:ResourceId>
+   </Header>
+
+   <Body>
+      <wsrl:SetTerminationTime xmlns:wsrl="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceLifetime-1.2-draft-01.xsd">
+         <wsrl:RequestedTerminationTime>2004-11-01T14:06:00</wsrl:RequestedTerminationTime>
+      </wsrl:SetTerminationTime>      
+   </Body>
+
+</Envelope>

Added: incubator/apollo/trunk/src/site/content/tutorial/requests/_TEMPLATE.soap
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/requests/_TEMPLATE.soap?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/requests/_TEMPLATE.soap	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,14 @@
+<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/" 
+          xmlns:fs="http://ws.apache.org/resource/example/filesystem">
+
+   <Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+      <wsa:To mustUnderstand="1">http://localhost:8080/wsrf/services/filesystem</wsa:To>
+      <wsa:Action mustUnderstand="1">http://ws.apache.org/resource/example/filesystem/FileSystemPortType/yourWsdlRequestName</wsa:Action>
+      <fs:ResourceId mustUnderstand="1">1234</fs:ResourceId>
+   </Header>
+
+   <Body>
+      <!-- yourRequest -->
+   </Body>
+
+</Envelope>

Added: incubator/apollo/trunk/src/site/content/tutorial/soapclient.xml
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/soapclient.xml?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/soapclient.xml	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+
+<project name="soapClient" default="sendRequest" basedir=".">
+
+   <property environment="env" />   
+   <property file="build.properties" />
+   <property file="../build.properties" />
+
+   <!-- workaround for those IDEs that dont set ant.home as per the ant script -->
+   <property name="ant.home" value="env.ANT_HOME"/>
+
+   <property name="apollo.home"            location=".." />
+
+   <target name="init">
+     
+     <available file="${apollo.home}/webapps/wsrf" type="dir" property="internal.wsrf.webapp.dir" value="${apollo.home}/webapps/wsrf" />
+     <available file="${apollo.home}/target/wsrf" type="dir" property="dist.wsrf.webapp.dir" value="${apollo.home}/target/wsrf" />         
+     <condition property="wsrf.webapp.dir" value="${internal.wsrf.webapp.dir}">
+        <isset property="internal.wsrf.webapp.dir"/>
+     </condition>
+     <condition property="wsrf.webapp.dir" value="${dist.wsrf.webapp.dir}">
+        <isset property="dist.wsrf.webapp.dir"/>
+     </condition>     
+     <fail unless="wsrf.webapp.dir" message="webapp dir ${apollo.home}/webapps/wsrf does not exist." />    
+     <echo>Using webapp dir: ${wsrf.webapp.dir}</echo>         
+     <path id="apollo.classpath.id">
+       <pathelement location="${wsrf.webapp.dir}/WEB-INF/classes" />
+       <fileset dir="${wsrf.webapp.dir}/WEB-INF/lib" includes="*.jar" />
+       <pathelement location="${activation.jar}" />
+       <pathelement location="${mail.jar}" />
+     </path>
+     <property name="apollo.classpath" refid="apollo.classpath.id" />
+   
+   </target>
+
+   <target name="sendRequest"
+           depends="init"
+           description="sends a SOAP request">      
+     
+     <fail unless="url" message="Please set the url property via -Durl=... when invoking this script." />  
+     <fail unless="xml" message="Please set the xml property via -Dxml=... when invoking this script." />           
+     <echo>Reading SOAP request from: ${xml} ,,,</echo>
+     <available file="${xml}" property="xml.exists" />
+     <fail unless="xml.exists" message="The specified request XML file ${xml} does not exist." />  
+     <available file="${xml}" type="file" property="xml.is.file" />
+     <fail unless="xml.is.file" message="The specified request XML file ${xml} exists but is not a file." />  
+     
+     <echo>Sending SOAP request to ${url} ...</echo>
+     <echo />
+     <echo>========================== REQUEST  ============================</echo>
+     <concat><path><pathelement location="${xml}" /></path></concat>
+     <echo />
+     <echo>========================== RESPONSE ============================</echo>
+     <taskdef name="soapClient" classname="org.apache.ws.util.soap.SoapClientTask" classpath="${apollo.classpath}" />              
+     <soapClient serviceURL="${url}" requestFile="${xml}" soapAction="${action}" /> 
+               
+   </target>
+   
+   <target name="usage">      
+      <java classname="org.apache.tools.ant.Main">
+         <arg value="-buildfile" />
+         <arg value="${ant.file}" />
+         <arg value="-projecthelp" />
+      </java>
+   </target>   
+
+</project>

Added: incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/AbstractFileSystemService.java
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/AbstractFileSystemService.java?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/AbstractFileSystemService.java	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,202 @@
+/*=============================================================================*
+ *  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.
+ *=============================================================================*/
+package example.filesystem;
+
+import org.apache.ws.resource.ResourceContext;
+import org.apache.ws.resource.handler.SoapMethodNameMap;
+import org.apache.ws.resource.handler.WsrfService;
+import org.apache.ws.resource.lifetime.porttype.ImmediateResourceTerminationPortType;
+import org.apache.ws.resource.lifetime.porttype.ScheduledResourceTerminationPortType;
+import org.apache.ws.resource.lifetime.porttype.impl.ImmediateResourceTerminationPortTypeImpl;
+import org.apache.ws.resource.lifetime.porttype.impl.ScheduledResourceTerminationPortTypeImpl;
+import org.apache.ws.resource.properties.porttype.GetMultipleResourcePropertiesPortType;
+import org.apache.ws.resource.properties.porttype.GetResourcePropertyPortType;
+import org.apache.ws.resource.properties.porttype.QueryResourcePropertiesPortType;
+import org.apache.ws.resource.properties.porttype.SetResourcePropertiesPortType;
+import org.apache.ws.resource.properties.porttype.impl.GetMultipleResourcePropertiesProvider;
+import org.apache.ws.resource.properties.porttype.impl.GetResourcePropertyProvider;
+import org.apache.ws.resource.properties.porttype.impl.QueryResourcePropertiesProvider;
+import org.apache.ws.resource.properties.porttype.impl.SetResourcePropertiesProvider;
+import org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceLifetime12Draft01.DestroyDocument;
+import org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceLifetime12Draft01.DestroyResponseDocument;
+import org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceLifetime12Draft01.SetTerminationTimeDocument;
+import org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceLifetime12Draft01.SetTerminationTimeResponseDocument;
+import org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceProperties12Draft01.GetMultipleResourcePropertiesDocument;
+import org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceProperties12Draft01.GetMultipleResourcePropertiesResponseDocument;
+import org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceProperties12Draft01.GetResourcePropertyDocument;
+import org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceProperties12Draft01.GetResourcePropertyResponseDocument;
+import org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceProperties12Draft01.QueryResourcePropertiesDocument;
+import org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceProperties12Draft01.QueryResourcePropertiesResponseDocument;
+import org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceProperties12Draft01.SetResourcePropertiesDocument;
+import org.oasisOpen.docs.wsrf.x2004.x06.wsrfWSResourceProperties12Draft01.SetResourcePropertiesResponseDocument;
+import javax.xml.namespace.QName;
+
+/**
+ * This class should be generated on every "generation" against the WSDL.
+ * This will ensure it is always up-to-date with the WSDL.
+ *
+ * NOTE: This class is generated and is NOT meant to be modified.
+ *
+ * @author Sal Campana, Ian P. Springer
+ */
+public abstract class AbstractFileSystemService
+   implements WsrfService,
+              GetResourcePropertyPortType,
+              GetMultipleResourcePropertiesPortType,
+              SetResourcePropertiesPortType,
+              QueryResourcePropertiesPortType,
+              ImmediateResourceTerminationPortType,
+              ScheduledResourceTerminationPortType
+{
+
+   public static final String TARGET_NSURI = "http://ws.apache.org/resource/example/filesystem";
+   public static final String TARGET_NSPREFIX = "fs";
+
+   /**
+    * DOCUMENT_ME
+    */
+   private CustomSoapMethodNameMap m_methodNameMap;
+
+   /**
+    * DOCUMENT_ME
+    */
+   private boolean isInitialized = false;
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @param requestQname DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   public String getMethodName( QName requestQname )
+   {
+      if ( !isInitialized )
+      {
+         init(  );
+      }
+
+      return m_methodNameMap.getMethodName( requestQname );
+   }
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   public abstract ResourceContext getResourceContext(  );
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   public final SoapMethodNameMap getMethodNameMap(  )
+   {
+      return m_methodNameMap;
+   }
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @param requestDoc DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   public GetMultipleResourcePropertiesResponseDocument getMultipleResourceProperties( GetMultipleResourcePropertiesDocument requestDoc )
+   {
+      return new GetMultipleResourcePropertiesProvider( getResourceContext(  ) ).getMultipleResourceProperties( requestDoc );
+   }
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @param requestDoc DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   public SetResourcePropertiesResponseDocument setResourceProperties( SetResourcePropertiesDocument requestDoc )
+   {
+      return new SetResourcePropertiesProvider( getResourceContext(  ) ).setResourceProperties( requestDoc );
+   }
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @param requestDoc DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   public GetResourcePropertyResponseDocument getResourceProperty( GetResourcePropertyDocument requestDoc )
+   {
+      return new GetResourcePropertyProvider( getResourceContext(  ) ).getResourceProperty( requestDoc );
+   }
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @param requestDoc DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   public SetTerminationTimeResponseDocument setTerminationTime( SetTerminationTimeDocument requestDoc )
+   {
+      return new ScheduledResourceTerminationPortTypeImpl( getResourceContext(  ) ).setTerminationTime( requestDoc );
+   }
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @param requestDoc DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   public DestroyResponseDocument destroy( DestroyDocument requestDoc )
+   {
+      return new ImmediateResourceTerminationPortTypeImpl( getResourceContext(  ) ).destroy( requestDoc );
+   }
+
+   /**
+    * DOCUMENT_ME
+    */
+   public void init(  )
+   {
+      m_methodNameMap    = new CustomSoapMethodNameMap( getResourceContext(  ) );
+      isInitialized      = true;
+   }
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @param requestDoc DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   public QueryResourcePropertiesResponseDocument queryResourceProperties( QueryResourcePropertiesDocument requestDoc )
+   {
+      return new QueryResourcePropertiesProvider( getResourceContext(  ) ).queryResourceProperties( requestDoc );
+   }
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   protected final boolean isInitialized(  )
+   {
+      return isInitialized;
+   }
+}
\ No newline at end of file

Added: incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/CustomSoapMethodNameMap.java
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/CustomSoapMethodNameMap.java?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/CustomSoapMethodNameMap.java	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,60 @@
+/*=============================================================================*
+ *  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.
+ *=============================================================================*/
+package example.filesystem;
+
+import org.apache.ws.resource.ResourceContext;
+import org.apache.ws.resource.handler.ServiceSoapMethodNameMap;
+import javax.xml.namespace.QName;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * NOTE: This class is generated and is NOT meant to be modified.
+ *
+ * @author Sal Campana
+ */
+public class CustomSoapMethodNameMap
+   extends ServiceSoapMethodNameMap
+{
+
+   protected static final Map CUSTOM_METHOD_NAME_MAP = initMap();
+
+   static
+   {
+      initMap();
+   }
+
+   private static Map initMap()
+   {
+      Map map = new HashMap();
+      map.put( new QName( FileSystemService.TARGET_NSURI, "Mount" ),
+                                  FileSystemService.TARGET_NSPREFIX );
+      map.put( new QName( FileSystemService.TARGET_NSURI, "Unmount" ),
+                                  FileSystemService.TARGET_NSPREFIX  );
+      return map;
+   }
+
+   /**
+    * Creates a new {@link CustomSoapMethodNameMap} object.
+    *
+    * @param context ResourceContext
+    */
+   public CustomSoapMethodNameMap( ResourceContext context )
+   {
+      super( CUSTOM_METHOD_NAME_MAP, context );
+   }
+
+}
\ No newline at end of file

Added: incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/FileSystemCustomOperationsPortType.java
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/FileSystemCustomOperationsPortType.java?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/FileSystemCustomOperationsPortType.java	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,34 @@
+/*=============================================================================*
+ *  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.
+ *=============================================================================*/
+package example.filesystem;
+
+import org.apache.xmlbeans.XmlObject;
+
+/**
+ * Custom operations portType.
+ *
+ * NOTE: This class is generated and is NOT meant to be modified.
+ *
+ * @author Ian P. Springer (Hewlett-Packard Company)
+ */
+public interface FileSystemCustomOperationsPortType
+{
+
+   XmlObject mount( XmlObject requestDoc );
+
+   XmlObject unmount( XmlObject requestDoc );
+
+}
\ No newline at end of file

Added: incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/FileSystemHome.java
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/FileSystemHome.java?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/FileSystemHome.java	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,165 @@
+/*=============================================================================*
+ *  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.
+ *=============================================================================*/
+package example.filesystem;
+
+import example.filesystem.backend.FileSystem;
+import example.filesystem.backend.UnixFileSystem;
+import example.filesystem.callback.BackupFrequencyCallback;
+import example.filesystem.callback.CommentCallback;
+import example.filesystem.callback.FsckPassNumberCallback;
+import example.filesystem.callback.OptionsCallback;
+import example.filesystem.callback.MountPointCallback;
+import org.apache.ws.resource.Resource;
+import org.apache.ws.resource.ResourceContext;
+import org.apache.ws.resource.ResourceContextException;
+import org.apache.ws.resource.ResourceException;
+import org.apache.ws.resource.ResourceKey;
+import org.apache.ws.resource.ResourceUnknownException;
+import org.apache.ws.resource.example.filesystem.BackupFrequencyDocument;
+import org.apache.ws.resource.example.filesystem.CommentDocument;
+import org.apache.ws.resource.example.filesystem.DeviceSpecialFileDocument;
+import org.apache.ws.resource.example.filesystem.FileSystemPropertiesDocument;
+import org.apache.ws.resource.example.filesystem.FsckPassNumberDocument;
+import org.apache.ws.resource.example.filesystem.MountPointDirectoryDocument;
+import org.apache.ws.resource.example.filesystem.OptionsDocument;
+import org.apache.ws.resource.example.filesystem.TypeDocument;
+import org.apache.ws.resource.impl.AbstractResourceHome;
+import org.apache.ws.resource.impl.ResourceFactory;
+import org.apache.ws.resource.properties.ResourceProperty;
+import org.apache.ws.resource.properties.ResourcePropertySet;
+import org.apache.ws.resource.properties.impl.XmlBeansResourcePropertySet;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * Home for FileSystem WS-Resources.
+ * <p/>
+ * NOTE: This class is generated and is NOT meant to be modified.
+ *
+ * @author Sal Campana, Ian P. Springer
+ */
+public class FileSystemHome
+        extends AbstractResourceHome
+        implements ResourceFactory,
+        Serializable
+{
+    private FileSystem m_fileSystem = new UnixFileSystem();
+
+    /**
+     * DOCUMENT_ME
+     *
+     * @param resourceContext DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     *
+     * @throws ResourceException        DOCUMENT_ME
+     * @throws ResourceContextException DOCUMENT_ME
+     * @throws ResourceUnknownException DOCUMENT_ME
+     */
+    public Resource getInstance( ResourceContext resourceContext )
+            throws ResourceException,
+            ResourceContextException,
+            ResourceUnknownException
+    {
+        ResourceKey key = resourceContext.getResourceKey();
+        Resource resource = null;
+        try
+        {
+            resource = find( key );
+        }
+        catch ( ResourceException re )
+        {
+            Object id = key.getValue();
+            if ( id.equals( "1234" ) || id.equals( "5678" ) )
+            {
+                try
+                {
+                    FileSystemPropertiesDocument propDoc = FileSystemPropertiesDocument.Factory.newInstance();
+                    ResourcePropertySet propSet = new XmlBeansResourcePropertySet( propDoc );
+                    initProperties( propSet );
+                    resource = createInstance( key, propSet );
+                }
+                catch ( Exception e )
+                {
+                    throw new ResourceException( e );
+                }
+                add( key, resource );
+            }
+            else
+            {
+                throw new ResourceUnknownException( id,
+                        resourceContext.getServiceName() );
+            }
+        }
+        return resource;
+    }
+
+    /**
+     * Method to initialize the ResourceProperies with the values from the backend.
+     *
+     * @param propSet
+     */
+    private void initProperties( ResourcePropertySet propSet )
+    {
+        ResourceProperty prop = propSet.get( FileSystemPropertyQNames.DEVICE_SPECIAL_FILE );
+        DeviceSpecialFileDocument deviceDocXBean = DeviceSpecialFileDocument.Factory.newInstance();
+        deviceDocXBean.setDeviceSpecialFile( m_fileSystem.getDeviceSpecialFile() );
+        prop.add( deviceDocXBean );
+
+        prop = propSet.get( FileSystemPropertyQNames.TYPE );
+        TypeDocument typeDocXBean = TypeDocument.Factory.newInstance();
+        typeDocXBean.setType( m_fileSystem.getType() );
+        prop.add( typeDocXBean );
+
+        BackupFrequencyDocument backupDocXBean = BackupFrequencyDocument.Factory.newInstance();
+        backupDocXBean.setBackupFrequency( m_fileSystem.getBackupFrequency() );
+        prop = propSet.get( FileSystemPropertyQNames.BACKUP_FREQUENCY );
+        prop.add( backupDocXBean );
+        prop.setCallback( new BackupFrequencyCallback( m_fileSystem ) );
+
+        CommentDocument commentDocXBean = CommentDocument.Factory.newInstance();
+        commentDocXBean.setComment( m_fileSystem.getComment() );
+        prop = propSet.get( FileSystemPropertyQNames.COMMENT );
+        prop.add( commentDocXBean );
+        prop.setCallback( new CommentCallback( m_fileSystem ) );
+
+        FsckPassNumberDocument fsckDocXBean = FsckPassNumberDocument.Factory.newInstance();
+        fsckDocXBean.setFsckPassNumber( m_fileSystem.getFsckPassNumber() );
+        prop = propSet.get( FileSystemPropertyQNames.FSCK_PASS_NUMBER );
+        prop.add( fsckDocXBean );
+        prop.setCallback( new FsckPassNumberCallback( m_fileSystem ) );
+
+        MountPointDirectoryDocument mountPointDocXBean = MountPointDirectoryDocument.Factory.newInstance();
+        mountPointDocXBean.setMountPointDirectory( m_fileSystem.getMountPoint() );
+        prop = propSet.get( FileSystemPropertyQNames.MOUNT_POINT_DIR );
+        prop.add( mountPointDocXBean );
+        prop.setCallback( new MountPointCallback( m_fileSystem ) );
+
+        OptionsDocument optionsDocXBean = OptionsDocument.Factory.newInstance();
+        org.apache.ws.resource.example.filesystem.OptionsDocument.Options options = optionsDocXBean.addNewOptions();
+        List backendOptions = m_fileSystem.getOptions();
+        for ( int i = 0; i < backendOptions.size(); i++ )
+        {
+            options.addOption( (String) backendOptions.get( i ) );
+        }
+        prop = propSet.get( FileSystemPropertyQNames.OPTIONS );
+        prop.add( optionsDocXBean );
+        prop.setCallback( new OptionsCallback( m_fileSystem ) );
+
+    }
+
+}
\ No newline at end of file

Added: incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/FileSystemPropertyQNames.java
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/FileSystemPropertyQNames.java?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/FileSystemPropertyQNames.java	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,51 @@
+/*=============================================================================*
+ *  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.
+ *=============================================================================*/
+package example.filesystem;
+
+import javax.xml.namespace.QName;
+
+/**
+ * QNames of the resource properties defined by FileSystem WSDL.
+ * <p/>
+ * NOTE: This class is generated and is NOT meant to be modified.
+ *
+ * @author Ian P. Springer (Hewlett-Packard Company)
+ */
+public interface FileSystemPropertyQNames
+{
+
+    QName FILESYSTEM_PROPERTIES =
+            new QName(FileSystemService.TARGET_NSURI, "FileSystemProperties", FileSystemService.TARGET_NSPREFIX);
+
+    QName DEVICE_SPECIAL_FILE =
+            new QName(FileSystemService.TARGET_NSURI, "DeviceSpecialFile", FileSystemService.TARGET_NSPREFIX);
+
+    QName MOUNT_POINT_DIR =
+            new QName(FileSystemService.TARGET_NSURI, "MountPointDirectory", FileSystemService.TARGET_NSPREFIX);
+
+    QName TYPE =
+            new QName(FileSystemService.TARGET_NSURI, "Type", FileSystemService.TARGET_NSPREFIX);
+    QName OPTIONS =
+            new QName(FileSystemService.TARGET_NSURI, "Options", FileSystemService.TARGET_NSPREFIX);
+    QName BACKUP_FREQUENCY =
+            new QName(FileSystemService.TARGET_NSURI, "BackupFrequency", FileSystemService.TARGET_NSPREFIX);
+    QName FSCK_PASS_NUMBER =
+            new QName(FileSystemService.TARGET_NSURI, "FsckPassNumber", FileSystemService.TARGET_NSPREFIX);
+    QName COMMENT =
+            new QName(FileSystemService.TARGET_NSURI, "Comment", FileSystemService.TARGET_NSPREFIX);
+
+
+}

Added: incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/FileSystemResource.java
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/FileSystemResource.java?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/FileSystemResource.java	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,143 @@
+/*=============================================================================*
+ *  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.
+ *=============================================================================*/
+package example.filesystem;
+
+import org.apache.ws.resource.ResourceIdentifier;
+import org.apache.ws.resource.lifetime.ResourceLifetime1_2Constants;
+import org.apache.ws.resource.lifetime.ScheduledResourceTerminationResource;
+import org.apache.ws.resource.properties.PropertiesResource;
+import org.apache.ws.resource.properties.ResourcePropertySet;
+import org.apache.ws.resource.properties.ResourcePropertyUtils;
+
+import java.util.Calendar;
+
+/**
+ * A filesystem WS-Resource.
+ * <p/>
+ * NOTE: This class is generated and is NOT meant to be modified.
+ *
+ * @author Ian P. Springer
+ * @author Sal Campana
+ */
+public class FileSystemResource
+      implements ResourceIdentifier,
+      PropertiesResource,
+      ScheduledResourceTerminationResource
+{
+
+
+   /**
+    * The resource ID of the instance.
+    */
+   String m_id;
+
+   /**
+    * The ResourceProperty Set containing the resource props.
+    */
+   ResourcePropertySet m_propSet;
+
+   /**
+    * Returns the current time from the prop set.
+    *
+    * @return Calendar
+    */
+   public Calendar getCurrentTime()
+   {
+      return ResourcePropertyUtils.getDateTimeProperty( getResourcePropertySet(),
+            ResourceLifetime1_2Constants.PROP_QNAME_CURRENT_TIME );
+   }
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @param id DOCUMENT_ME
+    */
+   public void setID( Object id )
+   {
+      if ( m_id != null )
+      {
+         throw new IllegalStateException( "This resource's ID has already been set." );
+      }
+
+      try
+      {
+         m_id = (String) id;
+      }
+      catch ( ClassCastException cce )
+      {
+         throw new IllegalArgumentException( "Specified ID is not a String." );
+      }
+   }
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   public Object getID()
+   {
+      return m_id;
+   }
+
+   /**
+    * @see org.apache.ws.resource.properties.PropertiesResource#getResourcePropertySet()
+    */
+   public ResourcePropertySet getResourcePropertySet()
+   {
+      return m_propSet;
+   }
+
+   /**
+    * @see PropertiesResource#setResourcePropertySet(org.apache.ws.resource.properties.ResourcePropertySet)
+    */
+   public void setResourcePropertySet( ResourcePropertySet propSet )
+   {
+      m_propSet = propSet;
+   }
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @param time DOCUMENT_ME
+    */
+   public void setTerminationTime( Calendar time )
+   {
+      ResourcePropertyUtils.setDateTimeProperty( getResourcePropertySet(),
+            ResourceLifetime1_2Constants.PROP_QNAME_TERMINATION_TIME,
+            time );
+   }
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   public Calendar getTerminationTime()
+   {
+      return ResourcePropertyUtils.getDateTimeProperty( getResourcePropertySet(),
+            ResourceLifetime1_2Constants.PROP_QNAME_TERMINATION_TIME );
+   }
+
+   /**
+    * DOCUMENT_ME
+    */
+   public void refreshCurrentTime()
+   {
+      ResourcePropertyUtils.setDateTimeProperty( getResourcePropertySet(),
+            ResourceLifetime1_2Constants.PROP_QNAME_CURRENT_TIME,
+            Calendar.getInstance() );
+   }
+}
\ No newline at end of file

Added: incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/FileSystemService.java
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/FileSystemService.java?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/FileSystemService.java	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,86 @@
+/*=============================================================================*
+ *  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.
+ *=============================================================================*/
+package example.filesystem;
+
+import org.apache.ws.resource.ResourceContext;
+import org.apache.xmlbeans.XmlObject;
+import org.apache.xmlbeans.XmlException;
+
+import javax.xml.rpc.JAXRPCException;
+
+/**
+ * This class should be generated ONCE (and not overwritten) to maintain user-added code.
+ * If there is a change to the WSDL, then the generated implemented interfaces
+ * (representing the "base" portTypes) will change, thus showing a compile error to the
+ * user.
+ *
+ * NOTE: This class is generated. However, it will not be overwritten by subsequent
+ *       calls to the code generator.
+ *
+ * @author Ian P. Springer, Sal Campana
+ */
+public class FileSystemService
+   extends AbstractFileSystemService
+   implements FileSystemCustomOperationsPortType
+{
+
+   private ResourceContext m_resourceContext;
+
+   /**
+    * Creates a new {@link FileSystemService} object.
+    *
+    * @param resourceContext DOCUMENT_ME
+    */
+   public FileSystemService( ResourceContext resourceContext )
+   {
+      m_resourceContext = resourceContext;
+      init(  );
+   }
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   public ResourceContext getResourceContext(  )
+   {
+      return m_resourceContext;
+   }
+
+   public XmlObject mount( XmlObject requestDoc )
+   {
+      try
+      {
+         return XmlObject.Factory.parse( "<MountResponse />" );
+      }
+      catch ( XmlException xe )
+      {
+         throw new JAXRPCException( xe );
+      }
+   }
+
+   public XmlObject unmount( XmlObject requestDoc )
+   {
+      try
+      {
+         return XmlObject.Factory.parse( "<UnmountResponse />" );
+      }
+      catch ( XmlException xe )
+      {
+         throw new JAXRPCException( xe );
+      }
+   }
+}
\ No newline at end of file

Added: incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/backend/FileSystem.java
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/backend/FileSystem.java?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/backend/FileSystem.java	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,33 @@
+package example.filesystem.backend;
+
+import java.util.List;
+
+/**
+ * @author Sal Campana
+ */
+public interface FileSystem
+{
+    String getDeviceSpecialFile();
+
+    String getMountPoint();
+
+    void setMountPoint(String mountDir);
+
+    String getType();
+
+    int getBackupFrequency();
+
+    void setBackupFrequency(int backupFrequency);
+
+    List getOptions();
+
+    void setOptions(List options);
+
+    String getComment();
+
+    void setComment(String comment);
+
+    int getFsckPassNumber();
+
+    void setFsckPassNumber(int fsckPassNumber);
+}

Added: incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/backend/UnixFileSystem.java
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/backend/UnixFileSystem.java?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/backend/UnixFileSystem.java	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,86 @@
+package example.filesystem.backend;
+
+import java.util.List;
+import java.util.ArrayList;
+
+
+/**
+ * This is a mock filesystem to act as the backend for the example FileSystemService
+ *
+ * @author Sal Campana
+ */
+public class UnixFileSystem implements FileSystem
+{
+
+    private String m_mountPoint="/usr";
+    private String m_type = "vxfs";
+    private int m_backupFrequency=0;
+    private int m_fsckPassNumber=2;
+    private List m_options;
+    private String m_comment="user files";
+    private String m_deviceSpecialFile = "/dev/vg00/lvol7";
+
+    public UnixFileSystem()
+    {
+        m_options = new ArrayList();
+        m_options.add("delaylog");
+        m_options.add("quota");
+    }
+
+    public String getDeviceSpecialFile()
+    {
+        return m_deviceSpecialFile;
+    }
+    public String getMountPoint()
+    {
+        return m_mountPoint;
+    }
+    public void setMountPoint(String mountDir)
+    {
+        m_mountPoint=mountDir;
+    }
+    public String getType()
+    {
+        return m_type;
+    }
+
+    public int getBackupFrequency()
+    {
+        return m_backupFrequency;
+    }
+
+    public void setBackupFrequency(int backupFrequency)
+    {
+        m_backupFrequency = backupFrequency;
+    }
+
+    public List getOptions()
+    {
+        return m_options;
+    }
+
+    public void setOptions(List options)
+    {
+        m_options = options;
+    }
+
+    public String getComment()
+    {
+        return m_comment;
+    }
+
+    public void setComment(String comment)
+    {
+        m_comment = comment;
+    }
+
+    public int getFsckPassNumber()
+    {
+        return m_fsckPassNumber;
+    }
+
+    public void setFsckPassNumber(int fsckPassNumber)
+    {
+        m_fsckPassNumber = fsckPassNumber;
+    }
+}

Added: incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/callback/BackupFrequencyCallback.java
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/callback/BackupFrequencyCallback.java?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/callback/BackupFrequencyCallback.java	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,51 @@
+package example.filesystem.callback;
+
+import org.apache.ws.resource.properties.SetResourcePropertyCallback;
+import org.apache.ws.resource.properties.ResourceProperty;
+import org.apache.ws.resource.example.filesystem.BackupFrequencyDocument;
+import org.apache.xmlbeans.XmlInt;
+
+import javax.xml.namespace.QName;
+
+import example.filesystem.backend.FileSystem;
+
+
+/**
+ * @author Sal Campana
+ */
+public class BackupFrequencyCallback implements SetResourcePropertyCallback
+{
+    FileSystem m_fileSystem;
+
+    public BackupFrequencyCallback(FileSystem fileSystem)
+    {
+        m_fileSystem = fileSystem;
+    }
+
+    public void deleteProperty(QName propQName)
+    {
+        //can't delete!
+        throw new UnsupportedOperationException("Min Occurs is !, You cannot Delete!");
+    }
+
+    public void insertProperty(Object[] prop)
+    {
+        for (int i = 0; i < prop.length; i++)
+        {
+            XmlInt xInt = (XmlInt) prop[i];            
+            m_fileSystem.setBackupFrequency(xInt.getIntValue());
+        }
+    }
+
+    public void updateProperty(Object[] prop)
+    {
+        insertProperty(prop);
+    }
+
+    public ResourceProperty refreshProperty(ResourceProperty prop)
+    {
+        XmlInt xInt = (XmlInt) prop.get( 0 );
+        xInt.setIntValue( m_fileSystem.getBackupFrequency() );
+        return prop;
+    }
+}

Added: incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/callback/CommentCallback.java
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/callback/CommentCallback.java?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/callback/CommentCallback.java	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,44 @@
+package example.filesystem.callback;
+
+import example.filesystem.backend.FileSystem;
+import org.apache.ws.resource.properties.ResourceProperty;
+import org.apache.ws.resource.properties.SetResourcePropertyCallback;
+import org.apache.xmlbeans.XmlString;
+
+import javax.xml.namespace.QName;
+
+/**
+ * Callback for the fs:Callback RP.
+ */
+public class CommentCallback implements SetResourcePropertyCallback
+{
+    FileSystem m_fileSystem;
+
+    public CommentCallback( FileSystem fileSystem )
+    {
+        m_fileSystem = fileSystem;
+    }
+
+    public void deleteProperty( QName propQName )
+    {
+        return; // no need to implement - Apollo will never call delete for a prop whose minOccurs != 0
+    }
+
+    public void insertProperty( Object[] propElems )
+    {
+        XmlString xString = (XmlString) propElems[0];
+        m_fileSystem.setComment( xString.getStringValue() );
+    }
+
+    public void updateProperty( Object[] prop )
+    {
+        insertProperty( prop );
+    }
+
+    public ResourceProperty refreshProperty( ResourceProperty prop )
+    {
+        XmlString xString = (XmlString) prop.get( 0 );
+        xString.setStringValue( m_fileSystem.getComment() );
+        return prop;
+    }
+}

Added: incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/callback/FsckPassNumberCallback.java
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/callback/FsckPassNumberCallback.java?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/callback/FsckPassNumberCallback.java	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,51 @@
+package example.filesystem.callback;
+
+import org.apache.ws.resource.properties.SetResourcePropertyCallback;
+import org.apache.ws.resource.properties.ResourceProperty;
+import org.apache.ws.resource.example.filesystem.FsckPassNumberDocument;
+import org.apache.xmlbeans.XmlInt;
+
+import javax.xml.namespace.QName;
+
+import example.filesystem.backend.FileSystem;
+
+
+/**
+ * @author Sal Campana
+ */
+public class FsckPassNumberCallback implements SetResourcePropertyCallback
+{
+    FileSystem m_fileSystem;
+
+    public FsckPassNumberCallback(FileSystem fileSystem)
+    {
+        m_fileSystem = fileSystem;
+    }
+
+    public void deleteProperty(QName propQName)
+    {
+        //can't delete!
+        throw new UnsupportedOperationException("Min Occurs is !, You cannot Delete!");
+    }
+
+    public void insertProperty(Object[] prop)
+    {
+        updateProperty(prop);
+    }
+
+    public void updateProperty(Object[] prop)
+    {
+        for (int i = 0; i < prop.length; i++)
+        {
+            XmlInt xInt = (XmlInt) prop[i];
+            m_fileSystem.setFsckPassNumber(xInt.getIntValue());
+        }
+    }
+
+    public ResourceProperty refreshProperty(ResourceProperty prop)
+    {
+        XmlInt xInt = (XmlInt) prop.get( 0 );
+        xInt.setIntValue( m_fileSystem.getFsckPassNumber() );
+        return prop;
+    }
+}

Added: incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/callback/MountPointCallback.java
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/callback/MountPointCallback.java?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/callback/MountPointCallback.java	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,29 @@
+package example.filesystem.callback;
+
+import org.apache.ws.resource.properties.ResourcePropertyCallback;
+import org.apache.ws.resource.properties.ResourceProperty;
+import org.apache.ws.resource.example.filesystem.MountPointDirectoryDocument;
+import org.apache.xmlbeans.XmlString;
+import example.filesystem.backend.FileSystem;
+
+
+/**
+ * @author Sal Campana
+ */
+public class MountPointCallback  implements ResourcePropertyCallback
+{
+    FileSystem m_fileSystem;
+
+    public MountPointCallback(FileSystem fileSystem)
+    {
+        m_fileSystem = fileSystem;
+    }
+
+    public ResourceProperty refreshProperty(ResourceProperty prop)
+    {
+
+        XmlString xString = (XmlString) prop.get( 0 );
+        xString.setStringValue( m_fileSystem.getMountPoint() );
+        return prop;
+    }
+}

Added: incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/callback/OptionsCallback.java
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/callback/OptionsCallback.java?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/callback/OptionsCallback.java	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,119 @@
+/*=============================================================================*
+ *  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.
+ *=============================================================================*/
+package example.filesystem.callback;
+
+import example.filesystem.backend.FileSystem;
+import org.apache.ws.resource.example.filesystem.OptionsDocument;
+import org.apache.ws.resource.properties.ResourceProperty;
+import org.apache.ws.resource.properties.SetResourcePropertyCallback;
+import javax.xml.namespace.QName;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * @author Sal Campana
+ */
+public class OptionsCallback
+   implements SetResourcePropertyCallback
+{
+   /** DOCUMENT_ME */
+   FileSystem m_fileSystem;
+
+   /**
+    * Creates a new {@link OptionsCallback} object.
+    *
+    * @param fileSystem DOCUMENT_ME
+    */
+   public OptionsCallback( FileSystem fileSystem )
+   {
+      m_fileSystem = fileSystem;
+   }
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @param propQName DOCUMENT_ME
+    */
+   public void deleteProperty( QName propQName )
+   {
+      m_fileSystem.getOptions(  ).clear(  );
+   }
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @param prop DOCUMENT_ME
+    */
+   public void insertProperty( Object[] prop )
+   {
+       updateProperty(prop);
+   }
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @param prop DOCUMENT_ME
+    *
+    * @return DOCUMENT_ME
+    */
+   public ResourceProperty refreshProperty( ResourceProperty prop )
+   {
+      Iterator iterator = prop.iterator(  );
+      while ( iterator.hasNext(  ) )
+      { //todo not sure if this will return an array of strings or options....
+         OptionsDocument.Options o = (OptionsDocument.Options) iterator.next(  );
+
+         clearOptionsFromProperty( o );
+
+         //add current options...
+         List options = m_fileSystem.getOptions(  );
+         for ( int i = 0; i < options.size(  ); i++ )
+         {
+            o.addOption( options.get( i ).toString(  ) );
+         }
+      }
+
+      return prop;
+   }
+
+   /**
+    * DOCUMENT_ME
+    *
+    * @param prop DOCUMENT_ME
+    */
+   public void updateProperty( Object[] prop )
+   {
+      List backendOptions = m_fileSystem.getOptions(  );
+      for ( int i = 0; i < prop.length; i++ )
+      {
+         OptionsDocument.Options o           = (OptionsDocument.Options) prop[i];
+         String[]                optionArray = o.getOptionArray(  );
+         for ( int j = 0; j < optionArray.length; j++ )
+         {
+            backendOptions.add( optionArray[j] );
+         }
+      }
+   }
+
+   private void clearOptionsFromProperty( OptionsDocument.Options o )
+   {
+      //remove the options...
+      for ( int i = 0; i < o.sizeOfOptionArray(  ); i++ )
+      {
+         o.removeOption( i );
+      }
+   }
+}
\ No newline at end of file

Added: incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/deploy.wsdd
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/deploy.wsdd?view=auto&rev=112009
==============================================================================
--- (empty file)
+++ incubator/apollo/trunk/src/site/content/tutorial/src/example/filesystem/deploy.wsdd	Wed Dec 15 11:31:17 2004
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+
+<deployment xmlns="http://xml.apache.org/axis/wsdd/" 
+            xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
+
+   <service name="filesystem" provider="java:WSRF" style="document" use="literal">
+      
+      <wsdlFile>/wsdl/FileSystem.wsdl</wsdlFile>      
+      
+      <requestFlow>
+         <handler type="java:org.apache.axis.handlers.JAXRPCHandler">
+            <parameter name="className" value="org.apache.axis.message.addressing.handler.AxisServerSideAddressingHandler" />
+            <parameter name="referencePropertyNames" value="*" />
+         </handler>
+      </requestFlow>      
+      
+      <responseFlow>
+         <handler type="java:org.apache.axis.handlers.JAXRPCHandler">
+            <parameter name="className" value="org.apache.axis.message.addressing.handler.AxisServerSideAddressingHandler" />
+            <parameter name="referencePropertyNames" value="*" />
+         </handler>
+      </responseFlow>            
+      
+   </service>
+
+</deployment>

Modified: incubator/apollo/trunk/src/site/content/xdocs/tutorial/index.xml
Url: http://svn.apache.org/viewcvs/incubator/apollo/trunk/src/site/content/xdocs/tutorial/index.xml?view=diff&rev=112009&p1=incubator/apollo/trunk/src/site/content/xdocs/tutorial/index.xml&r1=112008&p2=incubator/apollo/trunk/src/site/content/xdocs/tutorial/index.xml&r2=112009
==============================================================================
--- incubator/apollo/trunk/src/site/content/xdocs/tutorial/index.xml	(original)
+++ incubator/apollo/trunk/src/site/content/xdocs/tutorial/index.xml	Wed Dec 15 11:31:17 2004
@@ -1,6 +1,7 @@
 <?xml version="1.0"?>
 
-<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" "http://forrest.apache.org/dtd/document-v20.dtd">
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V2.0//EN" 
+          "http://forrest.apache.org/dtd/document-v20.dtd">
 
 <document> 
   <header> 
@@ -10,7 +11,7 @@
     <section>
       <title>Apollo Tutorial</title>
       <p>
-        This tutorial will walk you through creating and deploying a WS-RF Web service
+        This tutorial will walk you through creating and deploying a WSRF Web service
         that represents a Unix filesystem. The process is broken down into three steps:
       </p>
       <ul>

---------------------------------------------------------------------
To unsubscribe, e-mail: apollo-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: apollo-dev-help@ws.apache.org