You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2005/09/26 18:16:08 UTC

svn commit: r291658 - in /jakarta/tapestry/trunk: ./ config/jboss/deploy/ examples/Vlib/ examples/Vlib/src/ear-conf/META-INF/ examples/VlibBeans/src/descriptor/META-INF/ examples/VlibBeans/src/java/org/apache/tapestry/vlib/ejb/impl/

Author: hlship
Date: Mon Sep 26 09:15:58 2005
New Revision: 291658

URL: http://svn.apache.org/viewcvs?rev=291658&view=rev
Log:
Some involved Ant/classpath hackery to get the Virtual Library to deploy into JBoss 4.0.2.

Removed:
    jakarta/tapestry/trunk/config/jboss/deploy/
Modified:
    jakarta/tapestry/trunk/build.xml
    jakarta/tapestry/trunk/examples/Vlib/build.xml
    jakarta/tapestry/trunk/examples/Vlib/src/ear-conf/META-INF/application.xml
    jakarta/tapestry/trunk/examples/VlibBeans/src/descriptor/META-INF/jboss.xml
    jakarta/tapestry/trunk/examples/VlibBeans/src/descriptor/META-INF/jbosscmp-jdbc.xml
    jakarta/tapestry/trunk/examples/VlibBeans/src/java/org/apache/tapestry/vlib/ejb/impl/BookBean.java
    jakarta/tapestry/trunk/examples/VlibBeans/src/java/org/apache/tapestry/vlib/ejb/impl/PersonBean.java
    jakarta/tapestry/trunk/examples/VlibBeans/src/java/org/apache/tapestry/vlib/ejb/impl/PublisherBean.java

Modified: jakarta/tapestry/trunk/build.xml
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/build.xml?rev=291658&r1=291657&r2=291658&view=diff
==============================================================================
--- jakarta/tapestry/trunk/build.xml (original)
+++ jakarta/tapestry/trunk/build.xml Mon Sep 26 09:15:58 2005
@@ -82,30 +82,26 @@
 		</java>
 	</target>
 	
-	<available property="available.vlib.ear" file="target/vlib.ear"/>
+	<available property="available.vlib.ear" file="target/vlib/vlib.ear"/>
 	
 	<target name="deploy-jboss" description="Deploys the Virtual Library example into JBoss 4.0.">
 		
 		<fail unless="available.vlib.ear" message="You must run the 'install' target to build the vlib.ear first."/>
 		<property name="jboss.default.dir" value="${jboss.dir}/server/default"/>
-		
-		<!-- Download from Maven -->
-		<grab-file
-			src="${maven.ibiblio.url}/mckoi/jars/mckoi-${mckoi.version}.jar"
-			dest="${external.lib.dir}/mckoi-${mckoi.version}.jar"/>
-		<copy todir="${jboss.default.dir}/lib">
-			<fileset dir="${external.lib.dir}">
-				<include name="mckoi-${mckoi.version}.jar"/>
-				<!-- include name="ognl-${ognl.version}.jar"/ -->
-			</fileset>
-		</copy>
+
 		<copy todir="${jboss.default.dir}/deploy">
-			<fileset dir="config/jboss/deploy" includes="*"/>
-			<fileset dir="target" includes="*.ear"/>
+			<fileset dir="target/vlib" includes="*.ear"/>
 		</copy>
+			
+		<!--
 		<mkdir dir="${jboss.default.dir}/db"/>
 		<unzip dest="${jboss.default.dir}/db" src="config/jboss/tapestry-db.zip"/>
-				
+		-->
+
+		<copy todir="${jboss.default.dir}/deploy">
+			<fileset dir="target" includes="*.ear"/>
+		</copy>
+		
 		<announce message="JBoss 4 has been set up to execute the Virtual Library application."/>
 		<announce message="You may need to restart JBoss before the application will run."/>
 		

Modified: jakarta/tapestry/trunk/examples/Vlib/build.xml
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/examples/Vlib/build.xml?rev=291658&r1=291657&r2=291658&view=diff
==============================================================================
--- jakarta/tapestry/trunk/examples/Vlib/build.xml (original)
+++ jakarta/tapestry/trunk/examples/Vlib/build.xml Mon Sep 26 09:15:58 2005
@@ -54,6 +54,27 @@
 
   </target>
 	
+  <macrodef name="update-classpath">
+	<attribute name="jarfile" description="Jar file to update"/>
+  	<attribute name="classpath" description="Class-Path value to set"/>
+  	
+  	<sequential>
+  		<property name="work.dir" value="${target.dir}/repack-jar"/>
+  		<delete dir="${work.dir}" quiet="true"/>
+  		<mkdir dir="${work.dir}"/>
+  		<unjar src="@{jarfile}" dest="${work.dir}">
+  			<patternset excludes="META-INF/INDEX*"/>
+  		</unjar>
+  		<jar destfile="@{jarfile}" index="true" manifest="${work.dir}/META-INF/MANIFEST.MF">
+  	  		<manifest>
+  	  			<attribute name="Class-Path" value="@{classpath}"/>
+  	  		</manifest>
+  			<fileset dir="${work.dir}" excludes="META-INF/MANIFEST.MF"/>
+  		</jar>
+	</sequential>
+  </macrodef>
+	
+	
   <target name="war" depends="run-tests" description="Build the Vlib WAR and EAR files.">
 	
 	<property name="complete-war-path" value="${module.install.dir}/${module.war.file}"/>
