[seam-commits] Seam SVN: r7190 - in trunk/seam-gen: build-scripts and 7 other directories.
seam-commits at lists.jboss.org
seam-commits at lists.jboss.org
Tue Jan 22 12:25:59 EST 2008
Author: pete.muir at jboss.org
Date: 2008-01-22 12:25:59 -0500 (Tue, 22 Jan 2008)
New Revision: 7190
Added:
trunk/seam-gen/src/Authenticator.java
Removed:
trunk/seam-gen/src/UserAccount.java
trunk/seam-gen/src/UserAction.java
trunk/seam-gen/src/UserSearch.java
trunk/seam-gen/view/img/btn_newuser.png
trunk/seam-gen/view/img/checkmark.png
trunk/seam-gen/view/img/cross.png
trunk/seam-gen/view/userdetail.xhtml
trunk/seam-gen/view/usermanager.xhtml
Modified:
trunk/seam-gen/build-scripts/build-war.xml
trunk/seam-gen/build-scripts/build.xml
trunk/seam-gen/build.xml
trunk/seam-gen/resources/WEB-INF/components.xml
trunk/seam-gen/resources/WEB-INF/pages.xml
trunk/seam-gen/resources/import.sql
trunk/seam-gen/resources/security.drl
trunk/seam-gen/view/layout/menu.xhtml
trunk/seam-gen/view/stylesheet/theme.css
Log:
JBSEAM-2521 and fixes needed for jbas5 module
Modified: trunk/seam-gen/build-scripts/build-war.xml
===================================================================
--- trunk/seam-gen/build-scripts/build-war.xml 2008-01-22 17:16:09 UTC (rev 7189)
+++ trunk/seam-gen/build-scripts/build-war.xml 2008-01-22 17:25:59 UTC (rev 7190)
@@ -185,6 +185,7 @@
<include name="jsf-facelets.jar" />
<include name="jboss-seam-*.jar" />
<exclude name="jboss-seam-gen.jar" />
+ <exclude name="jboss-seam-jbas5.jar" />
<include name="drools-*.jar"/>
<include name="core.jar"/>
<include name="janino*.jar"/>
Modified: trunk/seam-gen/build-scripts/build.xml
===================================================================
--- trunk/seam-gen/build-scripts/build.xml 2008-01-22 17:16:09 UTC (rev 7189)
+++ trunk/seam-gen/build-scripts/build.xml 2008-01-22 17:25:59 UTC (rev 7190)
@@ -130,6 +130,7 @@
<include name="jsf-facelets.jar" />
<include name="jboss-seam-*.jar" />
<exclude name="jboss-seam-gen.jar" />
+ <exclude name="jboss-seam-jbas5.jar" />
</fileset>
</copy>
<copy todir="${war.dir}/WEB-INF/classes">
Modified: trunk/seam-gen/build.xml
===================================================================
--- trunk/seam-gen/build.xml 2008-01-22 17:16:09 UTC (rev 7189)
+++ trunk/seam-gen/build.xml 2008-01-22 17:25:59 UTC (rev 7190)
@@ -1,1303 +1,1235 @@
<?xml version="1.0"?>
-<project name="seam-gen" default="help" basedir="." xmlns:artifact="urn:maven-artifact-ant">
- <!-- Build resources -->
- <property name="seam.dir" value="${ant.file.seam-gen}/../../" />
- <import file="${seam.dir}/build/common.build.xml" />
-
- <target name="init">
- <path id="seam-gen.path" path="${seam.dir}/lib/jboss-seam-gen.jar" />
+<project name="seam-gen" default="help" basedir="." xmlns:artifact="urn:maven-artifact-ant">
+ <!-- Build resources -->
+ <property name="seam.dir" value="${ant.file.seam-gen}/../../" />
+ <import file="${seam.dir}/build/common.build.xml" />
+
+ <target name="init">
+ <path id="seam-gen.path" path="${seam.dir}/lib/jboss-seam-gen.jar" />
- <!-- taskdefs -->
- <taskdef name="normalizeProjectName"
- classname="org.jboss.seam.tool.NormalizeProjectNameTask"
- classpathref="seam-gen.path"/>
-
- <taskdef name="packageDirectory"
- classname="org.jboss.seam.tool.PackageDirectoryTask"
- classpathref="seam-gen.path"/>
+ <!-- taskdefs -->
+ <taskdef name="normalizeProjectName"
+ classname="org.jboss.seam.tool.NormalizeProjectNameTask"
+ classpathref="seam-gen.path"/>
+
+ <taskdef name="packageDirectory"
+ classname="org.jboss.seam.tool.PackageDirectoryTask"
+ classpathref="seam-gen.path"/>
+
+ <taskdef name="pathFilename"
+ classname="org.jboss.seam.tool.PathFilenameTask"
+ classpathref="seam-gen.path"/>
+
+ <taskdef name="lowercaseProperty"
+ classname="org.jboss.seam.tool.LowercasePropertyTask"
+ classpathref="seam-gen.path"/>
+
+ <taskdef name="uppercaseProperty"
+ classname="org.jboss.seam.tool.UppercasePropertyTask"
+ classpathref="seam-gen.path"/>
+
+ <taskdef name="print"
+ classname="org.jboss.seam.tool.PrintTask"
+ classpathref="seam-gen.path"/>
+
+ <taskdef name="pathFixer"
+ classname="org.jboss.seam.tool.FixPathTask"
+ classpathref="seam-gen.path"/>
+ </target>
- <taskdef name="pathFilename"
- classname="org.jboss.seam.tool.PathFilenameTask"
- classpathref="seam-gen.path"/>
-
- <taskdef name="lowercaseProperty"
- classname="org.jboss.seam.tool.LowercasePropertyTask"
- classpathref="seam-gen.path"/>
-
- <taskdef name="uppercaseProperty"
- classname="org.jboss.seam.tool.UppercasePropertyTask"
- classpathref="seam-gen.path"/>
-
- <taskdef name="print"
- classname="org.jboss.seam.tool.PrintTask"
- classpathref="seam-gen.path"/>
-
- <taskdef name="pathFixer"
- classname="org.jboss.seam.tool.FixPathTask"
- classpathref="seam-gen.path"/>
- </target>
-
- <target name="init-properties" depends="init">
- <property file="./build.properties" />
+ <target name="init-properties" depends="init">
+ <property file="./build.properties" />
- <packageDirectory property="action.dir" package="action/${action.package}"/>
- <packageDirectory property="model.dir" package="model/${model.package}"/>
- <packageDirectory property="test.dir" package="test/${test.package}"/>
- <pathFilename property="driver.file" path="${driver.jar}"/>
-
- <condition property="hibernate.hbm2ddl.auto" value="update">
- <and>
- <equals arg1="${database.exists}" arg2="n"/>
- <equals arg1="${database.drop}" arg2="n"/>
- </and>
- </condition>
-
- <condition property="hibernate.hbm2ddl.auto" value="validate">
- <and>
- <equals arg1="${database.exists}" arg2="y"/>
- <equals arg1="${database.drop}" arg2="n"/>
- </and>
- </condition>
-
- <condition property="hibernate.hbm2ddl.auto" value="create-drop">
- <equals arg1="${database.drop}" arg2="y"/>
- </condition>
-
- <condition property="project.war" value="true">
- <equals arg1="${project.type}" arg2="war"/>
- </condition>
-
- <condition property="project.ear" value="true">
- <equals arg1="${project.type}" arg2="ear"/>
- </condition>
-
- <property name="project.home" value="${workspace.home}/${project.name}"/>
+ <packageDirectory property="action.dir" package="action/${action.package}"/>
+ <packageDirectory property="model.dir" package="model/${model.package}"/>
+ <packageDirectory property="test.dir" package="test/${test.package}"/>
+ <pathFilename property="driver.file" path="${driver.jar}"/>
- <!-- filtersets and filesets -->
+ <condition property="hibernate.hbm2ddl.auto" value="update">
+ <and>
+ <equals arg1="${database.exists}" arg2="n"/>
+ <equals arg1="${database.drop}" arg2="n"/>
+ </and>
+ </condition>
+ <condition property="hibernate.hbm2ddl.auto" value="validate">
+ <and>
+ <equals arg1="${database.exists}" arg2="y"/>
+ <equals arg1="${database.drop}" arg2="n"/>
+ </and>
+ </condition>
+ <condition property="hibernate.hbm2ddl.auto" value="create-drop">
+ <equals arg1="${database.drop}" arg2="y"/>
+ </condition>
+ <condition property="project.war" value="true">
+ <equals arg1="${project.type}" arg2="war"/>
+ </condition>
+ <condition property="project.ear" value="true">
+ <equals arg1="${project.type}" arg2="ear"/>
+ </condition>
+ <property name="project.home" value="${workspace.home}/${project.name}"/>
- <condition property="schema.property" value="
 <property name="hibernate.default_schema" value="${hibernate.default_schema}"/>">
- <isset property="hibernate.default_schema"/>
- </condition>
-
- <condition property="schema.property" value="">
- <not><isset property="hibernate.default_schema"/></not>
- </condition>
-
- <condition property="catalog.property" value="
 <property name="hibernate.default_catalog" value="${hibernate.default_catalog}"/>">
- <isset property="hibernate.default_catalog"/>
- </condition>
-
- <condition property="catalog.property" value="">
- <not><isset property="hibernate.default_catalog"/></not>
- </condition>
+ <!-- filtersets and filesets -->
- <condition property="base.dir" value="icefaces-staging" else=".">
- <equals arg1="${icefaces}" arg2="y"/>
- </condition>
+ <condition property="schema.property" value="
 <property name="hibernate.default_schema" value="${hibernate.default_schema}"/>">
+ <isset property="hibernate.default_schema"/>
+ </condition>
+ <condition property="schema.property" value="">
+ <not><isset property="hibernate.default_schema"/></not>
+ </condition>
+
+ <condition property="catalog.property" value="
 <property name="hibernate.default_catalog" value="${hibernate.default_catalog}"/>">