@@ -77,16 +98,21 @@
 		
 	</war>  
   	
+  	
   	<announce message="Building ${module.install.dir}/vlib.ear"/>
   	
   	<property name="ear-image.dir" value="${target.dir}/ear-image"/>
-  	<property name="ear.lib.dir" value="${ear-image.dir}/APP-INF/lib"/>
+  	<property name="ear.lib.dir" value="${ear-image.dir}/lib"/>
   	<mkdir dir="${ear.lib.dir}"/>
   	
   	<copy file="${module.install.dir}/${module.war.file}" todir="${ear-image.dir}"/>
   	
   	<copy todir="${ear.lib.dir}" flatten="true">
-  		<fileset dir="${module.lib.dir}/run" includes="**/*.jar"/>
+  		<fileset dir="${module.lib.dir}/run">
+  			<include name="**/*.jar"/>
+  			<!-- Conflicts with JBoss's copy -->
+  			<exclude name="**/commons-logging*.jar"/>
+  		</fileset>
   	</copy>
   	
   	<copy todir="${ear-image.dir}">
@@ -94,6 +120,21 @@
 		<mapper type="regexp" from="^(.*?)-.*\.jar$$" to="\1.jar"/>
   	</copy>
   	
+  	<taskdef name="manifestclasspath" classname="org.apache.hivemind.ant.ManifestClassPath">
+  		<!-- HiveMind is in there somewhere -->
+  		<classpath id="ear.lib.classpath">
+  			<fileset dir="${ear.lib.dir}" includes="*.jar"/>
+  		</classpath>
+  	</taskdef>
+
+  	<manifestclasspath property="ear.classpath" directory="${ear-image.dir}">
+	  	<classpath refid="ear.lib.classpath"/>
+  	</manifestclasspath>
+  		
+  	<echo>ear.classpath=${ear.classpath}</echo>
+
+  	<update-classpath jarfile="${ear-image.dir}/vlibbeans.jar" classpath="${ear.classpath}"/>
+
   	<ear destfile="${module.install.dir}/vlib.ear" appxml="${src.dir}/ear-conf/META-INF/application.xml" basedir="${ear-image.dir}">
   		<metainf dir="${src.dir}/ear-conf/META-INF" excludes="application.xml"/>
   	</ear>

Modified: jakarta/tapestry/trunk/examples/Vlib/src/ear-conf/META-INF/application.xml
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/examples/Vlib/src/ear-conf/META-INF/application.xml?rev=291658&r1=291657&r2=291658&view=diff
==============================================================================
--- jakarta/tapestry/trunk/examples/Vlib/src/ear-conf/META-INF/application.xml (original)
+++ jakarta/tapestry/trunk/examples/Vlib/src/ear-conf/META-INF/application.xml Mon Sep 26 09:15:58 2005
@@ -10,7 +10,7 @@
 	<module>
 		<web>
 			<web-uri>vlib.war</web-uri>
-			<context-root>/</context-root>
+			<context-root>/vlib</context-root>
 		</web>
 	</module>
 </application>

Modified: jakarta/tapestry/trunk/examples/VlibBeans/src/descriptor/META-INF/jboss.xml
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/examples/VlibBeans/src/descriptor/META-INF/jboss.xml?rev=291658&r1=291657&r2=291658&view=diff
==============================================================================
--- jakarta/tapestry/trunk/examples/VlibBeans/src/descriptor/META-INF/jboss.xml (original)
+++ jakarta/tapestry/trunk/examples/VlibBeans/src/descriptor/META-INF/jboss.xml Mon Sep 26 09:15:58 2005
@@ -4,7 +4,7 @@
   <resource-managers>
     <resource-manager res-class="org.jboss.ejb.deployment.JDBCResource">
       <res-name>jdbc/dataSource</res-name>
-      <res-jndi-name>java:/McKoiDB</res-jndi-name>
+      <res-jndi-name>java:/DefaultDS</res-jndi-name>
     </resource-manager>
     
   </resource-managers>

Modified: jakarta/tapestry/trunk/examples/VlibBeans/src/descriptor/META-INF/jbosscmp-jdbc.xml
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/examples/VlibBeans/src/descriptor/META-INF/jbosscmp-jdbc.xml?rev=291658&r1=291657&r2=291658&view=diff
==============================================================================
--- jakarta/tapestry/trunk/examples/VlibBeans/src/descriptor/META-INF/jbosscmp-jdbc.xml (original)
+++ jakarta/tapestry/trunk/examples/VlibBeans/src/descriptor/META-INF/jbosscmp-jdbc.xml Mon Sep 26 09:15:58 2005
@@ -3,19 +3,15 @@
   <!DOCTYPE jbosscmp-jdbc PUBLIC
       "-//JBoss//DTD JBOSSCMP-JDBC 3.0//EN"
       "http://www.jboss.org/j2ee/dtd/jbosscmp-jdbc_3_0.dtd">