+ <isset property="hibernate.default_catalog"/>
+ </condition>
+ <condition property="catalog.property" value="">
+ <not><isset property="hibernate.default_catalog"/></not>
+ </condition>
+
+ <condition property="base.dir" value="icefaces-staging" else=".">
+ <equals arg1="${icefaces}" arg2="y"/>
+ </condition>
- <condition property="icefaces.lib" value="${icefaces.home}/lib" else="../lib">
- <and>
- <equals arg1="${icefaces}" arg2="y"/>
- <not>
- <equals arg1="${icefaces.home}" arg2=""/>
- </not>
- </and>
- </condition>
+ <condition property="icefaces.lib" value="${icefaces.home}/lib" else="../lib">
+ <and>
+ <equals arg1="${icefaces}" arg2="y"/>
+ <not>
+ <equals arg1="${icefaces.home}" arg2=""/>
+ </not>
+ </and>
+ </condition>
- <condition property="icefaces.property">
- <equals arg1="${icefaces}" arg2="y"/>
- </condition>
-
- <condition property="icefaces.lib.property">
- <and>
- <equals arg1="${icefaces}" arg2="y"/>
- <not>
- <equals arg1="${icefaces.home}" arg2=""/>
- </not>
- </and>
- </condition>
+ <condition property="icefaces.property">
+ <equals arg1="${icefaces}" arg2="y"/>
+ </condition>
+
+ <condition property="icefaces.lib.property">
+ <and>
+ <equals arg1="${icefaces}" arg2="y"/>
+ <not>
+ <equals arg1="${icefaces.home}" arg2=""/>
+ </not>
+ </and>
+ </condition>
- <filterset id="jdbc">
- <filter token="jdbcUrl" value="${hibernate.connection.url}"/>
- <filter token="driverClass" value="${hibernate.connection.driver_class}"/>
- <filter token="username" value="${hibernate.connection.username}"/>
- <filter token="password" value="${hibernate.connection.password}"/>
- <filter token="catalogProperty" value="${catalog.property}"/>
- <filter token="schemaProperty" value="${schema.property}"/>
- <filter token="hibernate.dialect" value="${hibernate.dialect}"/>
- </filterset>
-
- <echo message="${jboss.home}"/>
+ <filterset id="jdbc">
+ <filter token="jdbcUrl" value="${hibernate.connection.url}"/>
+ <filter token="driverClass" value="${hibernate.connection.driver_class}"/>
+ <filter token="username" value="${hibernate.connection.username}"/>
+ <filter token="password" value="${hibernate.connection.password}"/>
+ <filter token="catalogProperty" value="${catalog.property}"/>
+ <filter token="schemaProperty" value="${schema.property}"/>
+ <filter token="hibernate.dialect" value="${hibernate.dialect}"/>
+ </filterset>
+
+ <echo message="${jboss.home}"/>
- <filterset id="project">
- <filter token="projectName" value="${project.name}" />
- <filter token="jbossHome" value="${jboss.home}" />
- <filter token="iceHome" value="${icefaces.home}" />
- <filter token="hbm2ddl" value="${hibernate.hbm2ddl.auto}"/>
- <filter token="driverJar" value="${driver.file}"/>
- <filter token="skin" value="${richfaces.skin}" />
- <filter token="schemaVersion" value="${version}" />
- </filterset>
+ <filterset id="project">
+ <filter token="projectName" value="${project.name}" />
+ <filter token="jbossHome" value="${jboss.home}" />
+ <filter token="iceHome" value="${icefaces.home}" />
+ <filter token="hbm2ddl" value="${hibernate.hbm2ddl.auto}"/>
+ <filter token="driverJar" value="${driver.file}"/>
+ <filter token="skin" value="${richfaces.skin}" />
+ <filter token="schemaVersion" value="${version}" />
+ </filterset>
- </target>
+ </target>
- <!-- targets -->
+ <!-- targets -->
- <target name="setup-filters">
+ <target name="setup-filters">
- <filterset id="filters">
- <filter token="interfaceName" value="${interface.name}"/>
- <filter token="beanName" value="${bean.name}"/>
- <filter token="entityName" value="${entity.name}"/>
- <filter token="methodName" value="${method.name}"/>
- <filter token="componentName" value="${component.name}"/>
- <filter token="pageName" value="${page.name}"/>
- <filter token="masterPageName" value="${masterPage.name}"/>
- <filter token="actionPackage" value="${action.package}"/>
- <filter token="modelPackage" value="${model.package}"/>
- <filter token="testPackage" value="${test.package}"/>
- <filter token="listName" value="${component.name}List"/>
- <filter token="homeName" value="${component.name}Home"/>
- <filter token="query" value="${query.text}"/>
- </filterset>
+ <filterset id="filters">
+ <filter token="interfaceName" value="${interface.name}"/>
+ <filter token="beanName" value="${bean.name}"/>
+ <filter token="entityName" value="${entity.name}"/>
+ <filter token="methodName" value="${method.name}"/>
+ <filter token="componentName" value="${component.name}"/>
+ <filter token="pageName" value="${page.name}"/>
+ <filter token="masterPageName" value="${masterPage.name}"/>
+ <filter token="actionPackage" value="${action.package}"/>
+ <filter token="modelPackage" value="${model.package}"/>
+ <filter token="testPackage" value="${test.package}"/>
+ <filter token="listName" value="${component.name}List"/>
+ <filter token="homeName" value="${component.name}Home"/>
+ <filter token="query" value="${query.text}"/>
+ </filterset>
- </target>
+ </target>
- <target name="setup"
- description="Prompt for settings" depends="init">
- <property file="./build.properties" prefix="old" />
+ <target name="setup"
+ description="Prompt for settings" depends="init">
+ <property file="./build.properties" prefix="old" />
- <echo message="Welcome to seam-gen :-)"/>
- <property name="old.workspace.home" value="C:/Projects"/>
- <input addproperty="workspace.home.new"
- message="Enter your Java project workspace (the directory that contains your Seam projects) [${old.workspace.home}]"
- defaultvalue="${old.workspace.home}"/>
-
- <pathFixer property="workspace.home.new" />
+ <echo message="Welcome to seam-gen :-)"/>
+ <property name="old.workspace.home" value="C:/Projects"/>
+ <input addproperty="workspace.home.new"
+ message="Enter your Java project workspace (the directory that contains your Seam projects) [${old.workspace.home}]"
+ defaultvalue="${old.workspace.home}"/>
+ <pathFixer property="workspace.home.new" />
- <property name="old.jboss.home" value="C:/Program Files/jboss-4.2.2.GA"/>
+ <property name="old.jboss.home" value="C:/Program Files/jboss-4.2.2.GA"/>
+ <input addproperty="jboss.home.new"
+ message="Enter your JBoss home directory [${old.jboss.home}]"
+ defaultvalue="${old.jboss.home}"/>
+ <pathFixer property="jboss.home.new" />
+
+ <property name="old.project.name" value="myproject"/>
+ <input addproperty="project.name.new"
+ message="Enter the project name [${old.project.name}]"
+ defaultvalue="${old.project.name}"/>
+ <normalizeProjectName property="project.name.new" />
+ <echo message="Accepted project name as: ${project.name.new}" />
+
+ <property name="old.icefaces" value="n"/>
+ <input addproperty="icefaces.new"
+ message="Do you want to use ICEFaces instead of RichFaces [${old.icefaces}]"
+ validargs="y,n,"
+ defaultvalue="${old.icefaces}" />
+
+ <condition property="icefaces.home.new" value="">
+ <equals arg1="${icefaces.new}" arg2="n"/>
+ </condition>
+
+ <property name="old.icefaces.home" value="" />
+ <input addproperty="icefaces.home.new"
+ message="By default, seam-gen will download the recommended ICEFaces. If you want to use a specific version of ICEFaces, enter the path to icefaces here [${old.icefaces.home}]"
+ defaultvalue="${old.icefaces.home}" />
- <input addproperty="jboss.home.new"
- message="Enter your JBoss home directory [${old.jboss.home}]"
- defaultvalue="${old.jboss.home}"/>
+ <condition property="richfaces.skin.new" value="">
+ <equals arg1="${icefaces.new}" arg2="y"/>
+ </condition>
- <pathFixer property="jboss.home.new" />
+ <property name="old.richfaces.skin" value="blueSky"/>
+ <input addproperty="richfaces.skin.new"
+ message="Select a RichFaces skin [${old.richfaces.skin}]"
+ validargs="blueSky,classic,ruby,wine,deepMarine,emeraldTown,sakura,DEFAULT"
+ defaultvalue="${old.richfaces.skin}"/>
- <property name="old.project.name" value="myproject"/>
+ <property name="old.project.type" value="ear"/>
+ <input addproperty="project.type.new"
+ message="Is this project deployed as an EAR (with EJB components) or a WAR (with no EJB support) [${old.project.type}] "
+ validargs="ear,war,"
+ defaultvalue="${old.project.type}"/>
+
+ <property name="old.action.package" value="com.mydomain.${project.name.new}"/>
+ <input addproperty="action.package.new"
+ message="Enter the Java package name for your session beans [${old.action.package}]"
+ defaultvalue="${old.action.package}"/>
+
+ <property name="old.model.package" value="${action.package.new}"/>
+ <input addproperty="model.package.new"
+ message="Enter the Java package name for your entity beans [${old.model.package}]"
+ defaultvalue="${old.model.package}"/>
+
+ <property name="old.test.package" value="${action.package.new}.test"/>
+ <input addproperty="test.package.new"
+ message="Enter the Java package name for your test cases [${old.test.package}]"
+ defaultvalue="${old.test.package}"/>
+
+ <condition property="database.type.default" value="${old.database.type}">
+ <isset property="old.database.type"/>
+ </condition>
+ <property name="database.type.default" value="hsql"/>
+ <input addproperty="database.type.new"
+ message="What kind of database are you using? [${database.type.default}] "
+ validargs="hsql,mysql,oracle,postgres,mssql,db2,sybase,enterprisedb,h2"
+ defaultvalue="${database.type.default}"/>
+
+ <!-- if the database type did not change, default to the previous values -->
+
+ <condition property="hibernate.dialect.default" value="${old.hibernate.dialect}">
+ <equals arg1="${old.database.type}" arg2="${database.type.new}"/>
+ </condition>
+ <condition property="hibernate.connection.url.default" value="${old.hibernate.connection.url}">
+ <equals arg1="${old.database.type}" arg2="${database.type.new}"/>
+ </condition>
+ <condition property="hibernate.connection.driver_class.default" value="${old.hibernate.connection.driver_class}">
+ <equals arg1="${old.database.type}" arg2="${database.type.new}"/>
+ </condition>
+
+ <!-- otherwise default to the defaults for the database type -->
+
+ <condition property="hibernate.dialect.default" value="org.hibernate.dialect.H2Dialect">
+ <equals arg1="${database.type.new}" arg2="h2"/>
+ </condition>
+ <condition property="hibernate.dialect.default" value="org.hibernate.dialect.HSQLDialect">
+ <equals arg1="${database.type.new}" arg2="hsql"/>
+ </condition>
+ <condition property="hibernate.dialect.default" value="org.hibernate.dialect.MySQLDialect">
+ <equals arg1="${database.type.new}" arg2="mysql"/>
+ </condition>
+ <condition property="hibernate.dialect.default" value="org.hibernate.dialect.OracleDialect">
+ <equals arg1="${database.type.new}" arg2="oracle"/>
+ </condition>
+ <condition property="hibernate.dialect.default" value="org.hibernate.dialect.PostgreSQLDialect">
+ <equals arg1="${database.type.new}" arg2="postgres"/>
+ </condition>
+ <condition property="hibernate.dialect.default" value="org.hibernate.dialect.SQLServerDialect">
+ <equals arg1="${database.type.new}" arg2="mssql"/>
+ </condition>
+ <condition property="hibernate.dialect.default" value="org.hibernate.dialect.DB2Dialect">
+ <equals arg1="${database.type.new}" arg2="db2"/>
+ </condition>
+ <condition property="hibernate.dialect.default" value="org.hibernate.dialect.SybaseDialect">
+ <equals arg1="${database.type.new}" arg2="sybase"/>
+ </condition>
+ <condition property="hibernate.dialect.default" value="org.hibernate.dialect.PostgreSQLDialect">
+ <equals arg1="${database.type.new}" arg2="enterprisedb"/>
+ </condition>
- <input addproperty="project.name.new"
- message="Enter the project name [${old.project.name}]"
- defaultvalue="${old.project.name}"/>
- <normalizeProjectName property="project.name.new" />
- <echo message="Accepted project name as: ${project.name.new}" />
-
- <property name="old.icefaces" value="n"/>
- <input addproperty="icefaces.new"
- message="Do you want to use ICEFaces instead of RichFaces [${old.icefaces}]"
- validargs="y,n,"
- defaultvalue="${old.icefaces}" />
-
- <condition property="icefaces.home.new" value="">
- <equals arg1="${icefaces.new}" arg2="n"/>
- </condition>
-
- <property name="old.icefaces.home" value="" />
- <input addproperty="icefaces.home.new"
- message="By default, seam-gen will download the recommended ICEFaces. If you want to use a specific version of ICEFaces, enter the path to icefaces here [${old.icefaces.home}]"
- defaultvalue="${old.icefaces.home}" />
+ <!-- hibernate tools now correct detects the three available dialects; this detection may no longer be needed -->
+ <!--
+ <condition property="hibernatetool.metadatadialect.new" value="org.hibernate.cfg.reveng.dialect.H2MetaDataDialect">
+ <equals arg1="${database.type.new}" arg2="h2"/>
+ </condition>
+ <condition property="hibernatetool.metadatadialect.new" value="org.hibernate.cfg.reveng.dialect.MySQLMetaDataDialect">
+ <equals arg1="${database.type.new}" arg2="mysql"/>
+ </condition>
+ <condition property="hibernatetool.metadatadialect.new" value="org.hibernate.cfg.reveng.dialect.OracleMetaDataDialect">
+ <equals arg1="${database.type.new}" arg2="oracle"/>
+ </condition>
+ <condition property="hibernatetool.metadatadialect.new" value="">
+ <and>
+ <not><equals arg1="${database.type.new}" arg2="h2" /></not>
+ <not><equals arg1="${database.type.new}" arg2="mysql" /></not>
+ <not><equals arg1="${database.type.new}" arg2="oracle" /></not>
+ </and>
+ </condition>
+ -->
- <condition property="richfaces.skin.new" value="">
- <equals arg1="${icefaces.new}" arg2="y"/>
- </condition>
+ <condition property="hibernate.connection.driver_class.default" value="org.h2.Driver">
+ <equals arg1="${database.type.new}" arg2="h2"/>
+ </condition>
+ <condition property="hibernate.connection.driver_class.default" value="org.hsqldb.jdbcDriver">
+ <equals arg1="${database.type.new}" arg2="hsql"/>
+ </condition>
+ <condition property="hibernate.connection.driver_class.default" value="com.mysql.jdbc.Driver">
+ <equals arg1="${database.type.new}" arg2="mysql"/>
+ </condition>
+ <condition property="hibernate.connection.driver_class.default" value="oracle.jdbc.driver.OracleDriver">
+ <equals arg1="${database.type.new}" arg2="oracle"/>
+ </condition>
+ <condition property="hibernate.connection.driver_class.default" value="org.postgresql.Driver">
+ <equals arg1="${database.type.new}" arg2="postgres"/>
+ </condition>
+ <condition property="hibernate.connection.driver_class.default" value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
+ <equals arg1="${database.type.new}" arg2="mssql"/>
+ </condition>
+ <condition property="hibernate.connection.driver_class.default" value="COM.ibm.db2.jdbc.app.DB2Driver">
+ <equals arg1="${database.type.new}" arg2="db2"/>
+ </condition>
+ <condition property="hibernate.connection.driver_class.default" value="com.sybase.jdbc2.jdbc.SybDriver">
+ <equals arg1="${database.type.new}" arg2="sybase"/>
+ </condition>
+ <condition property="hibernate.connection.driver_class.default" value="com.edb.Driver">
+ <equals arg1="${database.type.new}" arg2="enterprisedb"/>
+ </condition>
- <property name="old.richfaces.skin" value="blueSky"/>
- <input addproperty="richfaces.skin.new"
- message="Select a RichFaces skin [${old.richfaces.skin}]"
- validargs="blueSky,classic,ruby,wine,deepMarine,emeraldTown,sakura,DEFAULT"
- defaultvalue="${old.richfaces.skin}"/>
-
- <property name="old.project.type" value="ear"/>
- <input addproperty="project.type.new"
- message="Is this project deployed as an EAR (with EJB components) or a WAR (with no EJB support) [${old.project.type}] "
- validargs="ear,war,"
- defaultvalue="${old.project.type}"/>
-
- <property name="old.action.package" value="com.mydomain.${project.name.new}"/>
- <input addproperty="action.package.new"
- message="Enter the Java package name for your session beans [${old.action.package}]"
- defaultvalue="${old.action.package}"/>
-
- <property name="old.model.package" value="${action.package.new}"/>
- <input addproperty="model.package.new"
- message="Enter the Java package name for your entity beans [${old.model.package}]"
- defaultvalue="${old.model.package}"/>
-
- <property name="old.test.package" value="${action.package.new}.test"/>
- <input addproperty="test.package.new"
- message="Enter the Java package name for your test cases [${old.test.package}]"
- defaultvalue="${old.test.package}"/>
-
- <condition property="database.type.default" value="${old.database.type}">
- <isset property="old.database.type"/>
- </condition>
+ <condition property="hibernate.connection.url.default" value="jdbc:h2:.">
+ <equals arg1="${database.type.new}" arg2="h2"/>
+ </condition>
+ <condition property="hibernate.connection.url.default" value="jdbc:hsqldb:.">
+ <equals arg1="${database.type.new}" arg2="hsql"/>
+ </condition>
+ <condition property="hibernate.connection.url.default" value="jdbc:mysql:///test">
+ <equals arg1="${database.type.new}" arg2="mysql"/>
+ </condition>
+ <condition property="hibernate.connection.url.default" value="jdbc:oracle:thin:@localhost:1521:test">
+ <equals arg1="${database.type.new}" arg2="oracle"/>
+ </condition>
+ <condition property="hibernate.connection.url.default" value="jdbc:postgresql:template1">
+ <equals arg1="${database.type.new}" arg2="postgres"/>
+ </condition>
+ <condition property="hibernate.connection.url.default" value="jdbc:sqlserver://localhost">
+ <equals arg1="${database.type.new}" arg2="mssql"/>
+ </condition>
+ <condition property="hibernate.connection.url.default" value="jdbc:db2:test">
+ <equals arg1="${database.type.new}" arg2="db2"/>
+ </condition>
+ <condition property="hibernate.connection.url.default" value="jdbc:sybase:Tds:localhost:5000/test">
+ <equals arg1="${database.type.new}" arg2="sybase"/>
+ </condition>
+ <condition property="hibernate.connection.url.default" value="jdbc:edb://localhost:5444/edb">
+ <equals arg1="${database.type.new}" arg2="enterprisedb"/>
+ </condition>
+
+ <!-- finally, default them to HSQL -->
+
+ <property name="hibernate.dialect.default" value="org.hibernate.dialect.HSQLDialect"/>
+ <property name="hibernate.connection.driver_class.default" value="org.hsqldb.jdbcDriver"/>
+ <property name="hibernate.connection.url.default" value="jdbc:hsqldb:."/>
+
+ <input addproperty="hibernate.dialect.new"
+ message="Enter the Hibernate dialect for your database [${hibernate.dialect.default}]"
+ defaultvalue="${hibernate.dialect.default}"/>
+
+ <property name="old.driver.jar" value="lib/hsqldb.jar"/>
+ <input addproperty="driver.jar.new"
+ message="Enter the filesystem path to the JDBC driver jar [${old.driver.jar}]"
+ defaultvalue="${old.driver.jar}"/>
+
+ <input addproperty="hibernate.connection.driver_class.new"
+ message="Enter JDBC driver class for your database [${hibernate.connection.driver_class.default}]"
+ defaultvalue="${hibernate.connection.driver_class.default}"/>
+
+ <input addproperty="hibernate.connection.url.new"
+ message="Enter the JDBC URL for your database [${hibernate.connection.url.default}]"
+ defaultvalue="${hibernate.connection.url.default}"/>
+
+ <property name="old.hibernate.connection.username" value="sa"/>
+ <input addproperty="hibernate.connection.username.new"
+ message="Enter database username [${old.hibernate.connection.username}]"
+ defaultvalue="${old.hibernate.connection.username}"/>
+
+ <property name="old.hibernate.connection.password" value=""/>
+ <input addproperty="hibernate.connection.password.new"
+ message="Enter database password [${old.hibernate.connection.password}]"
+ defaultvalue="${old.hibernate.connection.password}"/>
+
+ <property name="old.hibernate.default_schema" value=""/>
+ <condition property="hibernate.default_schema.new" value="">
+ <equals arg1="${database.type.new}" arg2="mysql"/>
+ </condition>
+ <input addproperty="hibernate.default_schema.new"
+ message="Enter the database schema name (it is OK to leave this blank) [${old.hibernate.default_schema}]"
+ defaultvalue="${old.hibernate.default_schema}"/>
+
+ <property name="old.hibernate.default_catalog" value=""/>
+ <input addproperty="hibernate.default_catalog.new"
+ message="Enter the database catalog name (it is OK to leave this blank) [${old.hibernate.default_catalog}]"
+ defaultvalue="${old.hibernate.default_catalog}"/>
+
+ <property name="old.database.exists" value="n"/>
+ <input addproperty="database.exists.new"
+ message="Are you working with tables that already exist in the database? [${old.database.exists}] "
+ validargs="y,n,"
+ defaultvalue="${old.database.exists}"/>
- <property name="database.type.default" value="hsql"/>
- <input addproperty="database.type.new"
- message="What kind of database are you using? [${database.type.default}] "
- validargs="hsql,mysql,oracle,postgres,mssql,db2,sybase,enterprisedb,h2"
- defaultvalue="${database.type.default}"/>
-
- <!-- if the database type did not change, default to the previous values -->
-
- <condition property="hibernate.dialect.default" value="${old.hibernate.dialect}">
- <equals arg1="${old.database.type}" arg2="${database.type.new}"/>
- </condition>
+ <property name="old.database.drop" value="n"/>
+ <input addproperty="database.drop.new"
+ message="Do you want to drop and recreate the database tables and data in import.sql each time you deploy? [${old.database.drop}] "
+ validargs="y,n,"
+ defaultvalue="${old.database.drop}"/>
+
+ <condition property="hibernate.default_schema.key" value="hibernate.default_schema">
+ <not><equals arg1="${hibernate.default_schema.new}" arg2=""/></not>
+ </condition>
+ <condition property="hibernate.default_schema.key" value="hibernate.default_schema.null">
+ <equals arg1="${hibernate.default_schema.new}" arg2=""/>
+ </condition>
+
+ <condition property="hibernate.default_catalog.key" value="hibernate.default_catalog">
+ <not><equals arg1="${hibernate.default_catalog.new}" arg2=""/></not>
+ </condition>
+ <condition property="hibernate.default_catalog.key" value="hibernate.default_catalog.null">
+ <equals arg1="${hibernate.default_catalog.new}" arg2=""/>
+ </condition>
- <condition property="hibernate.connection.url.default" value="${old.hibernate.connection.url}">
- <equals arg1="${old.database.type}" arg2="${database.type.new}"/>
- </condition>
+ <!--
+ <condition property="hibernatetool.metadatadialect.key" value="hibernatetool.metadatadialect">
+ <not><equals arg1="${hibernatetool.metadatadialect.new}" arg2=""/></not>
+ </condition>
+ <condition property="hibernatetool.metadatadialect.key" value="hibernatetool.metadatadialect.null">
+ <equals arg1="${hibernatetool.metadatadialect.new}" arg2=""/>
+ </condition>
+ -->
- <condition property="hibernate.connection.driver_class.default" value="${old.hibernate.connection.driver_class}">
- <equals arg1="${old.database.type}" arg2="${database.type.new}"/>
- </condition>
-
- <!-- otherwise default to the defaults for the database type -->
-
- <condition property="hibernate.dialect.default" value="org.hibernate.dialect.H2Dialect">
- <equals arg1="${database.type.new}" arg2="h2"/>
- </condition>
+ <delete file="build.properties"/>
+ <propertyfile file="build.properties" comment="Generated by seam setup">
+ <entry key="workspace.home" value="${workspace.home.new}"/>
+ <entry key="project.name" value="${project.name.new}"/>
+ <entry key="richfaces.skin" value="${richfaces.skin.new}"/>
+ <entry key="project.type" value="${project.type.new}"/>
+ <entry key="jboss.home" value="${jboss.home.new}"/>
+ <entry key="icefaces" value="${icefaces.new}"/>
+ <entry key="icefaces.home" value="${icefaces.home.new}"/>
+ <entry key="action.package" value="${action.package.new}"/>
+ <entry key="model.package" value="${model.package.new}"/>
+ <entry key="test.package" value="${test.package.new}"/>
+ <entry key="database.type" value="${database.type.new}"/>
+ <entry key="database.exists" value="${database.exists.new}"/>
+ <entry key="database.drop" value="${database.drop.new}"/>
+ <entry key="driver.jar" value="${driver.jar.new}"/>
+ <entry key="hibernate.dialect" value="${hibernate.dialect.new}"/>
+ <!--<entry key="${hibernatetool.metadatadialect.key}" value="${hibernatetool.metadatadialect.new}" />-->
+ <entry key="hibernate.connection.driver_class" value="${hibernate.connection.driver_class.new}"/>
+ <entry key="hibernate.connection.url" value="${hibernate.connection.url.new}"/>
+ <entry key="hibernate.connection.username" value="${hibernate.connection.username.new}"/>
+ <entry key="hibernate.connection.password" value="${hibernate.connection.password.new}"/>
+ <entry key="hibernate.connection.password" value="${hibernate.connection.password.new}"/>
+ <entry key="${hibernate.default_schema.key}" value="${hibernate.default_schema.new}"/>
+ <entry key="${hibernate.default_catalog.key}" value="${hibernate.default_catalog.new}"/>
+ <entry key="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider"/> <!-- yuck! -->
+ </propertyfile>
+
+ <echo message="Installing JDBC driver jar to JBoss server"/>
+ <copy file="${driver.jar.new}" todir="${jboss.home.new}/server/default/lib"/>
- <condition property="hibernate.dialect.default" value="org.hibernate.dialect.HSQLDialect">
- <equals arg1="${database.type.new}" arg2="hsql"/>
- </condition>
+ <echo message="Type 'seam create-project' to create the new project"/>
+ </target>
- <condition property="hibernate.dialect.default" value="org.hibernate.dialect.MySQLDialect">
- <equals arg1="${database.type.new}" arg2="mysql"/>
- </condition>
-
- <condition property="hibernate.dialect.default" value="org.hibernate.dialect.OracleDialect">
- <equals arg1="${database.type.new}" arg2="oracle"/>
- </condition>
-
- <condition property="hibernate.dialect.default" value="org.hibernate.dialect.PostgreSQLDialect">
- <equals arg1="${database.type.new}" arg2="postgres"/>
- </condition>
-
- <condition property="hibernate.dialect.default" value="org.hibernate.dialect.SQLServerDialect">
- <equals arg1="${database.type.new}" arg2="mssql"/>
- </condition>
-
- <condition property="hibernate.dialect.default" value="org.hibernate.dialect.DB2Dialect">
- <equals arg1="${database.type.new}" arg2="db2"/>
- </condition>
-
- <condition property="hibernate.dialect.default" value="org.hibernate.dialect.SybaseDialect">
- <equals arg1="${database.type.new}" arg2="sybase"/>
- </condition>
-
- <condition property="hibernate.dialect.default" value="org.hibernate.dialect.PostgreSQLDialect">
- <equals arg1="${database.type.new}" arg2="enterprisedb"/>
- </condition>
-
- <!-- hibernate tools now correct detects the three available dialects; this detection may no longer be needed -->
- <!--
- <condition property="hibernatetool.metadatadialect.new" value="org.hibernate.cfg.reveng.dialect.H2MetaDataDialect">
- <equals arg1="${database.type.new}" arg2="h2"/>
- </condition>
- <condition property="hibernatetool.metadatadialect.new" value="org.hibernate.cfg.reveng.dialect.MySQLMetaDataDialect">
- <equals arg1="${database.type.new}" arg2="mysql"/>
- </condition>
- <condition property="hibernatetool.metadatadialect.new" value="org.hibernate.cfg.reveng.dialect.OracleMetaDataDialect">
- <equals arg1="${database.type.new}" arg2="oracle"/>
- </condition>
- <condition property="hibernatetool.metadatadialect.new" value="">
- <and>
- <not><equals arg1="${database.type.new}" arg2="h2" /></not>
- <not><equals arg1="${database.type.new}" arg2="mysql" /></not>
- <not><equals arg1="${database.type.new}" arg2="oracle" /></not>
- </and>
- </condition>
- -->
-
- <condition property="hibernate.connection.driver_class.default" value="org.h2.Driver">
- <equals arg1="${database.type.new}" arg2="h2"/>
- </condition>
-
- <condition property="hibernate.connection.driver_class.default" value="org.hsqldb.jdbcDriver">
- <equals arg1="${database.type.new}" arg2="hsql"/>
- </condition>
-
- <condition property="hibernate.connection.driver_class.default" value="com.mysql.jdbc.Driver">
- <equals arg1="${database.type.new}" arg2="mysql"/>
- </condition>
-
- <condition property="hibernate.connection.driver_class.default" value="oracle.jdbc.driver.OracleDriver">
- <equals arg1="${database.type.new}" arg2="oracle"/>
- </condition>
-
- <condition property="hibernate.connection.driver_class.default" value="org.postgresql.Driver">
- <equals arg1="${database.type.new}" arg2="postgres"/>
- </condition>
-
- <condition property="hibernate.connection.driver_class.default" value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
- <equals arg1="${database.type.new}" arg2="mssql"/>
- </condition>
-
- <condition property="hibernate.connection.driver_class.default" value="COM.ibm.db2.jdbc.app.DB2Driver">
- <equals arg1="${database.type.new}" arg2="db2"/>
- </condition>
-
- <condition property="hibernate.connection.driver_class.default" value="com.sybase.jdbc2.jdbc.SybDriver">
- <equals arg1="${database.type.new}" arg2="sybase"/>
- </condition>
-
- <condition property="hibernate.connection.driver_class.default" value="com.edb.Driver">
- <equals arg1="${database.type.new}" arg2="enterprisedb"/>
- </condition>
-
- <condition property="hibernate.connection.url.default" value="jdbc:h2:.">
- <equals arg1="${database.type.new}" arg2="h2"/>
- </condition>
-
- <condition property="hibernate.connection.url.default" value="jdbc:hsqldb:.">
- <equals arg1="${database.type.new}" arg2="hsql"/>
- </condition>
-
- <condition property="hibernate.connection.url.default" value="jdbc:mysql:///test">
- <equals arg1="${database.type.new}" arg2="mysql"/>
- </condition>
-
- <condition property="hibernate.connection.url.default" value="jdbc:oracle:thin:@localhost:1521:test">
- <equals arg1="${database.type.new}" arg2="oracle"/>
- </condition>
-
- <condition property="hibernate.connection.url.default" value="jdbc:postgresql:template1">
- <equals arg1="${database.type.new}" arg2="postgres"/>
- </condition>
-
- <condition property="hibernate.connection.url.default" value="jdbc:sqlserver://localhost">
- <equals arg1="${database.type.new}" arg2="mssql"/>
- </condition>
-
- <condition property="hibernate.connection.url.default" value="jdbc:db2:test">
- <equals arg1="${database.type.new}" arg2="db2"/>
- </condition>
-
- <condition property="hibernate.connection.url.default" value="jdbc:sybase:Tds:localhost:5000/test">
- <equals arg1="${database.type.new}" arg2="sybase"/>
- </condition>
-
- <condition property="hibernate.connection.url.default" value="jdbc:edb://localhost:5444/edb">
- <equals arg1="${database.type.new}" arg2="enterprisedb"/>
- </condition>
-
- <!-- finally, default them to HSQL -->
+ <target name="icefaces-staging-copy" if="icefaces.property">
+ <echo message="Set up the icefaces directory"/>
+ <copy todir="icefaces-staging">
+ <fileset dir=".">
+ <include name="build-scripts/**"/>
+ <include name="hibernatetools/**"/>
+ <include name="lib/**"/>
+ <include name="resources/**"/>
+ <include name="pojo/**"/>
+ <include name="src/**"/>
+ <include name="test/**"/>
+ <include name="view/**"/>
+ <include name="nbproject/**"/>
+ <include name="util/**"/>
+ </fileset>
+ </copy>
+ <copy todir="icefaces-staging" overwrite="true">
+ <fileset dir="icefaces">
+ <include name="build-scripts/**"/>
+ <include name="resources/**"/>
+ <include name="src/**"/>
+ <include name="view/**"/>
+ </fileset>
+ </copy>
+ </target>
- <property name="hibernate.dialect.default" value="org.hibernate.dialect.HSQLDialect"/>
- <property name="hibernate.connection.driver_class.default" value="org.hsqldb.jdbcDriver"/>
- <property name="hibernate.connection.url.default" value="jdbc:hsqldb:."/>
-
- <input addproperty="hibernate.dialect.new"
- message="Enter the Hibernate dialect for your database [${hibernate.dialect.default}]"
- defaultvalue="${hibernate.dialect.default}"/>
-
- <property name="old.driver.jar" value="lib/hsqldb.jar"/>
- <input addproperty="driver.jar.new"
- message="Enter the filesystem path to the JDBC driver jar [${old.driver.jar}]"
- defaultvalue="${old.driver.jar}"/>
-
- <input addproperty="hibernate.connection.driver_class.new"
- message="Enter JDBC driver class for your database [${hibernate.connection.driver_class.default}]"
- defaultvalue="${hibernate.connection.driver_class.default}"/>
-
- <input addproperty="hibernate.connection.url.new"
- message="Enter the JDBC URL for your database [${hibernate.connection.url.default}]"
- defaultvalue="${hibernate.connection.url.default}"/>
-
- <property name="old.hibernate.connection.username" value="sa"/>
- <input addproperty="hibernate.connection.username.new"
- message="Enter database username [${old.hibernate.connection.username}]"
- defaultvalue="${old.hibernate.connection.username}"/>
-
- <property name="old.hibernate.connection.password" value=""/>
- <input addproperty="hibernate.connection.password.new"
- message="Enter database password [${old.hibernate.connection.password}]"
- defaultvalue="${old.hibernate.connection.password}"/>
-
- <property name="old.hibernate.default_schema" value=""/>
- <condition property="hibernate.default_schema.new" value="">
- <equals arg1="${database.type.new}" arg2="mysql"/>
- </condition>
+ <target name="action-input" depends="init">
+
+ <input addproperty="component.name" message="Enter the Seam component name"/>
+
+ <uppercaseProperty name="interface.name.default" value="${component.name}"/>
+ <input message="Enter the local interface name [${interface.name.default}]"
+ addproperty="interface.name"
+ defaultvalue="${interface.name.default}"/>
+
+ <uppercaseProperty name="bean.name.default" value="${component.name}Bean"/>
+ <input message="Enter the bean class name [${bean.name.default}]"
+ addproperty="bean.name"
+ defaultvalue="${bean.name.default}"/>
+
+ <lowercaseProperty name="method.name.default" value="${component.name}"/>
+ <input message="Enter the action method name [${method.name.default}]"
+ addproperty="method.name"
+ defaultvalue="${method.name.default}"/>
+
+ <lowercaseProperty name="page.name.default" value="${component.name}"/>
+ <input message="Enter the page name [${page.name.default}]"
+ addproperty="page.name"
+ defaultvalue="${page.name.default}"/>
+
+ <property name="bean.file" value="${project.home}/src/${action.dir}/${bean.name}.java"/>
+ <property name="interface.file" value="${project.home}/src/${action.dir}/${interface.name}.java"/>
+ <property name="page.file" value="${project.home}/view/${page.name}.xhtml"/>
+ <property name="test.file" value="${project.home}/src/${test.dir}/${interface.name}Test.java"/>
+ <property name="testng.file" value="${project.home}/src/${test.dir}/${interface.name}Test.xml"/>
- <input addproperty="hibernate.default_schema.new"
- message="Enter the database schema name (it is OK to leave this blank) [${old.hibernate.default_schema}]"
- defaultvalue="${old.hibernate.default_schema}"/>
-
- <property name="old.hibernate.default_catalog" value=""/>
- <input addproperty="hibernate.default_catalog.new"
- message="Enter the database catalog name (it is OK to leave this blank) [${old.hibernate.default_catalog}]"
- defaultvalue="${old.hibernate.default_catalog}"/>
-
- <property name="old.database.exists" value="n"/>
- <input addproperty="database.exists.new"
- message="Are you working with tables that already exist in the database? [${old.database.exists}] "
- validargs="y,n,"
- defaultvalue="${old.database.exists}"/>
-
- <property name="old.database.drop" value="n"/>
- <input addproperty="database.drop.new"
- message="Do you want to drop and recreate the database tables and data in import.sql each time you deploy? [${old.database.drop}] "
- validargs="y,n,"
- defaultvalue="${old.database.drop}"/>
+ </target>
- <condition property="hibernate.default_schema.key" value="hibernate.default_schema">
- <not><equals arg1="${hibernate.default_schema.new}" arg2=""/></not>
- </condition>
-
- <condition property="hibernate.default_schema.key" value="hibernate.default_schema.null">
- <equals arg1="${hibernate.default_schema.new}" arg2=""/>
- </condition>
+ <target name="entity-input" depends="init">
- <condition property="hibernate.default_catalog.key" value="hibernate.default_catalog">
- <not><equals arg1="${hibernate.default_catalog.new}" arg2=""/></not>
- </condition>
+ <input addproperty="entity.name" message="Enter the entity class name"/>
+ <lowercaseProperty name="component.name" value="${entity.name}"/>
+
+ <lowercaseProperty name="masterPage.name.default" value="${component.name}List"/>
+ <input message="Enter the master page name [${masterPage.name.default}]"
+ addproperty="masterPage.name"
+ defaultvalue="${masterPage.name.default}"/>
+
+ <lowercaseProperty name="page.name.default" value="${component.name}"/>
+ <input message="Enter the detail page name [${page.name.default}]"
+ addproperty="page.name"
+ defaultvalue="${page.name.default}"/>
+
+ <property name="entity.file" value="${project.home}/src/${model.dir}/${entity.name}.java"/>
+ <property name="home.file" value="${project.home}/src/${action.dir}/${entity.name}Home.java"/>
+ <property name="list.file" value="${project.home}/src/${action.dir}/${entity.name}List.java"/>
+ <property name="page.file" value="${project.home}/view/${page.name}.xhtml"/>
+ <property name="masterPage.file" value="${project.home}/view/${masterPage.name}.xhtml"/>
- <condition property="hibernate.default_catalog.key" value="hibernate.default_catalog.null">
- <equals arg1="${hibernate.default_catalog.new}" arg2=""/>
- </condition>
-
- <!--
- <condition property="hibernatetool.metadatadialect.key" value="hibernatetool.metadatadialect">
- <not><equals arg1="${hibernatetool.metadatadialect.new}" arg2=""/></not>
- </condition>
- <condition property="hibernatetool.metadatadialect.key" value="hibernatetool.metadatadialect.null">
- <equals arg1="${hibernatetool.metadatadialect.new}" arg2=""/>
- </condition>
- -->
-
- <delete file="build.properties"/>
-
- <propertyfile file="build.properties" comment="Generated by seam setup">
- <entry key="workspace.home" value="${workspace.home.new}"/>
- <entry key="project.name" value="${project.name.new}"/>
- <entry key="richfaces.skin" value="${richfaces.skin.new}"/>
- <entry key="project.type" value="${project.type.new}"/>
- <entry key="jboss.home" value="${jboss.home.new}"/>
- <entry key="icefaces" value="${icefaces.new}"/>
- <entry key="icefaces.home" value="${icefaces.home.new}"/>
- <entry key="action.package" value="${action.package.new}"/>
- <entry key="model.package" value="${model.package.new}"/>
- <entry key="test.package" value="${test.package.new}"/>
- <entry key="database.type" value="${database.type.new}"/>
- <entry key="database.exists" value="${database.exists.new}"/>
- <entry key="database.drop" value="${database.drop.new}"/>
- <entry key="driver.jar" value="${driver.jar.new}"/>
- <entry key="hibernate.dialect" value="${hibernate.dialect.new}"/>
- <!--<entry key="${hibernatetool.metadatadialect.key}" value="${hibernatetool.metadatadialect.new}" />-->
- <entry key="hibernate.connection.driver_class" value="${hibernate.connection.driver_class.new}"/>
- <entry key="hibernate.connection.url" value="${hibernate.connection.url.new}"/>
- <entry key="hibernate.connection.username" value="${hibernate.connection.username.new}"/>
- <entry key="hibernate.connection.password" value="${hibernate.connection.password.new}"/>
- <entry key="hibernate.connection.password" value="${hibernate.connection.password.new}"/>
- <entry key="${hibernate.default_schema.key}" value="${hibernate.default_schema.new}"/>
- <entry key="${hibernate.default_catalog.key}" value="${hibernate.default_catalog.new}"/>
- <entry key="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider"/> <!-- yuck! -->
- </propertyfile>
+ </target>
- <echo message="Installing JDBC driver jar to JBoss server"/>
- <copy file="${driver.jar.new}" todir="${jboss.home.new}/server/default/lib"/>
+ <target name="query-input">
+ <property name="entity.name.default" value="Entity" />
+ <input addproperty="entity.name"
+ message="Enter the entity class to search for [${entity.name.default}] "
+ defaultvalue="${entity.name}"/>
- <echo message="Type 'seam create-project' to create the new project"/>
- </target>
+ <property name="entity.file" value="${project.home}/src/${model.dir}/${entity.name}.java" />
+ <available property="entity.present" file="${entity.file}" />
+ <fail unless="entity.present">
+ The entity ${entity.name} was not found. It was expected to be in ${entity.file}.
+ </fail>
- <target name="icefaces-staging-copy" if="icefaces.property">
- <echo message="Set up the icefaces directory"/>
- <copy todir="icefaces-staging">
- <fileset dir=".">
- <include name="build-scripts/**"/>
- <include name="hibernatetools/**"/>
- <include name="lib/**"/>
- <include name="resources/**"/>
- <include name="pojo/**"/>
- <include name="src/**"/>
- <include name="test/**"/>
- <include name="view/**"/>
- <include name="nbproject/**"/>
- <include name="util/**"/>
- </fileset>
- </copy>
-
- <copy todir="icefaces-staging" overwrite="true">
- <fileset dir="icefaces">
- <include name="build-scripts/**"/>
- <include name="resources/**"/>
- <include name="src/**"/>
- <include name="view/**"/>
- </fileset>
- </copy>
- </target>
-
- <target name="action-input" depends="init">
- <input addproperty="component.name" message="Enter the Seam component name"/>
-
- <uppercaseProperty name="interface.name.default" value="${component.name}"/>
- <input message="Enter the local interface name [${interface.name.default}]"
- addproperty="interface.name"
- defaultvalue="${interface.name.default}"/>
-
- <uppercaseProperty name="bean.name.default" value="${component.name}Bean"/>
- <input message="Enter the bean class name [${bean.name.default}]"
- addproperty="bean.name"
- defaultvalue="${bean.name.default}"/>
-
- <lowercaseProperty name="method.name.default" value="${component.name}"/>
- <input message="Enter the action method name [${method.name.default}]"
- addproperty="method.name"
- defaultvalue="${method.name.default}"/>
-
- <lowercaseProperty name="page.name.default" value="${component.name}"/>
- <input message="Enter the page name [${page.name.default}]"
- addproperty="page.name"
- defaultvalue="${page.name.default}"/>
- <property name="bean.file" value="${project.home}/src/${action.dir}/${bean.name}.java"/>
- <property name="interface.file" value="${project.home}/src/${action.dir}/${interface.name}.java"/>
- <property name="page.file" value="${project.home}/view/${page.name}.xhtml"/>
- <property name="test.file" value="${project.home}/src/${test.dir}/${interface.name}Test.java"/>
- <property name="testng.file" value="${project.home}/src/${test.dir}/${interface.name}Test.xml"/>
+ <lowercaseProperty name="component.name.default" value="${entity.name}Query" />
+ <input addproperty="component.name"
+ message="Enter the Seam query component name [${component.name.default}]"
+ defaultvalue="${component.name.default}" />
+
+ <uppercaseProperty name="bean.name.default" value="${component.name}"/>
+ <input message="Enter the query class name [${bean.name.default}]"
+ addproperty="bean.name"
+ defaultvalue="${bean.name.default}"/>
+
+ <property name="query.default"
+ value="select o from ${entity.name} o" />
+ <input message="Enter the EJBQL query string [${query.default}]"
+ addproperty="query.text"
+ defaultvalue="${query.default}" />
- </target>
-
- <target name="entity-input" depends="init">
- <input addproperty="entity.name" message="Enter the entity class name"/>
- <lowercaseProperty name="component.name" value="${entity.name}"/>
-
- <lowercaseProperty name="masterPage.name.default" value="${component.name}List"/>
- <input message="Enter the master page name [${masterPage.name.default}]"
- addproperty="masterPage.name"
- defaultvalue="${masterPage.name.default}"/>
-
- <lowercaseProperty name="page.name.default" value="${component.name}"/>
- <input message="Enter the detail page name [${page.name.default}]"
- addproperty="page.name"
- defaultvalue="${page.name.default}"/>
-
- <property name="entity.file" value="${project.home}/src/${model.dir}/${entity.name}.java"/>
- <property name="home.file" value="${project.home}/src/${action.dir}/${entity.name}Home.java"/>
- <property name="list.file" value="${project.home}/src/${action.dir}/${entity.name}List.java"/>
- <property name="page.file" value="${project.home}/view/${page.name}.xhtml"/>
- <property name="masterPage.file" value="${project.home}/view/${masterPage.name}.xhtml"/>
- </target>
-
- <target name="query-input">
- <property name="entity.name.default" value="Entity" />
- <input addproperty="entity.name"
- message="Enter the entity class to search for [${entity.name.default}] "
- defaultvalue="${entity.name}"/>
-
- <property name="entity.file" value="${project.home}/src/${model.dir}/${entity.name}.java" />
- <available property="entity.present" file="${entity.file}" />
- <fail unless="entity.present">
- The entity ${entity.name} was not found. It was expected to be in ${entity.file}.
- </fail>
+ <lowercaseProperty name="page.name.default" value="${component.name}"/>
+ <input message="Enter the query resuls page name [${page.name.default}]"
+ addproperty="page.name"
+ defaultvalue="${page.name.default}"/>
- <lowercaseProperty name="component.name.default" value="${entity.name}Query" />
- <input addproperty="component.name"
- message="Enter the Seam query component name [${component.name.default}]"
- defaultvalue="${component.name.default}" />
-
- <uppercaseProperty name="bean.name.default" value="${component.name}"/>
- <input message="Enter the query class name [${bean.name.default}]"
- addproperty="bean.name"
- defaultvalue="${bean.name.default}"/>
-
- <property name="query.default"
- value="select o from ${entity.name} o" />
- <input message="Enter the EJBQL query string [${query.default}]"
- addproperty="query.text"
- defaultvalue="${query.default}" />
+ <property name="query.file" value="${project.home}/src/${action.dir}/${bean.name}.java"/>
+ <property name="page.file" value="${project.home}/view/${page.name}.xhtml"/>
+ </target>
- <lowercaseProperty name="page.name.default" value="${component.name}"/>
- <input message="Enter the query resuls page name [${page.name.default}]"
- addproperty="page.name"
- defaultvalue="${page.name.default}"/>
-
- <property name="query.file" value="${project.home}/src/${action.dir}/${bean.name}.java"/>
- <property name="page.file" value="${project.home}/view/${page.name}.xhtml"/>
- </target>
- <target name="copy-lib" depends="copyseam, copyseamdependencies, copyjbossembedded, copy-icefaces-home, copy-icefaces-maven">
- <echo message="Copying Seam and dependencies to the ${project.home}/lib directory..." />
-
- <copy todir="${project.home}/lib" overwrite="true">
- <fileset dir="../lib">
- <exclude name="jsf-facelets.jar" if="icefaces.property"/>
- <exclude name="ajax4jsf*.jar" if="icefaces.property"/>
- <exclude name="richfaces*.jar" if="icefaces.property"/>
- <exclude name="jboss-container.jar" />
- <exclude name="test/jboss-deplyers.jar" />
- <exclude name="test/jboss-embedded-api.jar" />
- </fileset>
- <fileset file="${driver.jar}"/>
- </copy>
- <echo message="Copying JBoss Embedded configuration to the ${project.home}/bootstrap directory..." />
-
- <copy todir="${project.home}/bootstrap" overwrite="true">
- <fileset dir="../bootstrap" />
- </copy>
-
- </target>
-
- <target name="copy-icefaces-maven" if="icefaces.property" unless="icefaces.lib.property">
- <artifact:dependencies filesetId="icefaces.fileset" versionsId="icefaces.versions">
- <dependency groupId="org.icefaces" artifactId="icefaces" version="1.6.1">
- <exclusion groupId="javax.el" artifactId="el-api" />
- </dependency>
- <dependency groupId="org.icefaces" artifactId="icefaces-comps" version="1.6.1">
- <exclusion groupId="javax.el" artifactId="el-api" />
- </dependency>
- <dependency groupId="org.icefaces" artifactId="icefaces-facelets" version="1.6.1">
- <exclusion groupId="javax.el" artifactId="el-api" />
- </dependency>
- <remoteRepository refId="repository.jboss.org" />
- </artifact:dependencies>
- <copy todir="${project.home}/lib" overwrite="true">
- <fileset refid="icefaces.fileset" />
- <mapper classpathref="maven-ant-tasks.classpath" classname="org.apache.maven.artifact.ant.VersionMapper" from="${icefaces.versions}" to="flatten" />
- </copy>
- </target>
-
- <target name="copy-icefaces-home" if="icefaces.lib.property">
- <copy todir="${project.home}/lib" overwrite="true">
- <fileset dir="${icefaces.lib}" >
- <include name="icefaces*.jar"/>
- <include name="backport-util-concurrent.jar"/>
- <include name="commons-fileupload.jar"/>
- <include name="commons-digester.jar"/>
- </fileset>
- </copy>
- </target>
-
- <target name="file-copy-war" if="project.war">
- <echo message="Copying resources needed for WAR deployment to the ${project.home}/resources directory..." />
+ <target name="copy-lib" depends="copyseam, copyseamdependencies, copyjbossembedded, copy-icefaces-home, copy-icefaces-maven">
+ <echo message="Copying Seam and depdencies to the ${project.home}/lib directory..." />
+
+ <copy todir="${project.home}/lib" overwrite="true">
+ <fileset dir="../lib">
+ <exclude name="jsf-facelets.jar" if="icefaces.property"/>
+ <exclude name="ajax4jsf*.jar" if="icefaces.property"/>
+ <exclude name="richfaces*.jar" if="icefaces.property"/>
+ <exclude name="jboss-container.jar" />
+ <exclude name="test/jboss-deplyers.jar" />
+ <exclude name="test/jboss-embedded-api.jar" />
+ </fileset>
+ <fileset file="${driver.jar}"/>
+ </copy>
- <copy tofile="${project.home}/resources/WEB-INF/components.xml"
- file="${base.dir}/resources/WEB-INF/components-war.xml">
- <filterset refid="project"/>
- <filterset refid="filters"/>
- </copy>
+ <echo message="Copying JBoss Embedded configuration to the ${project.home}/bootstrap directory..." />
+ <copy todir="${project.home}/bootstrap" overwrite="true">
+ <fileset dir="../bootstrap" />
+ </copy>
+
+ </target>
+
+ <target name="copy-icefaces-maven" if="icefaces.property" unless="icefaces.lib.property">
+ <artifact:dependencies filesetId="icefaces.fileset" versionsId="icefaces.versions">
+ <dependency groupId="org.icefaces" artifactId="icefaces" version="1.6.1">
+ <exclusion groupId="javax.el" artifactId="el-api" />
+ </dependency>
+ <dependency groupId="org.icefaces" artifactId="icefaces-comps" version="1.6.1">
+ <exclusion groupId="javax.el" artifactId="el-api" />
+ </dependency>
+ <dependency groupId="org.icefaces" artifactId="icefaces-facelets" version="1.6.1">
+ <exclusion groupId="javax.el" artifactId="el-api" />
+ </dependency>
+ <remoteRepository refId="repository.jboss.org" />
+ </artifact:dependencies>
+ <copy todir="${project.home}/lib" overwrite="true">
+ <fileset refid="icefaces.fileset" />
+ <mapper classpathref="maven-ant-tasks.classpath" classname="org.apache.maven.artifact.ant.VersionMapper" from="${icefaces.versions}" to="flatten" />
+ </copy>
+ </target>
+
+ <target name="copy-icefaces-home" if="icefaces.lib.property">
+ <copy todir="${project.home}/lib" overwrite="true">
+ <fileset dir="${icefaces.lib}" >
+ <include name="icefaces*.jar"/>
+ <include name="backport-util-concurrent.jar"/>
+ <include name="commons-fileupload.jar"/>
+ <include name="commons-digester.jar"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="file-copy-war" if="project.war">
+ <echo message="Copying resources needed for WAR deployment to the ${project.home}/resources directory..." />
- <copy tofile="${project.home}/build.xml"
- file="${base.dir}/build-scripts/build-war.xml">
- <filterset refid="project"/>
- </copy>
-
- <copy todir="${project.home}/resources">
- <fileset dir="${base.dir}/resources/">
- <include name="META-INF/persistence*-war.xml"/>
- <include name="WEB-INF/jboss-web.xml"/>
- </fileset>
- <filterset refid="project"/>
- <filterset refid="jdbc"/>
- </copy>
-
- <copy todir="${project.home}/src/action" file="${base.dir}/resources/seam.properties"/>
- <copy todir="${project.home}/src/model" file="${base.dir}/resources/seam.properties"/>
- </target>
+ <copy tofile="${project.home}/resources/WEB-INF/components.xml"
+ file="${base.dir}/resources/WEB-INF/components-war.xml">
+ <filterset refid="project"/>
+ </copy>
+ <copy tofile="${project.home}/build.xml"
+ file="${base.dir}/build-scripts/build-war.xml">
+ <filterset refid="project"/>
+ </copy>
+ <copy todir="${project.home}/resources">
+ <fileset dir="${base.dir}/resources/">
+ <include name="META-INF/persistence*-war.xml"/>
+ <include name="WEB-INF/jboss-web.xml"/>
+ </fileset>
+ <filterset refid="project"/>
+ <filterset refid="jdbc"/>
+ </copy>
+ <copy todir="${project.home}/src/action" file="${base.dir}/resources/seam.properties"/>
+ <copy todir="${project.home}/src/model" file="${base.dir}/resources/seam.properties"/>
+ </target>
- <target name="file-copy-ear" unless="project.war" depends="setup-filters">
- <echo message="Copying resources needed for EAR deployment to the ${project.home}/resources directory..." />
+ <target name="file-copy-ear" unless="project.war">
+ <echo message="Copying resources needed for EAR deployment to the ${project.home}/resources directory..." />
+
+ <copy tofile="${project.home}/resources/WEB-INF/components.xml"
+ file="${base.dir}/resources/WEB-INF/components.xml">
+ <filterset refid="project"/>
+ </copy>
+ <copy tofile="${project.home}/build.xml"
+ file="${base.dir}/build-scripts/build.xml">
+ <filterset refid="project"/>
+ </copy>
+ <copy todir="${project.home}" overwrite="true">
+ <fileset file="../validate.xml"/>
+ </copy>
+ <copy todir="${project.home}/resources">
+ <fileset dir="${base.dir}/resources/">
+ <include name="META-INF/application.xml"/>
+ <include name="META-INF/jboss-app.xml"/>
+ <include name="META-INF/ejb-jar.xml"/>
+ <include name="META-INF/persistence*.xml"/>
+ <exclude name="META-INF/persistence*-war.xml"/>
+ </fileset>
+ <filterset refid="project"/>
+ <filterset refid="jdbc"/>
+ </copy>
+ </target>
- <copy tofile="${project.home}/resources/WEB-INF/components.xml"
- file="${base.dir}/resources/WEB-INF/components.xml">
- <filterset refid="project"/>
- <filterset refid="filters"/>
- </copy>
-
- <copy tofile="${project.home}/build.xml"
- file="${base.dir}/build-scripts/build.xml">
- <filterset refid="project"/>
- </copy>
-
- <copy todir="${project.home}" overwrite="true">
- <fileset file="../validate.xml"/>
- </copy>
-
- <copy todir="${project.home}/resources">
- <fileset dir="${base.dir}/resources/">
- <include name="META-INF/application.xml"/>
- <include name="META-INF/jboss-app.xml"/>
- <include name="META-INF/ejb-jar.xml"/>
- <include name="META-INF/persistence*.xml"/>
- <exclude name="META-INF/persistence*-war.xml"/>
- </fileset>
- <filterset refid="project"/>
- <filterset refid="jdbc"/>
- </copy>
- </target>
-
- <target name="file-copy" depends="file-copy-war,file-copy-ear,setup-filters">
- <copy todir="${project.home}/resources">
- <fileset dir="${base.dir}/resources/">
- <exclude name="datasource-ds.xml"/>
- <exclude name="import.sql"/>
- <exclude name="WEB-INF/components*.xml"/>
- <exclude name="META-INF/persistence*.xml"/>
- <exclude name="META-INF/application.xml"/>
- <exclude name="META-INF/jboss-app.xml"/>
- <exclude name="META-INF/ejb-jar.xml"/>
- <exclude name="WEB-INF/jboss-web.xml"/>
- </fileset>
- <filterset refid="project"/>
- <filterset refid="jdbc"/>
- </copy>
+ <target name="file-copy" depends="file-copy-war,file-copy-ear,setup-filters">
+
+ <copy todir="${project.home}/resources">
+ <fileset dir="${base.dir}/resources/">
+ <exclude name="datasource-ds.xml"/>
+ <exclude name="import.sql"/>
+ <exclude name="WEB-INF/components*.xml"/>
+ <exclude name="META-INF/persistence*.xml"/>
+ <exclude name="META-INF/application.xml"/>
+ <exclude name="META-INF/jboss-app.xml"/>
+ <exclude name="META-INF/ejb-jar.xml"/>
+ <exclude name="WEB-INF/jboss-web.xml"/>
+ </fileset>
+ <filterset refid="project"/>
+ <filterset refid="jdbc"/>
+ </copy>
- <copy tofile="${project.home}/debug-jboss-${project.name}.launch"
- file="${base.dir}/build-scripts/debug-jboss.launch">
- <filterset refid="project"/>
- </copy>
+ <copy tofile="${project.home}/debug-jboss-${project.name}.launch"
+ file="${base.dir}/build-scripts/debug-jboss.launch">
+ <filterset refid="project"/>
+ </copy>
- <copy tofile="${project.home}/${project.name}.launch"
- file="${base.dir}/hibernatetools/hibernate-console.launch">
- <filterset refid="project"/>
- </copy>
+ <copy tofile="${project.home}/${project.name}.launch"
+ file="${base.dir}/hibernatetools/hibernate-console.launch">
+ <filterset refid="project"/>
+ </copy>
- <copy tofile="${project.home}/hibernate-console.properties"
- file="${base.dir}/hibernatetools/hibernate-console.properties">
- <filterset refid="project"/>
- <filterset refid="jdbc"/>
- <filterset>
- <filter token="hibernate.dialect" value="${hibernate.dialect}"/>
- </filterset>
- </copy>
+ <copy tofile="${project.home}/hibernate-console.properties"
+ file="${base.dir}/hibernatetools/hibernate-console.properties">
+ <filterset refid="project"/>
+ <filterset refid="jdbc"/>
+ <filterset>
+ <filter token="hibernate.dialect" value="${hibernate.dialect}"/>
+ </filterset>
+ </copy>
- <copy tofile="${project.home}/resources/seam-gen.reveng.xml"
- file="${base.dir}/hibernatetools/seam-gen.reveng.xml">
- <filterset refid="project"/>
- </copy>
+ <copy tofile="${project.home}/resources/seam-gen.reveng.xml"
+ file="${base.dir}/hibernatetools/seam-gen.reveng.xml">
+ <filterset refid="project"/>
+ </copy>
- <copy tofile="${project.home}/.settings/org.hibernate.eclipse.console.prefs"
- file="${base.dir}/hibernatetools/.settings/org.hibernate.eclipse.console.prefs">
- <filterset refid="project"/>
- </copy>
+ <copy tofile="${project.home}/.settings/org.hibernate.eclipse.console.prefs"
+ file="${base.dir}/hibernatetools/.settings/org.hibernate.eclipse.console.prefs">
+ <filterset refid="project"/>
+ </copy>
- <copy tofile="${project.home}/resources/${project.name}-dev-ds.xml"
- file="${base.dir}/resources/datasource-ds.xml">
- <filterset refid="project"/>
- <filterset refid="jdbc"/>
- </copy>
-
- <copy tofile="${project.home}/resources/${project.name}-prod-ds.xml"
- file="${base.dir}/resources/datasource-ds.xml">
- <filterset refid="project"/>
- <filterset refid="jdbc"/>
- </copy>
-
- <copy tofile="${project.home}/resources/import-dev.sql"
- file="${base.dir}/resources/import.sql">
- <filterset refid="project"/>
- <filterset refid="jdbc"/>
- </copy>
-
- <copy tofile="${project.home}/resources/import-prod.sql"
- file="${base.dir}/resources/import.sql">
- <filterset refid="project"/>
- <filterset refid="jdbc"/>
- </copy>
-
- <copy tofile="${project.home}/resources/import-test.sql"
- file="${base.dir}/resources/import.sql">
- <filterset refid="project"/>
- <filterset refid="jdbc"/>
- </copy>
-
- <copy todir="${project.home}/view">
- <fileset id="view" dir="${base.dir}/view">
- <include name="home.xhtml"/>
- <include name="error.xhtml"/>
- <include name="login.xhtml"/>
- <include name="login.page.xml"/>
- <include name="index.html"/>
- <!--include name="usermanager.xhtml"/>
- <include name="userdetail.xhtml"/-->
- <include name="layout/*"/>
- <include name="stylesheet/*"/>
- <exclude name="**/*.ftl"/>
- </fileset>
- <filterset refid="project"/>
- </copy>
+ <copy tofile="${project.home}/resources/${project.name}-dev-ds.xml"
+ file="${base.dir}/resources/datasource-ds.xml">
+ <filterset refid="project"/>
+ <filterset refid="jdbc"/>
+ </copy>
+
+ <copy tofile="${project.home}/resources/${project.name}-prod-ds.xml"
+ file="${base.dir}/resources/datasource-ds.xml">
+ <filterset refid="project"/>
+ <filterset refid="jdbc"/>
+ </copy>
+
+ <copy tofile="${project.home}/resources/import-dev.sql"
+ file="${base.dir}/resources/import.sql">
+ <filterset refid="project"/>
+ <filterset refid="jdbc"/>
+ </copy>
+
+ <copy tofile="${project.home}/resources/import-prod.sql"
+ file="${base.dir}/resources/import.sql">
+ <filterset refid="project"/>
+ <filterset refid="jdbc"/>
+ </copy>
+
+ <copy tofile="${project.home}/resources/import-test.sql"
+ file="${base.dir}/resources/import.sql">
+ <filterset refid="project"/>
+ <filterset refid="jdbc"/>
+ </copy>
+
+ <copy todir="${project.home}/view">
+ <fileset id="view" dir="${base.dir}/view">
+ <include name="home.xhtml"/>
+ <include name="error.xhtml"/>
+ <include name="login.xhtml"/>
+ <include name="login.page.xml"/>
+ <include name="index.html"/>
+ <include name="layout/*"/>
+ <include name="stylesheet/*"/>
+ <exclude name="**/*.ftl"/>
+ </fileset>
+ <filterset refid="project"/>
+ </copy>
+ <!-- Images have to be copied without filter -->
+ <copy todir="${project.home}/view">
+ <fileset id="view" dir="${base.dir}/view">
+ <include name="img/*"/>
+ </fileset>
+ </copy>
+
+ <copy todir="${project.home}/src/${action.dir}">
+ <fileset dir="${base.dir}/src/">
+ <include name="Authenticator.java"/>
+ <include name="Timer*.java" if="icefaces.property"/>
+ </fileset>
+ <filterset refid="filters"/>
+ </copy>
+
+ <copy todir="${project.home}">
+ <fileset dir="${base.dir}/build-scripts">
+ <exclude name="build*.xml"/>
+ <exclude name="debug-jboss.launch"/>
+ </fileset>
+ <filterset refid="project"/>
+ </copy>
+
+ <mkdir dir="${project.home}/src/model"/>
+ <mkdir dir="${project.home}/src/action"/>
+ <mkdir dir="${project.home}/src/test"/>
+
+ <copy todir="${project.home}/src/test" file="${base.dir}/test/readme.txt" />
- <!-- Images have to be copied without filter -->
- <copy todir="${project.home}/view">
- <fileset id="view" dir="${base.dir}/view">
- <include name="img/*"/>
- </fileset>
- </copy>
-
- <copy todir="${project.home}/src/${action.dir}">
- <fileset dir="${base.dir}/src/">
- <include name="Authenticator.java"/>
- <include name="UserSearch.java"/>
- <include name="UserAction.java"/>
- <include name="Timer*.java" if="icefaces.property"/>
- </fileset>
- <filterset refid="filters"/>
- </copy>
-
- <copy todir="${project.home}">
- <fileset dir="${base.dir}/build-scripts">
- <exclude name="build*.xml"/>
- <exclude name="debug-jboss.launch"/>
- </fileset>
- <filterset refid="project"/>
- </copy>
-
- <mkdir dir="${project.home}/src/model"/>
- <mkdir dir="${project.home}/src/action"/>
- <mkdir dir="${project.home}/src/test"/>
-
- <!--copy todir="${project.home}/src/${model.dir}">
- <fileset dir="${base.dir}/src/">
- <include name="UserAccount.java"/>
- </fileset>
- <filterset refid="filters"/>
- </copy-->
-
- <copy todir="${project.home}/src/test" file="${base.dir}/test/readme.txt" />
+ <mkdir dir="${project.home}/nbproject"/>
+ <copy todir="${project.home}/nbproject">
+ <fileset dir="${base.dir}/nbproject" />
+ <filterset refid="project"/>
+ </copy>
- <mkdir dir="${project.home}/nbproject"/>
-
- <copy todir="${project.home}/nbproject">
- <fileset dir="${base.dir}/nbproject" />
- <filterset refid="project"/>
- </copy>
-
- </target>
+ </target>
- <target name="validate-project" depends="init-properties, validate-workspace">
- <fail message="No project name specified (run 'seam create-project' first)">
- <condition>
- <or>
- <not><isset property="project.name"/></not>
- <equals arg1="${project.name}" arg2=""/>
- </or>
- </condition>
- </fail>
+ <target name="validate-project" depends="init-properties, validate-workspace">
+ <fail message="No project name specified (run 'seam create-project' first)">
+ <condition>
+ <or>
+ <not><isset property="project.name"/></not>
+ <equals arg1="${project.name}" arg2=""/>
+ </or>
+ </condition>
+ </fail>
+ <fail message="Invalid package combination. If the default package is used, then all classes (action, model, and test) must be in the default package">
+ <condition>
+ <and>
+ <or>
+ <equals arg1="${action.package}" arg2="" />
+ <equals arg1="${model.package}" arg2="" />
+ <equals arg1="${test.package}" arg2="" />
+ </or>
+ <or>
+ <not><equals arg1="${action.package}" arg2="" /></not>
+ <not><equals arg1="${model.package}" arg2="" /></not>
+ <not><equals arg1="${test.package}" arg2="" /></not>
+ </or>
+ </and>
+ </condition>
+ </fail>
+ </target>
- <fail message="Invalid package combination. If the default package is used, then all classes (action, model, and test) must be in the default package">
- <condition>
- <and>
- <or>
- <equals arg1="${action.package}" arg2="" />
- <equals arg1="${model.package}" arg2="" />
- <equals arg1="${test.package}" arg2="" />
- </or>
- <or>
- <not><equals arg1="${action.package}" arg2="" /></not>
- <not><equals arg1="${model.package}" arg2="" /></not>
- <not><equals arg1="${test.package}" arg2="" /></not>
- </or>
- </and>
- </condition>
- </fail>
- </target>
+ <target name="validate-workspace">
+ <fail message="No project workspace specified (run 'seam setup' first)">
+ <condition>
+ <or>
+ <not><isset property="workspace.home"/></not>
+ <equals arg1="${workspace.home}" arg2=""/>
+ </or>
+ </condition>
+ </fail>
+ </target>
+
+ <!-- Do not remove new-project, netbeans depends on it -->
+ <target name="new-project" depends="create-project" />
+ <target name="create-project" depends="validate-project,icefaces-staging-copy,copy-lib,file-copy"
+ description="Create a new project">
+ <echo message="A new Seam project named '${project.name}' was created in the ${workspace.home} directory"/>
+ <echo message="Type 'seam explode' and go to http://localhost:8080/${project.name}"/>
+ <echo message="Eclipse Users: Add the project into Eclipse using File > New > Project and select General > Project (not Java Project)"/>
+ <echo message="NetBeans Users: Open the project in NetBeans"/>
+ </target>
- <target name="validate-workspace">
- <fail message="No project workspace specified (run 'seam setup' first)">
- <condition>
- <or>
- <not><isset property="workspace.home"/></not>
- <equals arg1="${workspace.home}" arg2=""/>
- </or>
- </condition>
- </fail>
- </target>
-
- <!-- Do not remove new-project, netbeans depends on it -->
- <target name="new-project" depends="create-project" />
+ <target name="update-project" depends="validate-project,copy-lib"
+ description="Update project dependencies">
+ <echo message="Updated project '${project.name}' with the latest Seam jars" />
+ <echo message="Type 'seam restart' to update the exploded deployment"/>
+ </target>
- <target name="create-project" depends="validate-project,icefaces-staging-copy,copy-lib,file-copy"
- description="Create a new project">
- <echo message="A new Seam project named '${project.name}' was created in the ${workspace.home} directory"/>
- <echo message="Type 'seam explode' and go to http://localhost:8080/${project.name}"/>
- <echo message="Eclipse Users: Add the project into Eclipse using File > New > Project and select General > Project (not Java Project)"/>
- <echo message="NetBeans Users: Open the project in NetBeans"/>
- </target>
+ <target name="delete-project" depends="validate-project,unexplode,undeploy"
+ description="Delete the project">
+ <echo message="Deleting the entire project in ${project.home}" />
+ <delete dir="${project.home}" />
+ </target>
+
+ <target name="new-action" depends="new-action-ear,new-action-war"
+ description="Create a new action"/>
+ <target name="new-form" depends="new-form-ear,new-form-war"
+ description="Create a new form action"/>
+ <target name="new-conversation" depends="new-conversation-ear,new-conversation-war"
+ description="Create a new conversation controller"/>
- <target name="update-project" depends="validate-project,copy-lib"
- description="Update project dependencies">
- <echo message="Updated project '${project.name}' with the latest Seam jars" />
- <echo message="Type 'seam restart' to update the exploded deployment"/>
- </target>
+ <target name="new-action-ear" depends="validate-project,action-input,setup-filters" unless="project.war">
+ <echo message="Creating a new stateless session bean component with an action method" />
+ <copy file="${base.dir}/src/ActionBean.java" tofile="${bean.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <copy file="${base.dir}/src/Action.java" tofile="${interface.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <copy file="${base.dir}/test/ActionTest.java" tofile="${test.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <copy file="${base.dir}/test/testng.xml" tofile="${testng.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <copy file="${base.dir}/view/action.xhtml" tofile="${page.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <echo message="Type 'seam restart' and go to http://localhost:8080/${project.name}/${page.name}.seam"/>
+ </target>
- <target name="delete-project" depends="validate-project,unexplode,undeploy"
- description="Delete the project">
- <echo message="Deleting the entire project in ${project.home}" />
- <delete dir="${project.home}" />
- </target>
-
- <target name="new-action" depends="new-action-ear,new-action-war"
- description="Create a new action"/>
-
- <target name="new-form" depends="new-form-ear,new-form-war"
- description="Create a new form action"/>
-
- <target name="new-conversation" depends="new-conversation-ear,new-conversation-war"
- description="Create a new conversation controller"/>
+ <target name="new-action-war" depends="validate-project,action-input,setup-filters" if="project.war">
+ <echo message="Creating a new JavaBean component with an action method" />
+ <copy file="${base.dir}/src/ActionJavaBean.java" tofile="${interface.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <copy file="${base.dir}/test/ActionTest.java" tofile="${test.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <copy file="${base.dir}/test/testng.xml" tofile="${testng.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <copy file="${base.dir}/view/action.xhtml" tofile="${page.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <echo message="Type 'seam explode' and go to http://localhost:8080/${project.name}/${page.name}.seam"/>
+ </target>
- <target name="new-action-ear" depends="validate-project,action-input,setup-filters" unless="project.war">
- <echo message="Creating a new stateless session bean component with an action method" />
- <copy file="${base.dir}/src/ActionBean.java" tofile="${bean.file}">
- <filterset refid="filters"/>
- </copy>
- <copy file="${base.dir}/src/Action.java" tofile="${interface.file}">
- <filterset refid="filters"/>
- </copy>
- <copy file="${base.dir}/test/ActionTest.java" tofile="${test.file}">
- <filterset refid="filters"/>
- </copy>
- <copy file="${base.dir}/test/testng.xml" tofile="${testng.file}">
- <filterset refid="filters"/>
- </copy>
- <copy file="${base.dir}/view/action.xhtml" tofile="${page.file}">
- <filterset refid="filters"/>
- </copy>
- <echo message="Type 'seam restart' and go to http://localhost:8080/${project.name}/${page.name}.seam"/>
- </target>
+ <target name="new-form-war" depends="validate-project,action-input,setup-filters" if="project.war">
+ <echo message="Creating a new JavaBean component with an action method" />
+ <copy file="${base.dir}/src/FormActionJavaBean.java" tofile="${interface.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <copy file="${base.dir}/test/FormTest.java" tofile="${test.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <copy file="${base.dir}/view/form.xhtml" tofile="${page.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <copy file="${base.dir}/test/testng.xml" tofile="${testng.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <echo message="Type 'seam explode' and go to http://localhost:8080/${project.name}/${page.name}.seam"/>
+ </target>
- <target name="new-action-war" depends="validate-project,action-input,setup-filters" if="project.war">
- <echo message="Creating a new JavaBean component with an action method" />
- <copy file="${base.dir}/src/ActionJavaBean.java" tofile="${interface.file}">
- <filterset refid="filters"/>
- </copy>
- <copy file="${base.dir}/test/ActionTest.java" tofile="${test.file}">
- <filterset refid="filters"/>
- </copy>
- <copy file="${base.dir}/test/testng.xml" tofile="${testng.file}">
- <filterset refid="filters"/>
- </copy>
- <copy file="${base.dir}/view/action.xhtml" tofile="${page.file}">
- <filterset refid="filters"/>
- </copy>
- <echo message="Type 'seam explode' and go to http://localhost:8080/${project.name}/${page.name}.seam"/>
- </target>
+ <target name="new-form-ear" depends="validate-project,action-input,setup-filters" unless="project.war">
+ <echo message="Creating a new stateful session bean component with an action method" />
+ <copy file="${base.dir}/src/FormActionBean.java" tofile="${bean.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <copy file="${base.dir}/src/FormAction.java" tofile="${interface.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <copy file="${base.dir}/test/FormTest.java" tofile="${test.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <copy file="${base.dir}/view/form.xhtml" tofile="${page.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <copy file="${base.dir}/test/testng.xml" tofile="${testng.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <echo message="Type 'seam restart' and go to http://localhost:8080/${project.name}/${page.name}.seam"/>
+ </target>
- <target name="new-form-war" depends="validate-project,action-input,setup-filters" if="project.war">
- <echo message="Creating a new JavaBean component with an action method" />
- <copy file="${base.dir}/src/FormActionJavaBean.java" tofile="${interface.file}">
- <filterset refid="filters"/>
- </copy>
- <copy file="${base.dir}/test/FormTest.java" tofile="${test.file}">
- <filterset refid="filters"/>
- </copy>
- <copy file="${base.dir}/view/form.xhtml" tofile="${page.file}">
- <filterset refid="filters"/>
- </copy>
- <copy file="${base.dir}/test/testng.xml" tofile="${testng.file}">
- <filterset refid="filters"/>
- </copy>
- <echo message="Type 'seam explode' and go to http://localhost:8080/${project.name}/${page.name}.seam"/>
- </target>
+ <target name="new-query" depends="validate-project,query-input,setup-filters">
+ <echo message="Creating a new query" />
+ <copy file="${base.dir}/src/Query.java" tofile="${query.file}">
+ <filterset refid="filters"/>
+ </copy>
- <target name="new-form-ear" depends="validate-project,action-input,setup-filters" unless="project.war">
- <echo message="Creating a new stateful session bean component with an action method" />
- <copy file="${base.dir}/src/FormActionBean.java" tofile="${bean.file}">
- <filterset refid="filters"/>
- </copy>
- <copy file="${base.dir}/src/FormAction.java" tofile="${interface.file}">
- <filterset refid="filters"/>
- </copy>
- <copy file="${base.dir}/test/FormTest.java" tofile="${test.file}">
- <filterset refid="filters"/>
- </copy>
- <copy file="${base.dir}/view/form.xhtml" tofile="${page.file}">
- <filterset refid="filters"/>
- </copy>
- <copy file="${base.dir}/test/testng.xml" tofile="${testng.file}">
- <filterset refid="filters"/>
- </copy>
- <echo message="Type 'seam restart' and go to http://localhost:8080/${project.name}/${page.name}.seam"/>
- </target>
+ <copy file="${base.dir}/view/query.xhtml" tofile="${page.file}">
+ <filterset refid="filters"/>
+ </copy>
- <target name="new-query" depends="validate-project,query-input,setup-filters">
- <echo message="Creating a new query" />
- <copy file="${base.dir}/src/Query.java" tofile="${query.file}">
- <filterset refid="filters"/>
- </copy>
+ <echo message="Type 'seam restart' and go to http://localhost:8080/${project.name}/${page.name}.seam"/>
+ </target>
- <copy file="${base.dir}/view/query.xhtml" tofile="${page.file}">
- <filterset refid="filters"/>
- </copy>
+ <target name="new-conversation-ear" depends="validate-project,action-input,setup-filters" unless="project.war">
+ <echo message="Creating a new stateful session bean component with @Begin and @End methods" />
+ <copy file="${base.dir}/src/ConversationBean.java" tofile="${bean.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <copy file="${base.dir}/src/Conversation.java" tofile="${interface.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <copy file="${base.dir}/view/conversation.xhtml" tofile="${page.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <echo message="Type 'seam restart' and go to http://localhost:8080/${project.name}/${page.name}.seam"/>
+ </target>
- <echo message="Type 'seam restart' and go to http://localhost:8080/${project.name}/${page.name}.seam"/>
- </target>
+ <target name="new-conversation-war" depends="validate-project,action-input,setup-filters" if="project.war">
+ <echo message="Creating a new JavaBean component with @Begin and @End methods" />
+ <copy file="${base.dir}/src/ConversationJavaBean.java" tofile="${interface.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <copy file="${base.dir}/view/conversation.xhtml" tofile="${page.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <echo message="Type 'seam explode' and go to http://localhost:8080/${project.name}/${page.name}.seam"/>
+ </target>
- <target name="new-conversation-ear" depends="validate-project,action-input,setup-filters" unless="project.war">
- <echo message="Creating a new stateful session bean component with @Begin and @End methods" />
- <copy file="${base.dir}/src/ConversationBean.java" tofile="${bean.file}">
- <filterset refid="filters"/>
- </copy>
- <copy file="${base.dir}/src/Conversation.java" tofile="${interface.file}">
- <filterset refid="filters"/>
- </copy>
- <copy file="${base.dir}/view/conversation.xhtml" tofile="${page.file}">
- <filterset refid="filters"/>
- </copy>
- <echo message="Type 'seam restart' and go to http://localhost:8080/${project.name}/${page.name}.seam"/>
- </target>
-
- <target name="new-conversation-war" depends="validate-project,action-input,setup-filters" if="project.war">
- <echo message="Creating a new JavaBean component with @Begin and @End methods" />
- <copy file="${base.dir}/src/ConversationJavaBean.java" tofile="${interface.file}">
- <filterset refid="filters"/>
- </copy>
- <copy file="${base.dir}/view/conversation.xhtml" tofile="${page.file}">
- <filterset refid="filters"/>
- </copy>
- <echo message="Type 'seam explode' and go to http://localhost:8080/${project.name}/${page.name}.seam"/>
- </target>
-
- <target name="new-entity" depends="validate-project,entity-input,setup-filters"
- description="Create a new entity">
- <echo message="Creating a new entity bean, with home and list components" />
- <copy file="${base.dir}/src/Entity.java" tofile="${entity.file}">
- <filterset refid="filters"/>
- </copy>
- <copy file="${base.dir}/src/EntityHome.java" tofile="${home.file}">
- <filterset refid="filters"/>
- </copy>
- <copy file="${base.dir}/src/EntityList.java" tofile="${list.file}">
- <filterset refid="filters"/>
- </copy>
- <copy file="${base.dir}/view/edit.xhtml" tofile="${page.file}">
- <filterset refid="filters"/>
- </copy>
- <copy file="${base.dir}/view/list.xhtml" tofile="${masterPage.file}">
- <filterset refid="filters"/>
- </copy>
- <replace file="${project.home}/view/layout/menu.xhtml">
- <replacetoken><![CDATA[<!-- @newMenuItem@ -->]]></replacetoken>
- <replacevalue><![CDATA[<s:link view="/@masterPageName at .xhtml" value="@entityName@ List" propagation="none"/>
+ <target name="new-entity" depends="validate-project,entity-input,setup-filters"
+ description="Create a new entity">
+ <echo message="Creating a new entity bean, with home and list components" />
+ <copy file="${base.dir}/src/Entity.java" tofile="${entity.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <copy file="${base.dir}/src/EntityHome.java" tofile="${home.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <copy file="${base.dir}/src/EntityList.java" tofile="${list.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <copy file="${base.dir}/view/edit.xhtml" tofile="${page.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <copy file="${base.dir}/view/list.xhtml" tofile="${masterPage.file}">
+ <filterset refid="filters"/>
+ </copy>
+ <replace file="${project.home}/view/layout/menu.xhtml">
+ <replacetoken><![CDATA[<!-- @newMenuItem@ -->]]></replacetoken>
+ <replacevalue><![CDATA[<s:link view="/@masterPageName at .xhtml" value="@entityName@ List" propagation="none"/>
<!-- @newMenuItem@ -->]]></replacevalue>
- </replace>
- <replace file="${project.home}/view/layout/menu.xhtml">
- <replacefilter token="@masterPageName@" value="${masterPage.name}" />
- <replacefilter token="@entityName@" value="${entity.name}" />
- </replace>
- <echo message="Type 'seam restart' and go to http://localhost:8080/${project.name}/${masterPage.name}.seam"/>
- </target>
+ </replace>
+ <replace file="${project.home}/view/layout/menu.xhtml">
+ <replacefilter token="@masterPageName@" value="${masterPage.name}" />
+ <replacefilter token="@entityName@" value="${entity.name}" />
+ </replace>
+ <echo message="Type 'seam restart' and go to http://localhost:8080/${project.name}/${masterPage.name}.seam"/>
+ </target>
- <!-- Do not remove generate-entities, netbeans depends on it -->
- <target name="generate-entities" depends="generate" />
-
- <target name="generate" depends="validate-project,generate-model,generate-ui"
- description="Reverse engineer entities from the database">
- </target>
-
- <target name="init-generate">
- <path id="htools.classpath">
- <fileset dir="lib">
- <include name="*.jar"/>
- </fileset>
- <pathelement path="../lib/dom4j.jar" />
- <pathelement path="../lib/persistence-api.jar" />
- <pathelement path="../lib/hibernate.jar" />
- <pathelement path="../lib/hibernate-commons-annotations.jar" />
- <pathelement path="../lib/hibernate-annotations.jar" />
- <pathelement path="../lib/hibernate-entitymanager.jar" />
- <pathelement path="../lib/commons-collections.jar" />
- <pathelement path="../lib/commons-logging.jar" />
- <pathelement path="../lib/javassist.jar" />
- <pathelement path="../lib/cglib.jar" />
- <pathelement path="../lib/asm.jar" />
- <pathelement path="../lib/core.jar" />
- <pathelement path="../lib/jboss-common-core.jar" />
- <pathelement path="${driver.jar}"/>
- <pathelement path="../lib/jboss-seam-gen.jar"/>
- </path>
+ <!-- Do not remove generate-entities, netbeans depends on it -->
+ <target name="generate-entities" depends="generate" />
+ <target name="generate" depends="validate-project,generate-model,generate-ui"
+ description="Reverse engineer entities from the database">
+ </target>
+
+ <target name="init-generate">
+ <path id="htools.classpath">
+ <fileset dir="lib">
+ <include name="*.jar"/>
+ </fileset>
+ <pathelement path="../lib/dom4j.jar" />
+ <pathelement path="../lib/persistence-api.jar" />
+ <pathelement path="../lib/hibernate.jar" />
+ <pathelement path="../lib/hibernate-commons-annotations.jar" />
+ <pathelement path="../lib/hibernate-annotations.jar" />
+ <pathelement path="../lib/hibernate-entitymanager.jar" />
+ <pathelement path="../lib/commons-collections.jar" />
+ <pathelement path="../lib/commons-logging.jar" />
+ <pathelement path="../lib/javassist.jar" />
+ <pathelement path="../lib/cglib.jar" />
+ <pathelement path="../lib/asm.jar" />
+ <pathelement path="../lib/core.jar" />
+ <pathelement path="../lib/jboss-common-core.jar" />
+ <pathelement path="${driver.jar}"/>
+ <pathelement path="../lib/jboss-seam-gen.jar"/>
+ </path>
+ <taskdef name="hibernate" classname="org.hibernate.tool.ant.HibernateToolTask" classpathref="htools.classpath"/>
+ </target>
+
+ <target name="generate-model" depends="validate-project,init-generate">
+ <echo message="Reverse engineering database using JDBC driver ${driver.jar}"/>
+ <echo>project=${project.home}</echo>
+ <echo>model=${model.package}</echo>
+ <hibernate templatepath="${base.dir}">
+ <jdbcconfiguration propertyfile="build.properties"
+ packagename="${model.package}"
+ revengfile="${project.home}/resources/seam-gen.reveng.xml"
+ detectmanytomany="false"/>
+
+ <property key="hibernatetool.util.toolclass"
+ value="org.jboss.seam.tool.Util"/>
+
+ <hbm2java jdk5="true" ejb3="true" destdir="${project.home}/src/model"/>
+ </hibernate>
- <taskdef name="hibernate" classname="org.hibernate.tool.ant.HibernateToolTask" classpathref="htools.classpath"/>
- </target>
-
- <target name="generate-model" depends="validate-project,init-generate">
- <echo message="Reverse engineering database using JDBC driver ${driver.jar}"/>
- <echo>project=${project.home}</echo>
- <echo>model=${model.package}</echo>
-
- <hibernate templatepath="${base.dir}">
- <jdbcconfiguration propertyfile="build.properties"
- packagename="${model.package}"
- revengfile="${project.home}/resources/seam-gen.reveng.xml"
- detectmanytomany="false"/>
-
- <property key="hibernatetool.util.toolclass"
- value="org.jboss.seam.tool.Util"/>
-
- <hbm2java jdk5="true" ejb3="true" destdir="${project.home}/src/model"/>
- </hibernate>
+ <taskdef name="javaformatter"
+ classname="org.hibernate.tool.ant.JavaFormatterTask" classpathref="htools.classpath"/>
- <taskdef name="javaformatter"
- classname="org.hibernate.tool.ant.JavaFormatterTask" classpathref="htools.classpath"/>
+ <javaformatter>
+ <fileset dir="${project.home}/src/model">
+ <include name="**/*.java"/>
+ </fileset>
+ </javaformatter>
- <javaformatter>
- <fileset dir="${project.home}/src/model">
- <include name="**/*.java"/>
- </fileset>
- </javaformatter>
+ </target>
+
+ <target name="generate-ui" depends="validate-project,init-generate" description="Build the ui based on existing entities">
+ <echo message="Building project '${project.name}' to generate views and controllers" />
- </target>
-
- <target name="generate-ui" depends="validate-project,init-generate" description="Build the ui based on existing entities">
- <echo message="Building project '${project.name}' to generate views and controllers" />
+ <condition property="project.jar.target" value="jar">
+ <equals arg1="${project.type}" arg2="ear" />
+ </condition>
+ <condition property="project.jar.target" value="war">
+ <equals arg1="${project.type}" arg2="war" />
+ </condition>
- <condition property="project.jar.target" value="jar">
- <equals arg1="${project.type}" arg2="ear" />
- </condition>
-
- <condition property="project.jar.target" value="war">
- <equals arg1="${project.type}" arg2="war" />
- </condition>
+ <ant antfile="${project.home}/build.xml" target="${project.jar.target}" inheritall="false"/>
+ <hibernate templatepath="${base.dir}">
+
+ <jpaconfiguration persistenceunit="${project.name}" />
+ <classpath>
+ <dirset dir="${project.home}/exploded-archives">
+ <include name="*.war/WEB-INF/classes" if="project.war" />
+ <include name="*.war/WEB-INF/dev" if="project.war" />
+ <include name="*.jar" if="project.ear" />
+ </dirset>
+ </classpath>
+ <property key="hibernatetool.util.toolclass" value="org.jboss.seam.tool.Util"/>
+ <hbmtemplate filepattern="{class-name}List.xhtml"
+ template="view/list.xhtml.ftl"
+ destdir="${project.home}/view"
+ foreach="entity"/>
+ <hbmtemplate filepattern="{class-name}.xhtml"
+ template="view/view.xhtml.ftl"
+ destdir="${project.home}/view"
+ foreach="entity"/>
+ <hbmtemplate filepattern="{class-name}.page.xml"
+ template="view/view.page.xml.ftl"
+ destdir="${project.home}/view"
+ foreach="entity"/>
+ <hbmtemplate filepattern="{class-name}Edit.xhtml"
+ template="view/edit.xhtml.ftl"
+ destdir="${project.home}/view"
+ foreach="entity"/>
+ <hbmtemplate filepattern="{class-name}Edit.page.xml"
+ template="view/edit.page.xml.ftl"
+ destdir="${project.home}/view"
+ foreach="entity"/>
+ <hbmtemplate filepattern="${action.dir}/{class-name}List.java"
+ template="src/EntityList.java.ftl"
+ destdir="${project.home}/src"
+ foreach="entity">
+ <property key="actionPackage" value="${action.package}" />
+ </hbmtemplate>
+ <hbmtemplate filepattern="{class-name}List.page.xml"
+ template="view/list.page.xml.ftl"
+ destdir="${project.home}/view"
+ foreach="entity"/>
+ <hbmtemplate filepattern="${action.dir}/{class-name}Home.java"
+ template="src/EntityHome.java.ftl"
+ destdir="${project.home}/src"
+ foreach="entity">
+ <property key="actionPackage" value="${action.package}" />
+ </hbmtemplate>
+ <hbmtemplate filepattern="menu.xhtml"
+ template="view/layout/menu.xhtml.ftl"
+ destdir="${project.home}/view/layout"
+ foreach="entity"/>
+ </hibernate>
- <ant antfile="${project.home}/build.xml" target="${project.jar.target}" inheritall="false"/>
+ <taskdef name="javaformatter"
+ classname="org.hibernate.tool.ant.JavaFormatterTask" classpathref="htools.classpath"/>
- <hibernate templatepath="${base.dir}">
- <jpaconfiguration persistenceunit="${project.name}" />
-
- <classpath>
- <dirset dir="${project.home}/exploded-archives">
- <include name="*.war/WEB-INF/classes" if="project.war" />
- <include name="*.war/WEB-INF/dev" if="project.war" />
- <include name="*.jar" if="project.ear" />
- </dirset>
- </classpath>
-
- <property key="hibernatetool.util.toolclass" value="org.jboss.seam.tool.Util"/>
- <hbmtemplate filepattern="{class-name}List.xhtml"
- template="view/list.xhtml.ftl"
- destdir="${project.home}/view"
- foreach="entity"/>
- <hbmtemplate filepattern="{class-name}.xhtml"
- template="view/view.xhtml.ftl"
- destdir="${project.home}/view"
- foreach="entity"/>
- <hbmtemplate filepattern="{class-name}.page.xml"
- template="view/view.page.xml.ftl"
- destdir="${project.home}/view"
- foreach="entity"/>
- <hbmtemplate filepattern="{class-name}Edit.xhtml"
- template="view/edit.xhtml.ftl"
- destdir="${project.home}/view"
- foreach="entity"/>
- <hbmtemplate filepattern="{class-name}Edit.page.xml"
- template="view/edit.page.xml.ftl"
- destdir="${project.home}/view"
- foreach="entity"/>
- <hbmtemplate filepattern="${action.dir}/{class-name}List.java"
- template="src/EntityList.java.ftl"
- destdir="${project.home}/src"
- foreach="entity">
- <property key="actionPackage" value="${action.package}" />
- </hbmtemplate>
- <hbmtemplate filepattern="{class-name}List.page.xml"
- template="view/list.page.xml.ftl"
- destdir="${project.home}/view"
- foreach="entity"/>
- <hbmtemplate filepattern="${action.dir}/{class-name}Home.java"
- template="src/EntityHome.java.ftl"
- destdir="${project.home}/src"
- foreach="entity">
- <property key="actionPackage" value="${action.package}" />
- </hbmtemplate>
- <hbmtemplate filepattern="menu.xhtml"
- template="view/layout/menu.xhtml.ftl"
- destdir="${project.home}/view/layout"
- foreach="entity"/>
- </hibernate>
+ <javaformatter>
+ <fileset dir="${project.home}/src/action">
+ <include name="**/*.java"/>
+ </fileset>
+ </javaformatter>
- <taskdef name="javaformatter"
- classname="org.hibernate.tool.ant.JavaFormatterTask" classpathref="htools.classpath"/>
+ <echo message="Type 'seam restart' and go to http://localhost:8080/${project.name}"/>
- <javaformatter>
- <fileset dir="${project.home}/src/action">
- <include name="**/*.java"/>
- </fileset>
- </javaformatter>
+ </target>
+
+ <target name="archive" depends="validate-project"
+ description="Create the EAR or WAR archive">
+ <echo message="Building ${project.type} archive for '${project.name}'" />
+ <ant antfile="${project.home}/build.xml" target="archive" inheritall="false"/>
+ </target>
- <echo message="Type 'seam restart' and go to http://localhost:8080/${project.name}"/>
+ <target name="deploy" depends="validate-project"
+ description="Deploy the EAR or WAR">
+ <echo message="Deploying project '${project.name}' to JBoss" />
+ <ant antfile="${project.home}/build.xml" target="deploy" inheritall="false"/>
+ </target>
- </target>
-
- <target name="archive" depends="validate-project"
- description="Create the EAR or WAR archive">
- <echo message="Building ${project.type} archive for '${project.name}'" />
- <ant antfile="${project.home}/build.xml" target="archive" inheritall="false"/>
- </target>
+ <target name="undeploy" depends="validate-project"
+ description="Undeploy the EAR or WAR archive">
+ <echo message="Undeploying project '${project.name}'" />
+ <ant antfile="${project.home}/build.xml" target="undeploy" inheritall="false"/>
+ </target>
- <target name="deploy" depends="validate-project"
- description="Deploy the EAR or WAR">
- <echo message="Deploying project '${project.name}' to JBoss" />
- <ant antfile="${project.home}/build.xml" target="deploy" inheritall="false"/>
- </target>
+ <target name="explode" depends="validate-project"
+ description="Deploy the project as an exploded directory">
+ <echo message="Deploying project '${project.name}' to JBoss as an exploded directory" />
+ <ant antfile="${project.home}/build.xml" target="explode" inheritall="false"/>
+ </target>
- <target name="undeploy" depends="validate-project"
- description="Undeploy the EAR or WAR archive">
- <echo message="Undeploying project '${project.name}'" />
- <ant antfile="${project.home}/build.xml" target="undeploy" inheritall="false"/>
- </target>
+ <target name="restart" depends="validate-project"
+ description="Restart the exploded directory">
+ <echo message="Restarting project '${project.name}'" />
+ <ant antfile="${project.home}/build.xml" target="restart" inheritall="false"/>
+ </target>
- <target name="explode" depends="validate-project"
- description="Deploy the project as an exploded directory">
- <echo message="Deploying project '${project.name}' to JBoss as an exploded directory" />
- <ant antfile="${project.home}/build.xml" target="explode" inheritall="false"/>
- </target>
+ <target name="unexplode" depends="validate-project"
+ description="Undeploy the exploded directory">
+ <echo message="Undeploying exploded directory for project '${project.name}'" />
+ <ant antfile="${project.home}/build.xml" target="unexplode" inheritall="false"/>
+ </target>
+
+ <target name="test" depends="validate-project"
+ description="Run the automated tests">
+ <echo message="Running tests for project '${project.name}'" />
+ <ant antfile="${project.home}/build.xml" target="test" inheritall="false"/>
+ </target>
- <target name="restart" depends="validate-project"
- description="Restart the exploded directory">
- <echo message="Restarting project '${project.name}'" />
- <ant antfile="${project.home}/build.xml" target="restart" inheritall="false"/>
- </target>
+ <target name="clean" depends="validate-project"
+ description="Clean the project directory">
+ <echo message="Cleaning project '${project.name}'" />
+ <ant antfile="${project.home}/build.xml" target="clean" inheritall="false"/>
+ </target>
- <target name="unexplode" depends="validate-project"
- description="Undeploy the exploded directory">
- <echo message="Undeploying exploded directory for project '${project.name}'" />
- <ant antfile="${project.home}/build.xml" target="unexplode" inheritall="false"/>
- </target>
-
- <target name="test" depends="validate-project"
- description="Run the automated tests">
- <echo message="Running tests for project '${project.name}'" />
- <ant antfile="${project.home}/build.xml" target="test" inheritall="false"/>
- </target>
-
- <target name="clean" depends="validate-project"
- description="Clean the project directory">
- <echo message="Cleaning project '${project.name}'" />
- <ant antfile="${project.home}/build.xml" target="clean" inheritall="false"/>
- </target>
-
- <target name="reset"
- description="Delete the settings">
- <delete file="build.properties"/>
- </target>
+ <target name="reset"
+ description="Delete the settings">
+ <delete file="build.properties"/>
+ </target>
- <target name="settings" depends="init-properties"
- description="Print the settings">
- <echo message="Java project workspace: ${workspace.home}"/>
- <echo message="JBoss home: ${jboss.home}"/>
- <echo message="IceFaces: ${icefaces}"/>
- <echo message="Project name: ${project.name}"/>
- <echo message="Project type: ${project.type}"/>
- <echo message="Hibernate dialect: ${hibernate.dialect}"/>
- <echo message="JDBC URL: ${hibernate.connection.url}"/>
- <echo message="JDBC driver class: ${hibernate.connection.driver_class}"/>
- <echo message="Database username: ${hibernate.connection.username}"/>
- <echo message="Database password: ${hibernate.connection.password}"/>
- </target>
-
- <target name="help" depends="init">
- <print file="README"/>
- </target>
+ <target name="settings" depends="init-properties"
+ description="Print the settings">
+ <echo message="Java project workspace: ${workspace.home}"/>
+ <echo message="JBoss home: ${jboss.home}"/>
+ <echo message="IceFaces: ${icefaces}"/>
+ <echo message="Project name: ${project.name}"/>
+ <echo message="Project type: ${project.type}"/>
+ <echo message="Hibernate dialect: ${hibernate.dialect}"/>
+ <echo message="JDBC URL: ${hibernate.connection.url}"/>
+ <echo message="JDBC driver class: ${hibernate.connection.driver_class}"/>
+ <echo message="Database username: ${hibernate.connection.username}"/>
+ <echo message="Database password: ${hibernate.connection.password}"/>
+ </target>
+
+ <target name="help" depends="init">
+ <print file="README"/>
+ </target>
</project>
Modified: trunk/seam-gen/resources/WEB-INF/components.xml
===================================================================
--- trunk/seam-gen/resources/WEB-INF/components.xml 2008-01-22 17:16:09 UTC (rev 7189)
+++ trunk/seam-gen/resources/WEB-INF/components.xml 2008-01-22 17:25:59 UTC (rev 7190)
@@ -5,7 +5,6 @@
xmlns:drools="http://jboss.com/products/seam/drools"
xmlns:bpm="http://jboss.com/products/seam/bpm"
xmlns:security="http://jboss.com/products/seam/security"
- xmlns:identity-management="http://jboss.com/products/seam/security/management"
xmlns:mail="http://jboss.com/products/seam/mail"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
@@ -14,7 +13,6 @@
http://jboss.com/products/seam/drools http://jboss.com/products/seam/drools-2.0.xsd
http://jboss.com/products/seam/bpm http://jboss.com/products/seam/bpm-2.0.xsd
http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.0.xsd
- http://jboss.com/products/seam/security/management http://jboss.com/products/seam/identity-management-2.0.xsd
http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-2.0.xsd
http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.0.xsd">
@@ -26,9 +24,7 @@
<persistence:managed-persistence-context name="entityManager"
auto-create="true"
- persistence-unit-jndi-name="java:/@projectName at EntityManagerFactory"/>
-
- <identity-management:jpa-identity-store name="identityStore" account-class="@modelPackage at .UserAccount"/>
+ persistence-unit-jndi-name="java:/@projectName at EntityManagerFactory"/>
<drools:rule-base name="securityRules">
<drools:rule-files>
Modified: trunk/seam-gen/resources/WEB-INF/pages.xml
===================================================================
--- trunk/seam-gen/resources/WEB-INF/pages.xml 2008-01-22 17:16:09 UTC (rev 7189)
+++ trunk/seam-gen/resources/WEB-INF/pages.xml 2008-01-22 17:25:59 UTC (rev 7190)
@@ -12,27 +12,7 @@
<redirect view-id="/home.xhtml"/>
</rule>
</navigation>
- </page>
-
- <page view-id="/usermanager.xhtml" action="#{userSearch.loadUsers}">
- <restrict>#{s:hasRole('admin')}</restrict>
-
- <navigation from-action="#{userAction.createUser}">
- <redirect view-id="/userdetail.xhtml"/>
- </navigation>
-
- <navigation from-action="#{userAction.editUser(userSearch.selectedUser)}">
- <redirect view-id="/userdetail.xhtml"/>
- </navigation>
- </page>
-
- <page view-id="/userdetail.xhtml">
- <navigation from-action="#{userAction.save}">
- <rule if-outcome="success">
- <redirect view-id="/usermanager.xhtml"/>
- </rule>
- </navigation>
- </page>
+ </page>
<exception class="org.jboss.seam.framework.EntityNotFoundException">
<redirect view-id="/error.xhtml">
Modified: trunk/seam-gen/resources/import.sql
===================================================================
--- trunk/seam-gen/resources/import.sql 2008-01-22 17:16:09 UTC (rev 7189)
+++ trunk/seam-gen/resources/import.sql 2008-01-22 17:25:59 UTC (rev 7190)
@@ -1,4 +0,0 @@
-insert into UserAccount (accountid, username, enabled, accounttype) values (1, 'admin', 1, 1);
-insert into UserAccount (accountid, username, passwordhash, enabled, accounttype) values (2, 'demo', '04ac53975612d07ad97107ef524589e5', 1, 0);
-
-insert into AccountMembership (accountid, memberof) values (2, 1);
\ No newline at end of file
Modified: trunk/seam-gen/resources/security.drl
===================================================================
--- trunk/seam-gen/resources/security.drl 2008-01-22 17:16:09 UTC (rev 7189)
+++ trunk/seam-gen/resources/security.drl 2008-01-22 17:25:59 UTC (rev 7190)
@@ -3,44 +3,4 @@
import java.security.Principal;
import org.jboss.seam.security.PermissionCheck;
-import org.jboss.seam.security.Role;
-
-rule CreateAccount
- no-loop
- activation-group "permissions"
-when
- check: PermissionCheck(name == "seam.account", action == "create", granted == false)
- Role(name == "admin")
-then
- check.grant();
-end
-
-rule ReadAccount
- no-loop
- activation-group "permissions"
-when
- check: PermissionCheck(name == "seam.account", action == "read", granted == false)
- Role(name == "admin")
-then
- check.grant();
-end
-
-rule UpdateAccount
- no-loop
- activation-group "permissions"
-when
- check: PermissionCheck(name == "seam.account", action == "update", granted == false)
- Role(name == "admin")
-then
- check.grant();
-end
-
-rule DeleteAccount
- no-loop
- activation-group "permissions"
-when
- check: PermissionCheck(name == "seam.account", action == "delete", granted == false)
- Role(name == "admin")
-then
- check.grant();
-end
\ No newline at end of file
+import org.jboss.seam.security.Role;
\ No newline at end of file
Added: trunk/seam-gen/src/Authenticator.java
===================================================================
--- trunk/seam-gen/src/Authenticator.java (rev 0)
+++ trunk/seam-gen/src/Authenticator.java 2008-01-22 17:25:59 UTC (rev 7190)
@@ -0,0 +1,26 @@
+package @actionPackage@;
+
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Logger;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.log.Log;
+import org.jboss.seam.security.Identity;
+
+
+ at Name("authenticator")
+public class Authenticator
+{
+ @Logger Log log;
+
+ @In Identity identity;
+
+ public boolean authenticate()
+ {
+ log.info("authenticating #0", identity.getUsername());
+ //write your authentication logic here,
+ //return true if the authentication was
+ //successful, false otherwise
+ identity.addRole("admin");
+ return true;
+ }
+}
Property changes on: trunk/seam-gen/src/Authenticator.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: trunk/seam-gen/src/UserAccount.java
===================================================================
--- trunk/seam-gen/src/UserAccount.java 2008-01-22 17:16:09 UTC (rev 7189)
+++ trunk/seam-gen/src/UserAccount.java 2008-01-22 17:25:59 UTC (rev 7190)
@@ -1,108 +0,0 @@
-package @modelPackage@;
-
-import java.io.Serializable;
-import java.util.Set;
-
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
-import javax.persistence.ManyToMany;
-import javax.persistence.OneToOne;
-import javax.persistence.Table;
-import javax.persistence.UniqueConstraint;
-
-import org.hibernate.validator.NotNull;
-
- at Entity
- at Table(uniqueConstraints = @UniqueConstraint(columnNames = "username"))
-public class UserAccount extends org.jboss.seam.security.management.UserAccount implements Serializable
-{
- private static final long serialVersionUID = 6368734442192368866L;
-
- private Integer accountId;
- private String username;
- private String passwordHash;
- private boolean enabled;
- private AccountType accountType;
- private Set<org.jboss.seam.security.management.UserAccount> memberships;
-
- @Id @GeneratedValue
- public Integer getAccountId()
- {
- return accountId;
- }
-
- public void setAccountId(Integer accountId)
- {
- this.accountId = accountId;
- }
-
- @NotNull
- @Override
- public String getUsername()
- {
- return username;
- }
-
- @Override
- public void setUsername(String username)
- {
- this.username = username;
- }
-
- @Override
- public String getPasswordHash()
- {
- return passwordHash;
- }
-
- @Override
- public void setPasswordHash(String passwordHash)
- {
- this.passwordHash = passwordHash;
- }
-
- @Override
- public AccountType getAccountType()
- {
- return accountType;
- }
-
- @Override
- public void setAccountType(AccountType accountType)
- {
- this.accountType = accountType;
- }
-
- @Override
- public boolean isEnabled()
- {
- return enabled;
- }
-
-
- @Override
- public void setEnabled(boolean enabled)
- {
- this.enabled = enabled;
- }
-
- @ManyToMany(targetEntity = UserAccount.class)
- @JoinTable(name = "AccountMembership",
- joinColumns = @JoinColumn(name = "AccountId"),
- inverseJoinColumns = @JoinColumn(name = "MemberOf")
- )
- @Override
- public Set<org.jboss.seam.security.management.UserAccount> getMemberships()
- {
- return memberships;
- }
-
- @Override
- public void setMemberships(Set<org.jboss.seam.security.management.UserAccount> memberships)
- {
- this.memberships = memberships;
- }
-}
Deleted: trunk/seam-gen/src/UserAction.java
===================================================================
--- trunk/seam-gen/src/UserAction.java 2008-01-22 17:16:09 UTC (rev 7189)
+++ trunk/seam-gen/src/UserAction.java 2008-01-22 17:25:59 UTC (rev 7190)
@@ -1,172 +0,0 @@
-package @actionPackage@;
-
-import static org.jboss.seam.ScopeType.CONVERSATION;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.jboss.seam.annotations.Begin;
-import org.jboss.seam.annotations.In;
-import org.jboss.seam.annotations.Name;
-import org.jboss.seam.annotations.Scope;
-import org.jboss.seam.core.Conversation;
-import org.jboss.seam.faces.FacesMessages;
-import org.jboss.seam.security.management.IdentityManager;
-
- at Name("userAction")
- at Scope(CONVERSATION)
-public class UserAction
-{
- private String username;
- private String password;
- private String confirm;
- private List<String> roles;
- private boolean enabled;
-
- @In IdentityManager identityManager;
-
- @Begin
- public void createUser()
- {
- roles = new ArrayList<String>();
- }
-
- @Begin
- public void editUser(String username)
- {
- this.username = username;
- roles = identityManager.getGrantedRoles(username);
- enabled = identityManager.isEnabled(username);
- }
-
- public String save()
- {
- if (identityManager.accountExists(username))
- {
- return saveExistingUser();
- }
- else
- {
- return saveNewUser();
- }
- }
-
- private String saveNewUser()
- {
- if (!password.equals(confirm))
- {
- FacesMessages.instance().addToControl("password", "Passwords do not match");
- return "failure";
- }
-
- boolean success = identityManager.createAccount(username, password);
-
- if (success)
- {
- for (String role : roles)
- {
- identityManager.grantRole(username, role);
- }
-
- if (!enabled)
- {
- identityManager.disableAccount(username);
- }
-
- Conversation.instance().end();
- }
-
- return "success";
- }
-
- private String saveExistingUser()
- {
- // Check if a new password has been entered
- if (password != null && !"".equals(password))
- {
- if (!password.equals(confirm))
- {
- FacesMessages.instance().addToControl("password", "Passwords do not match");
- return "failure";
- }
- else
- {
- identityManager.changePassword(username, password);
- }
- }
-
- List<String> grantedRoles = identityManager.getGrantedRoles(username);
-
- for (String role : grantedRoles)
- {
- if (!roles.contains(role)) identityManager.revokeRole(username, role);
- }
-
- for (String role : roles)
- {
- if (!grantedRoles.contains(role)) identityManager.grantRole(username, role);
- }
-
- if (enabled)
- {
- identityManager.enableAccount(username);
- }
- else
- {
- identityManager.disableAccount(username);
- }
-
- Conversation.instance().end();
- return "success";
- }
-
- public String getUsername()
- {
- return username;
- }
-
- public void setUsername(String username)
- {
- this.username = username;
- }
-
- public String getPassword()
- {
- return password;
- }
-
- public void setPassword(String password)
- {
- this.password = password;
- }
-
- public String getConfirm()
- {
- return confirm;
- }
-
- public void setConfirm(String confirm)
- {
- this.confirm = confirm;
- }
-
- public List<String> getRoles()
- {
- return roles;
- }
-
- public void setRoles(List<String> roles)
- {
- this.roles = roles;
- }
-
- public boolean isEnabled()
- {
- return enabled;
- }
-
- public void setEnabled(boolean enabled)
- {
- this.enabled = enabled;
- }
-}
Deleted: trunk/seam-gen/src/UserSearch.java
===================================================================
--- trunk/seam-gen/src/UserSearch.java 2008-01-22 17:16:09 UTC (rev 7189)
+++ trunk/seam-gen/src/UserSearch.java 2008-01-22 17:25:59 UTC (rev 7190)
@@ -1,51 +0,0 @@
-package @actionPackage@;
-
-import static org.jboss.seam.ScopeType.SESSION;
-
-import java.io.Serializable;
-import java.util.List;
-
-import org.jboss.seam.annotations.In;
-import org.jboss.seam.annotations.Name;
-import org.jboss.seam.annotations.Scope;
-import org.jboss.seam.annotations.datamodel.DataModel;
-import org.jboss.seam.annotations.datamodel.DataModelSelection;
-import org.jboss.seam.security.management.IdentityManager;
-
- at Name("userSearch")
- at Scope(SESSION)
-public class UserSearch implements Serializable
-{
- private static final long serialVersionUID = 8592034786339372510L;
-
- @DataModel
- List<String> users;
-
- @DataModelSelection
- String selectedUser;
-
- @In IdentityManager identityManager;
-
- public void loadUsers()
- {
- users = identityManager.listUsers();
- }
-
- public String getUserRoles(String username)
- {
- List<String> roles = identityManager.getGrantedRoles(username);
- StringBuilder sb = new StringBuilder();
-
- for (String role : roles)
- {
- sb.append((sb.length() > 0 ? ", " : "") + role);
- }
-
- return sb.toString();
- }
-
- public String getSelectedUser()
- {
- return selectedUser;
- }
-}
\ No newline at end of file
Deleted: trunk/seam-gen/view/img/btn_newuser.png
===================================================================
(Binary files differ)
Deleted: trunk/seam-gen/view/img/checkmark.png
===================================================================
(Binary files differ)
Deleted: trunk/seam-gen/view/img/cross.png
===================================================================
(Binary files differ)
Modified: trunk/seam-gen/view/layout/menu.xhtml
===================================================================
--- trunk/seam-gen/view/layout/menu.xhtml 2008-01-22 17:16:09 UTC (rev 7189)
+++ trunk/seam-gen/view/layout/menu.xhtml 2008-01-22 17:25:59 UTC (rev 7190)
@@ -8,7 +8,6 @@
<rich:toolBarGroup>
<h:outputText value="#{projectName}:"/>
<s:link view="/home.xhtml" value="Home"/>
- <!--s:link view="/usermanager.xhtml" value="User Manager" rendered="#{s:hasPermission('seam.account', 'read', null)}"/-->
</rich:toolBarGroup>
<!-- @newMenuItem@ -->
<rich:toolBarGroup location="right">
Modified: trunk/seam-gen/view/stylesheet/theme.css
===================================================================
--- trunk/seam-gen/view/stylesheet/theme.css 2008-01-22 17:16:09 UTC (rev 7189)
+++ trunk/seam-gen/view/stylesheet/theme.css 2008-01-22 17:25:59 UTC (rev 7190)
@@ -115,83 +115,3 @@
.rich-stglpanel-body {
overflow: auto;
}
-
-/* User Manager */
-
-div.formRow {
- padding-top: 2px;
- padding-bottom: 2px;
- clear: both;
-}
-
-div.formRow label {
- float: left;
- width: 120px;
- padding: 2px 2px 2px 2px;
-}
-
-div.formRow input[type='text'] {
- width: 120px;
-}
-
-div.formRow input[type='password'] {
- width: 120px;
-}
-
-div.validationError {
- margin-left: 120px;
- font-weight: bold;
- color: #ff0000;
-}
-
-table.userlist {
- width: 600px;
-}
-
-input.newuser {
- background: url(../img/btn_newuser.png) top left no-repeat;
- height: 24px;
- width: 80px;
- margin: 4px 4px 4px 4px;
- border: 0px;
- cursor: pointer;
-}
-
-.roles {
- width: 120px;
- border: 1px solid #7F9DB9;
- background-color: #E7EDF7;
-}
-
-div.selectMany label {
- float: none;
-}
-
-div.formButtons {
- float: right;
- padding: 4px 8px 16px 2px;
-}
-
-div.checkmark {
- background: url(../img/checkmark.png) top left no-repeat;
- width: 14px;
- height: 15px;
- margin-left: auto;
- margin-right: auto;
-}
-
-div.cross {
- background: url(../img/cross.png) top left no-repeat;
- width: 14px;
- height: 15px;
- margin-left: auto;
- margin-right: auto;
-}
-
-td.enabled {
- text-align: center;
-}
-
-td.action {
- text-align: right;
-}
\ No newline at end of file
Deleted: trunk/seam-gen/view/userdetail.xhtml
===================================================================
--- trunk/seam-gen/view/userdetail.xhtml 2008-01-22 17:16:09 UTC (rev 7189)
+++ trunk/seam-gen/view/userdetail.xhtml 2008-01-22 17:25:59 UTC (rev 7190)
@@ -1,64 +0,0 @@
-<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<ui:composition xmlns="http://www.w3.org/1999/xhtml"
- xmlns:s="http://jboss.com/products/seam/taglib"
- xmlns:ui="http://java.sun.com/jsf/facelets"
- xmlns:f="http://java.sun.com/jsf/core"
- xmlns:h="http://java.sun.com/jsf/html"
- xmlns:rich="http://richfaces.org/rich"
- template="layout/template.xhtml">
-
- <ui:define name="body">
-
- <h:messages globalOnly="true" styleClass="message"/>
-
- <h2>User Details</h2>
-
- <h:messages globalOnly="true"/>
-
- <h:form>
-
- <div class="formRow">
- <h:outputLabel for="username" value="Username" styleClass="formLabel"/>
- <h:inputText id="username" value="#{userAction.username}" readonly="#{identityManager.accountExists(userAction.username)}"/>
- <div class="validationError"><h:message for="username"/></div>
- </div>
-
- <div class="formRow">
- <h:outputLabel for="password" value="Password" styleClass="formLabel"/>
- <h:inputSecret id="password" value="#{userAction.password}"/>
- <div class="validationError"><h:message for="password"/></div>
- </div>
-
- <div class="formRow">
- <h:outputLabel for="confirm" value="Confirm password" styleClass="formLabel"/>
- <h:inputSecret id="confirm" value="#{userAction.confirm}"/>
- </div>
-
- <div class="formRow">
- <h:outputLabel for="roles" value="Member of" styleClass="formLabel"/>
- <div class="selectMany">
- <h:selectManyCheckbox id="roles" value="#{userAction.roles}" layout="pageDirection" styleClass="roles">
- <s:selectItems value="#{identityManager.listRoles()}" var="role" label="#{role}"/>
- </h:selectManyCheckbox>
- </div>
- <div class="validationError"><h:message for="roles"/></div>
- </div>
-
- <div class="formRow">
- <h:outputLabel for="enabled" value="Account enabled" styleClass="formLabel"/>
- <h:selectBooleanCheckbox id="enabled" value="#{userAction.enabled}"/>
- </div>
-
- <div class="formButtons">
- <h:commandButton value="Save" action="#{userAction.save}"/>
- <s:button view="/usermanager.xhtml" value="Cancel" propagation="end"/>
- </div>
-
- <br class="clear"/>
-
- </h:form>
-
- </ui:define>
-
-</ui:composition>
Deleted: trunk/seam-gen/view/usermanager.xhtml
===================================================================
--- trunk/seam-gen/view/usermanager.xhtml 2008-01-22 17:16:09 UTC (rev 7189)
+++ trunk/seam-gen/view/usermanager.xhtml 2008-01-22 17:25:59 UTC (rev 7190)
@@ -1,72 +0,0 @@
-<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<ui:composition xmlns="http://www.w3.org/1999/xhtml"
- xmlns:s="http://jboss.com/products/seam/taglib"
- xmlns:ui="http://java.sun.com/jsf/facelets"
- xmlns:f="http://java.sun.com/jsf/core"
- xmlns:h="http://java.sun.com/jsf/html"
- xmlns:rich="http://richfaces.org/rich"
- template="layout/template.xhtml">
-
- <ui:define name="body">
-
- <h:messages globalOnly="true" styleClass="message"/>
-
- <script type="text/javascript">
- function confirmDelete()
- {
- return confirm("Are you sure you wish to delete this user? This action cannot be undone.");
- }
- </script>
-
- <div id="contentMain">
-
- <h2>User Manager</h2>
-
- <s:button action="#{userAction.createUser}" styleClass="newuser" rendered="#{s:hasPermission('seam.account', 'create', null)}"/>
-
- <rich:dataTable
- id="threads"
- value="#{users}"
- var="user"
- styleClass="userlist"
- columnClasses=",,enabled,action">
- <f:facet name="header">
- <rich:columnGroup>
- <rich:column width="auto">
- User name
- </rich:column>
- <rich:column width="auto">
- Member Of
- </rich:column>
- <rich:column width="auto">
- Enabled
- </rich:column>
- <rich:column width="auto">
- Action
- </rich:column>
- </rich:columnGroup>
- </f:facet>
- <rich:column width="auto">
- #{user}
- </rich:column>
- <rich:column width="auto">
- #{userSearch.getUserRoles(user)}
- </rich:column>
- <rich:column width="auto">
- <div class="#{identityManager.isEnabled(user) ? 'checkmark' : 'cross'}"/>
- </rich:column>
- <rich:column width="auto">
- <s:fragment rendered="#{s:hasPermission('seam.account', 'update', null)}">
- <s:link value="Edit" action="#{userAction.editUser(userSearch.selectedUser)}"/><span> | </span>
- </s:fragment>
- <s:link value="Delete" action="#{identityManager.deleteAccount(userSearch.selectedUser)}"
- rendered="#{s:hasPermission('seam.account', 'delete', null)}"
- onclick="return confirmDelete()"/>
- </rich:column>
- </rich:dataTable>
- </div>
-
- </ui:define>
-
-</ui:composition>
More information about the seam-commits
mailing list