-      
-      
 <jbosscmp-jdbc>
-	<defaults>
-  		<datasource>java:/McKoiDB</datasource>       
-  		<datasource-mapping>McKoi</datasource-mapping>
-  	</defaults>
-  
+  <defaults>
+    <datasource>java:/DefaultDS</datasource>
+    <datasource-mapping>Hypersonic SQL</datasource-mapping>
+  </defaults>
   <enterprise-beans>
     <entity>
       <ejb-name>Book</ejb-name>
       <table-name>BOOK</table-name>
-	  
       <cmp-field>
         <field-name>author</field-name>
         <column-name>AUTHOR</column-name>
@@ -56,7 +52,7 @@
         <field-name>ISBN</field-name>
         <column-name>ISBN</column-name>
         <jdbc-type>VARCHAR</jdbc-type>
-       <sql-type>VARCHAR(20)</sql-type>
+        <sql-type>VARCHAR(20)</sql-type>
       </cmp-field>
       <cmp-field>
         <field-name>bookId</field-name>
@@ -86,7 +82,6 @@
     <entity>
       <ejb-name>Person</ejb-name>
       <table-name>PERSON</table-name>
-
       <cmp-field>
         <field-name>email</field-name>
         <column-name>EMAIL</column-name>
@@ -139,7 +134,6 @@
     <entity>
       <ejb-name>Publisher</ejb-name>
       <table-name>PUBLISHER</table-name>
-      
       <cmp-field>
         <field-name>publisherId</field-name>
         <column-name>PUBLISHER_ID</column-name>

Modified: jakarta/tapestry/trunk/examples/VlibBeans/src/java/org/apache/tapestry/vlib/ejb/impl/BookBean.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/examples/VlibBeans/src/java/org/apache/tapestry/vlib/ejb/impl/BookBean.java?rev=291658&r1=291657&r2=291658&view=diff
==============================================================================
--- jakarta/tapestry/trunk/examples/VlibBeans/src/java/org/apache/tapestry/vlib/ejb/impl/BookBean.java (original)
+++ jakarta/tapestry/trunk/examples/VlibBeans/src/java/org/apache/tapestry/vlib/ejb/impl/BookBean.java Mon Sep 26 09:15:58 2005
@@ -18,6 +18,8 @@
 import java.sql.Timestamp;
 import java.util.Map;
 
+import javax.ejb.CreateException;
+
 /**
  * Implementation of the Book entity.
  * <p>
@@ -83,7 +85,7 @@
 
     // Create methods
 
-    public Integer ejbCreate(Map attributes) throws RemoteException
+    public Integer ejbCreate(Map attributes) throws CreateException, RemoteException
     {
         setLendable(true);
 

Modified: jakarta/tapestry/trunk/examples/VlibBeans/src/java/org/apache/tapestry/vlib/ejb/impl/PersonBean.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/examples/VlibBeans/src/java/org/apache/tapestry/vlib/ejb/impl/PersonBean.java?rev=291658&r1=291657&r2=291658&view=diff
==============================================================================
--- jakarta/tapestry/trunk/examples/VlibBeans/src/java/org/apache/tapestry/vlib/ejb/impl/PersonBean.java (original)
+++ jakarta/tapestry/trunk/examples/VlibBeans/src/java/org/apache/tapestry/vlib/ejb/impl/PersonBean.java Mon Sep 26 09:15:58 2005
@@ -18,6 +18,8 @@
 import java.sql.Timestamp;
 import java.util.Map;
 
+import javax.ejb.CreateException;
+
 /**
  * Implementation of the Person entity.
  * <p>
@@ -69,7 +71,7 @@
 
     public abstract Timestamp getLastAccess();
 
-    public Integer ejbCreate(Map attributes) throws RemoteException
+    public Integer ejbCreate(Map attributes) throws CreateException, RemoteException
     {
         updateEntityAttributes(attributes);
 

Modified: jakarta/tapestry/trunk/examples/VlibBeans/src/java/org/apache/tapestry/vlib/ejb/impl/PublisherBean.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/examples/VlibBeans/src/java/org/apache/tapestry/vlib/ejb/impl/PublisherBean.java?rev=291658&r1=291657&r2=291658&view=diff
==============================================================================
--- jakarta/tapestry/trunk/examples/VlibBeans/src/java/org/apache/tapestry/vlib/ejb/impl/PublisherBean.java (original)
+++ jakarta/tapestry/trunk/examples/VlibBeans/src/java/org/apache/tapestry/vlib/ejb/impl/PublisherBean.java Mon Sep 26 09:15:58 2005
@@ -16,6 +16,8 @@
 
 import java.rmi.RemoteException;
 
+import javax.ejb.CreateException;
+
 /**
  * Implementation of the Publisher entity.
  * <p>
@@ -42,7 +44,7 @@
         { "name" };
     }
 
-    public Integer ejbCreate(String name) throws RemoteException
+    public Integer ejbCreate(String name) throws CreateException, RemoteException
     {
         setPublisherId(allocateKey());
         setName(name);



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