Seam SVN: r9386 - trunk/src/main/org/jboss/seam/deployment.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-10-23 07:31:39 -0400 (Thu, 23 Oct 2008)
New Revision: 9386
Modified:
trunk/src/main/org/jboss/seam/deployment/FileDescriptor.java
Log:
Better logging
Modified: trunk/src/main/org/jboss/seam/deployment/FileDescriptor.java
===================================================================
--- trunk/src/main/org/jboss/seam/deployment/FileDescriptor.java 2008-10-23 06:10:59 UTC (rev 9385)
+++ trunk/src/main/org/jboss/seam/deployment/FileDescriptor.java 2008-10-23 11:31:39 UTC (rev 9386)
@@ -17,7 +17,15 @@
public FileDescriptor(String name, ClassLoader classLoader)
{
this.name = name;
+ if (name == null)
+ {
+ throw new NullPointerException("Name cannot be null");
+ }
this.url = classLoader.getResource(name);
+ if (this.url == null)
+ {
+ throw new NullPointerException("Cannot find URL from classLoader for " + name);
+ }
}
public String getName()
16 years, 1 month
Seam SVN: r9385 - in trunk/seam-gen: build-scripts and 8 other directories.
by seam-commits@lists.jboss.org
Author: dan.j.allen
Date: 2008-10-23 02:10:59 -0400 (Thu, 23 Oct 2008)
New Revision: 9385
Added:
trunk/seam-gen/icefaces/ide-project-files/
trunk/seam-gen/icefaces/ide-project-files/eclipse/
trunk/seam-gen/icefaces/ide-project-files/eclipse/.classpath
trunk/seam-gen/icefaces/ide-project-files/idea/
trunk/seam-gen/icefaces/ide-project-files/idea/module.iml
trunk/seam-gen/ide-project-files/
trunk/seam-gen/ide-project-files/eclipse/
trunk/seam-gen/ide-project-files/eclipse/.classpath
trunk/seam-gen/ide-project-files/eclipse/.project
trunk/seam-gen/ide-project-files/eclipse/.settings/
trunk/seam-gen/ide-project-files/eclipse/debug-jboss.launch
trunk/seam-gen/ide-project-files/eclipse/explode.launch
trunk/seam-gen/ide-project-files/idea/
trunk/seam-gen/ide-project-files/idea/module.iml
trunk/seam-gen/ide-project-files/idea/project.ipr
trunk/seam-gen/ide-project-files/netbeans/
Removed:
trunk/seam-gen/build-scripts/.classpath
trunk/seam-gen/build-scripts/.project
trunk/seam-gen/build-scripts/.settings/
trunk/seam-gen/build-scripts/debug-jboss.launch
trunk/seam-gen/build-scripts/explode.launch
trunk/seam-gen/icefaces/build-scripts/.classpath
trunk/seam-gen/nbproject/
Modified:
trunk/seam-gen/build.xml
Log:
reorganize the ide project files
generate project files for IntelliJ IDEA
improve instructions for how to import the project into the IDEs
Deleted: trunk/seam-gen/build-scripts/.classpath
===================================================================
--- trunk/seam-gen/build-scripts/.classpath 2008-10-23 06:09:08 UTC (rev 9384)
+++ trunk/seam-gen/build-scripts/.classpath 2008-10-23 06:10:59 UTC (rev 9385)
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" output="classes/main" path="src/main"/>
- <classpathentry kind="src" output="classes/hot" path="src/hot"/>
- <classpathentry kind="src" output="classes/test" path="src/test"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="lib" path="bootstrap"/>
- <classpathentry kind="lib" path="lib/hibernate-validator.jar"/>
- <classpathentry kind="lib" path="lib/hibernate.jar"/>
- <classpathentry kind="lib" path="lib/hibernate-annotations.jar"/>
- <classpathentry kind="lib" path="lib/hibernate-commons-annotations.jar"/>
- <classpathentry kind="lib" path="lib/hibernate-entitymanager.jar"/>
- <classpathentry kind="lib" path="lib/jboss-seam.jar" sourcepath="lib/src/jboss-seam-sources.jar"/>
- <classpathentry kind="lib" path="lib/jboss-seam-ui.jar" sourcepath="lib/src/jboss-seam-ui-sources.jar"/>
- <classpathentry kind="lib" path="lib/jboss-seam-debug.jar"/>
- <classpathentry kind="lib" path="lib/jboss-cache.jar"/>
- <classpathentry kind="lib" path="lib/jbpm-jpdl.jar"/>
- <classpathentry kind="lib" path="lib/antlr.jar"/>
- <classpathentry kind="lib" path="lib/jgroups.jar"/>
- <classpathentry kind="lib" path="lib/jsf-facelets.jar"/>
- <classpathentry kind="lib" path="lib/jsf-api.jar"/>
- <classpathentry kind="lib" path="lib/servlet-api.jar"/>
- <classpathentry kind="lib" path="lib/testng.jar"/>
- <classpathentry kind="lib" path="lib/jboss-el.jar"/>
- <classpathentry kind="lib" path="lib/el-api.jar"/>
- <classpathentry kind="lib" path="lib/mvel14.jar"/>
- <classpathentry kind="lib" path="lib/drools-core.jar"/>
- <classpathentry kind="lib" path="lib/drools-compiler.jar"/>
- <classpathentry kind="lib" path="lib/janino.jar"/>
- <classpathentry kind="lib" path="lib/antlr-runtime.jar"/>
- <classpathentry kind="lib" path="lib/mail.jar"/>
- <classpathentry kind="lib" path="lib/persistence-api.jar" />
- <classpathentry kind="lib" path="lib/ejb-api.jar" />
- <classpathentry kind="lib" path="lib/jsr250-api.jar" />
- <classpathentry kind="lib" path="lib/jta.jar" />
- <classpathentry kind="lib" path="lib/core.jar"/>
- <classpathentry kind="lib" path="lib/jboss-embedded-api.jar"/>
- <classpathentry kind="lib" path="lib/hibernate-search.jar" />
- <classpathentry kind="lib" path="lib/richfaces-api.jar" />
- <classpathentry kind="lib" path="lib/@driverJar@"/>
- <classpathentry kind="lib" path="lib/lucene-core.jar" />
- <classpathentry kind="output" path="test-build"/>
-</classpath>
Deleted: trunk/seam-gen/build-scripts/.project
===================================================================
--- trunk/seam-gen/build-scripts/.project 2008-10-23 06:09:08 UTC (rev 9384)
+++ trunk/seam-gen/build-scripts/.project 2008-10-23 06:10:59 UTC (rev 9385)
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>@projectName@</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>auto,full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>LaunchConfigHandle</key>
- <value><project>/explode.launch</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.jboss.tools.seam.core.seambuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.hibernate.eclipse.console.hibernateNature</nature>
- <nature>org.jboss.tools.seam.core.seamnature</nature>
- </natures>
-</projectDescription>
Deleted: trunk/seam-gen/build-scripts/debug-jboss.launch
===================================================================
--- trunk/seam-gen/build-scripts/debug-jboss.launch 2008-10-23 06:09:08 UTC (rev 9384)
+++ trunk/seam-gen/build-scripts/debug-jboss.launch 2008-10-23 06:10:59 UTC (rev 9385)
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.jdt.launching.remoteJavaApplication">
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/@projectName@"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="4"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.jdt.launching.ALLOW_TERMINATE" value="true"/>
-<mapAttribute key="org.eclipse.jdt.launching.CONNECT_MAP">
-<mapEntry key="port" value="8787"/>
-<mapEntry key="hostname" value="localhost"/>
-</mapAttribute>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="@projectName@"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_CONNECTOR_ID" value="org.eclipse.jdt.launching.socketAttachConnector"/>
-</launchConfiguration>
Deleted: trunk/seam-gen/build-scripts/explode.launch
===================================================================
--- trunk/seam-gen/build-scripts/explode.launch 2008-10-23 06:09:08 UTC (rev 9384)
+++ trunk/seam-gen/build-scripts/explode.launch 2008-10-23 06:10:59 UTC (rev 9385)
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
- <booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
- <booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
- <booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
- <stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_AFTER_CLEAN_TARGETS" value="clean,unexplode,restart,buildtest,"/>
- <stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,auto,"/>
- <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
- <listEntry value="1"/>
- </listAttribute>
- <booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
- <booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
- <booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
- <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
- <stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_MANUAL_TARGETS" value="clean,unexplode,restart,buildtest,"/>
- <stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_AUTO_TARGETS" value="explode,buildtest,"/>
- <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="@projectName@"/>
- <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
- <listEntry value="/@projectName(a)/build.xml"/>
- </listAttribute>
- <stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/@projectName@/build.xml}"/>
-</launchConfiguration>
Modified: trunk/seam-gen/build.xml
===================================================================
--- trunk/seam-gen/build.xml 2008-10-23 06:09:08 UTC (rev 9384)
+++ trunk/seam-gen/build.xml 2008-10-23 06:10:59 UTC (rev 9385)
@@ -462,6 +462,7 @@
<copy todir="icefaces-staging">
<fileset dir="${seam-gen.dir}">
<include name="build-scripts/**"/>
+ <include name="ide-project-files/**"/>
<include name="hibernatetools/**"/>
<include name="lib/**"/>
<include name="resources/**"/>
@@ -469,13 +470,13 @@
<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="${seam-gen.dir}/icefaces">
<include name="build-scripts/**"/>
+ <include name="ide-project-files/**"/>
<include name="resources/**"/>
<include name="src/**"/>
<include name="view/**"/>
@@ -744,8 +745,19 @@
<filterset refid="jdbc"/>
</copy>
+ <!-- Eclipse project files -->
+ <copy todir="${project.home}">
+ <fileset dir="${templates.dir}/ide-project-files/eclipse">
+ <include name=".classpath"/>
+ <include name=".project"/>
+ <include name=".settings/*"/>
+ <include name="explode.launch"/>
+ </fileset>
+ <filterset refid="project"/>
+ </copy>
+
<copy tofile="${project.home}/debug-jboss-${project.name}.launch"
- file="${templates.dir}/build-scripts/debug-jboss.launch">
+ file="${templates.dir}/ide-project-files/eclipse/debug-jboss.launch">
<filterset refid="project"/>
</copy>
@@ -763,16 +775,39 @@
</filterset>
</copy>
- <copy tofile="${project.home}/resources/seam-gen.reveng.xml"
- file="${templates.dir}/hibernatetools/seam-gen.reveng.xml">
+ <copy tofile="${project.home}/.settings/org.hibernate.eclipse.console.prefs"
+ file="${templates.dir}/hibernatetools/.settings/org.hibernate.eclipse.console.prefs">
<filterset refid="project"/>
</copy>
- <copy tofile="${project.home}/.settings/org.hibernate.eclipse.console.prefs"
- file="${templates.dir}/hibernatetools/.settings/org.hibernate.eclipse.console.prefs">
+ <!-- IDEA project files -->
+ <copy tofile="${project.home}/${project.name}.ipr"
+ file="${templates.dir}/ide-project-files/idea/project.ipr">
<filterset refid="project"/>
</copy>
+ <copy tofile="${project.home}/${project.name}.iml"
+ file="${templates.dir}/ide-project-files/idea/module.iml">
+ <filterset refid="project"/>
+ </copy>
+ <!--
+ <copy tofile="${project.home}/${project.name}.iws"
+ file="${templates.dir}/ide-project-files/idea/workspace.iws">
+ <filterset refid="project"/>
+ </copy>
+ -->
+ <!-- NetBeans project files -->
+ <mkdir dir="${project.home}/nbproject"/>
+ <copy todir="${project.home}/nbproject">
+ <fileset dir="${templates.dir}/ide-project-files/netbeans"/>
+ <filterset refid="project"/>
+ </copy>
+
+ <copy tofile="${project.home}/resources/seam-gen.reveng.xml"
+ file="${templates.dir}/hibernatetools/seam-gen.reveng.xml">
+ <filterset refid="project"/>
+ </copy>
+
<copy tofile="${project.home}/resources/${project.name}-dev-ds.xml"
file="${templates.dir}/resources/datasource-ds.xml">
<filterset refid="project"/>
@@ -834,11 +869,8 @@
<copy todir="${project.home}">
<fileset dir="${templates.dir}/build-scripts">
- <exclude name="build*.xml"/>
- <exclude name="*.list"/>
- <exclude name="debug-jboss.launch"/>
+ <include name="build*.properties"/>
</fileset>
- <filterset refid="project"/>
</copy>
<mkdir dir="${project.home}/src/${model.dir}"/>
@@ -847,12 +879,6 @@
<copy todir="${project.home}/src/test" file="${templates.dir}/test/readme.txt"/>
- <mkdir dir="${project.home}/nbproject"/>
- <copy todir="${project.home}/nbproject">
- <fileset dir="${templates.dir}/nbproject"/>
- <filterset refid="project"/>
- </copy>
-
</target>
<target name="validate-project" depends="init-properties, validate-workspace">
@@ -902,8 +928,9 @@
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.cmd} 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"/>
+ <echo message="Eclipse Users: Import the project using File > Import... > Existing Projects into Workspace, set the root directory to ${workspace.home}, then select the project named ${project.name}"/>
+ <echo message="NetBeans Users: Open the project using File > Open project... and select the project folder ${project.home} "/>
+ <echo message="IDEA Users: Open the project using File > Open project... and select the file ${project.home}/${project.name}.ipr"/>
</target>
<target name="update-project" depends="validate-project,copy-lib"
Deleted: trunk/seam-gen/icefaces/build-scripts/.classpath
===================================================================
--- trunk/seam-gen/icefaces/build-scripts/.classpath 2008-10-23 06:09:08 UTC (rev 9384)
+++ trunk/seam-gen/icefaces/build-scripts/.classpath 2008-10-23 06:10:59 UTC (rev 9385)
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" output="classes/main" path="src/main"/>
- <classpathentry kind="src" output="classes/hot" path="src/hot"/>
- <classpathentry kind="src" output="classes/test" path="src/test"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="lib" path="bootstrap"/>
- <classpathentry kind="lib" path="lib/hibernate-validator.jar"/>
- <classpathentry kind="lib" path="lib/hibernate.jar"/>
- <classpathentry kind="lib" path="lib/hibernate-annotations.jar"/>
- <classpathentry kind="lib" path="lib/hibernate-commons-annotations.jar"/>
- <classpathentry kind="lib" path="lib/hibernate-entitymanager.jar"/>
- <classpathentry kind="lib" path="lib/jboss-seam.jar" sourcepath="lib/src/jboss-seam-sources.jar"/>
- <classpathentry kind="lib" path="lib/jboss-seam-ui.jar" sourcepath="lib/src/jboss-seam-ui-sources.jar"/>
- <classpathentry kind="lib" path="lib/jboss-seam-debug.jar"/>
- <classpathentry kind="lib" path="lib/jboss-cache.jar"/>
- <classpathentry kind="lib" path="lib/jbpm-jpdl.jar"/>
- <classpathentry kind="lib" path="lib/antlr.jar"/>
- <classpathentry kind="lib" path="lib/jgroups.jar"/>
- <classpathentry kind="lib" path="lib/commons-logging.jar"/>
- <classpathentry kind="lib" path="lib/jsf-api.jar"/>
- <classpathentry kind="lib" path="lib/servlet-api.jar"/>
- <classpathentry kind="lib" path="lib/testng.jar"/>
- <classpathentry kind="lib" path="lib/jboss-el.jar"/>
- <classpathentry kind="lib" path="lib/el-api.jar"/>
- <classpathentry kind="lib" path="lib/mvel14.jar"/>
- <classpathentry kind="lib" path="lib/drools-core.jar"/>
- <classpathentry kind="lib" path="lib/drools-compiler.jar"/>
- <classpathentry kind="lib" path="lib/janino.jar"/>
- <classpathentry kind="lib" path="lib/antlr-runtime.jar"/>
- <classpathentry kind="lib" path="lib/mail.jar"/>
- <classpathentry kind="lib" path="lib/persistence-api.jar" />
- <classpathentry kind="lib" path="lib/ejb-api.jar" />
- <classpathentry kind="lib" path="lib/jsr250-api.jar" />
- <classpathentry kind="lib" path="lib/jta.jar" />
- <classpathentry kind="lib" path="lib/core.jar"/>
- <classpathentry kind="lib" path="lib/jboss-embedded-api.jar"/>
- <classpathentry kind="lib" path="lib/@driverJar@"/>
- <classpathentry kind="output" path="test-build"/>
- <classpathentry kind="lib" path="lib/icefaces.jar"/>
- <classpathentry kind="lib" path="lib/icefaces-comps.jar"/>
- <classpathentry kind="lib" path="lib/icefaces-facelets.jar"/>
-</classpath>
Copied: trunk/seam-gen/icefaces/ide-project-files/eclipse/.classpath (from rev 9371, trunk/seam-gen/icefaces/build-scripts/.classpath)
===================================================================
--- trunk/seam-gen/icefaces/ide-project-files/eclipse/.classpath (rev 0)
+++ trunk/seam-gen/icefaces/ide-project-files/eclipse/.classpath 2008-10-23 06:10:59 UTC (rev 9385)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="classes/main" path="src/main"/>
+ <classpathentry kind="src" output="classes/hot" path="src/hot"/>
+ <classpathentry kind="src" output="classes/test" path="src/test"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="lib" path="bootstrap"/>
+ <classpathentry kind="lib" path="lib/hibernate-validator.jar"/>
+ <classpathentry kind="lib" path="lib/hibernate.jar"/>
+ <classpathentry kind="lib" path="lib/hibernate-annotations.jar"/>
+ <classpathentry kind="lib" path="lib/hibernate-commons-annotations.jar"/>
+ <classpathentry kind="lib" path="lib/hibernate-entitymanager.jar"/>
+ <classpathentry kind="lib" path="lib/hibernate-search.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-seam.jar" sourcepath="lib/src/jboss-seam-sources.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-seam-ui.jar" sourcepath="lib/src/jboss-seam-ui-sources.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-seam-debug.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-cache.jar"/>
+ <classpathentry kind="lib" path="lib/jbpm-jpdl.jar"/>
+ <classpathentry kind="lib" path="lib/antlr.jar"/>
+ <classpathentry kind="lib" path="lib/jgroups.jar"/>
+ <classpathentry kind="lib" path="lib/commons-logging.jar"/>
+ <classpathentry kind="lib" path="lib/jsf-api.jar"/>
+ <classpathentry kind="lib" path="lib/servlet-api.jar"/>
+ <classpathentry kind="lib" path="lib/testng.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-el.jar"/>
+ <classpathentry kind="lib" path="lib/el-api.jar"/>
+ <classpathentry kind="lib" path="lib/mvel14.jar"/>
+ <classpathentry kind="lib" path="lib/drools-core.jar"/>
+ <classpathentry kind="lib" path="lib/drools-compiler.jar"/>
+ <classpathentry kind="lib" path="lib/janino.jar"/>
+ <classpathentry kind="lib" path="lib/antlr-runtime.jar"/>
+ <classpathentry kind="lib" path="lib/mail.jar"/>
+ <classpathentry kind="lib" path="lib/persistence-api.jar" />
+ <classpathentry kind="lib" path="lib/ejb-api.jar" />
+ <classpathentry kind="lib" path="lib/jsr250-api.jar" />
+ <classpathentry kind="lib" path="lib/jta.jar" />
+ <classpathentry kind="lib" path="lib/core.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-embedded-api.jar"/>
+ <classpathentry kind="lib" path="lib/@driverJar@"/>
+ <classpathentry kind="lib" path="lib/lucene-core.jar" />
+ <classpathentry kind="output" path="test-build"/>
+ <classpathentry kind="lib" path="lib/icefaces.jar"/>
+ <classpathentry kind="lib" path="lib/icefaces-comps.jar"/>
+ <classpathentry kind="lib" path="lib/icefaces-facelets.jar"/>
+</classpath>
Added: trunk/seam-gen/icefaces/ide-project-files/idea/module.iml
===================================================================
--- trunk/seam-gen/icefaces/ide-project-files/idea/module.iml (rev 0)
+++ trunk/seam-gen/icefaces/ide-project-files/idea/module.iml 2008-10-23 06:10:59 UTC (rev 9385)
@@ -0,0 +1,412 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module relativePaths="false" type="JAVA_MODULE" version="4">
+ <component name="FacetManager">
+ <facet type="web" name="Web">
+ <configuration>
+ <descriptors>
+ <deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/resources/WEB-INF/web.xml" optional="false" version="2.5" />
+ </descriptors>
+ <webroots>
+ <root url="file://$MODULE_DIR$/view" relative="/" />
+ </webroots>
+ <sourceRoots>
+ <root url="file://$MODULE_DIR$/src/hot" />
+ <root url="file://$MODULE_DIR$/src/main" />
+ </sourceRoots>
+ <building>
+ <setting name="EXPLODED_URL" value="file://" />
+ <setting name="EXPLODED_ENABLED" value="false" />
+ <setting name="JAR_URL" value="file://" />
+ <setting name="JAR_ENABLED" value="false" />
+ <setting name="BUILD_MODULE_ON_FRAME_DEACTIVATION" value="false" />
+ <setting name="EXCLUDE_EXPLODED_DIRECTORY" value="true" />
+ <setting name="RUN_JASPER_VALIDATION" value="true" />
+ <setting name="BUILD_ONLY_WEB_RESOURCES" value="false" />
+ </building>
+ <packaging>
+ <containerElement type="module" name="@projectName@">
+ <attribute name="method" value="1" />
+ <attribute name="URI" value="/WEB-INF/classes" />
+ </containerElement>
+ </packaging>
+ </configuration>
+ <facet type="jsf" name="JSF">
+ <configuration />
+ </facet>
+ </facet>
+ <facet type="jpa" name="JPA">
+ <configuration>
+ <setting name="validation-enabled" value="true" />
+ <setting name="provider-name" value="Hibernate" />
+ <datasource-mapping>
+ <factory-entry name="@projectName@"/>
+ </datasource-mapping>
+ <deploymentDescriptor name="persistence.xml" url="file://$MODULE_DIR$/resources/META-INF/persistence-dev-war.xml" optional="false" version="1.0" />
+ </configuration>
+ </facet>
+ <facet type="Seam" name="Seam">
+ <configuration>
+ <setting name="validation-enabled" value="true" />
+ </configuration>
+ </facet>
+ </component>
+ <component name="NewModuleRootManager" inherit-compiler-output="false">
+ <output url="file://$MODULE_DIR$/classes" />
+ <output-test url="file://$MODULE_DIR$/test-build" />
+ <exclude-output />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/src/hot" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/test" isTestSource="true" />
+ </content>
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="file://$MODULE_DIR$/bootstrap" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/hibernate-validator.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/hibernate.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/hibernate-annotations.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/hibernate-commons-annotations.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/hibernate-entitymanager.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jboss-seam.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/lib/src/jboss-seam-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jboss-seam-ui.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/lib/src/jboss-seam-ui-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jboss-seam-debug.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jboss-cache.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jbpm-jpdl.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/antlr.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jgroups.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jsf-facelets.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jsf-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/servlet-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/testng.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jboss-el.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/el-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/mvel14.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/drools-core.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/drools-compiler.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/janino.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/antlr-runtime.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/mail.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/persistence-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/ejb-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jsr250-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jta.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/core.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jboss-embedded-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/hibernate-search.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/@driverJar@!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/lucene-core.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jsf-impl.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/icefaces.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/icefaces-comps.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/icefaces-facelets.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ </component>
+</module>
+
Copied: trunk/seam-gen/ide-project-files/eclipse/.classpath (from rev 9371, trunk/seam-gen/build-scripts/.classpath)
===================================================================
--- trunk/seam-gen/ide-project-files/eclipse/.classpath (rev 0)
+++ trunk/seam-gen/ide-project-files/eclipse/.classpath 2008-10-23 06:10:59 UTC (rev 9385)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="classes/main" path="src/main"/>
+ <classpathentry kind="src" output="classes/hot" path="src/hot"/>
+ <classpathentry kind="src" output="classes/test" path="src/test"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="lib" path="bootstrap"/>
+ <classpathentry kind="lib" path="lib/hibernate-validator.jar"/>
+ <classpathentry kind="lib" path="lib/hibernate.jar"/>
+ <classpathentry kind="lib" path="lib/hibernate-annotations.jar"/>
+ <classpathentry kind="lib" path="lib/hibernate-commons-annotations.jar"/>
+ <classpathentry kind="lib" path="lib/hibernate-entitymanager.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-seam.jar" sourcepath="lib/src/jboss-seam-sources.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-seam-ui.jar" sourcepath="lib/src/jboss-seam-ui-sources.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-seam-debug.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-cache.jar"/>
+ <classpathentry kind="lib" path="lib/jbpm-jpdl.jar"/>
+ <classpathentry kind="lib" path="lib/antlr.jar"/>
+ <classpathentry kind="lib" path="lib/jgroups.jar"/>
+ <classpathentry kind="lib" path="lib/jsf-facelets.jar"/>
+ <classpathentry kind="lib" path="lib/jsf-api.jar"/>
+ <classpathentry kind="lib" path="lib/servlet-api.jar"/>
+ <classpathentry kind="lib" path="lib/testng.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-el.jar"/>
+ <classpathentry kind="lib" path="lib/el-api.jar"/>
+ <classpathentry kind="lib" path="lib/mvel14.jar"/>
+ <classpathentry kind="lib" path="lib/drools-core.jar"/>
+ <classpathentry kind="lib" path="lib/drools-compiler.jar"/>
+ <classpathentry kind="lib" path="lib/janino.jar"/>
+ <classpathentry kind="lib" path="lib/antlr-runtime.jar"/>
+ <classpathentry kind="lib" path="lib/mail.jar"/>
+ <classpathentry kind="lib" path="lib/persistence-api.jar" />
+ <classpathentry kind="lib" path="lib/ejb-api.jar" />
+ <classpathentry kind="lib" path="lib/jsr250-api.jar" />
+ <classpathentry kind="lib" path="lib/jta.jar" />
+ <classpathentry kind="lib" path="lib/core.jar"/>
+ <classpathentry kind="lib" path="lib/jboss-embedded-api.jar"/>
+ <classpathentry kind="lib" path="lib/hibernate-search.jar" />
+ <classpathentry kind="lib" path="lib/richfaces-api.jar" />
+ <classpathentry kind="lib" path="lib/@driverJar@"/>
+ <classpathentry kind="lib" path="lib/lucene-core.jar" />
+ <classpathentry kind="output" path="test-build"/>
+</classpath>
Copied: trunk/seam-gen/ide-project-files/eclipse/.project (from rev 9371, trunk/seam-gen/build-scripts/.project)
===================================================================
--- trunk/seam-gen/ide-project-files/eclipse/.project (rev 0)
+++ trunk/seam-gen/ide-project-files/eclipse/.project 2008-10-23 06:10:59 UTC (rev 9385)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>@projectName@</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+ <triggers>auto,full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>LaunchConfigHandle</key>
+ <value><project>/explode.launch</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.jboss.tools.seam.core.seambuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.hibernate.eclipse.console.hibernateNature</nature>
+ <nature>org.jboss.tools.seam.core.seamnature</nature>
+ </natures>
+</projectDescription>
Copied: trunk/seam-gen/ide-project-files/eclipse/.settings (from rev 9371, trunk/seam-gen/build-scripts/.settings)
Copied: trunk/seam-gen/ide-project-files/eclipse/debug-jboss.launch (from rev 9371, trunk/seam-gen/build-scripts/debug-jboss.launch)
===================================================================
--- trunk/seam-gen/ide-project-files/eclipse/debug-jboss.launch (rev 0)
+++ trunk/seam-gen/ide-project-files/eclipse/debug-jboss.launch 2008-10-23 06:10:59 UTC (rev 9385)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.launching.remoteJavaApplication">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/@projectName@"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+</listAttribute>
+<booleanAttribute key="org.eclipse.jdt.launching.ALLOW_TERMINATE" value="true"/>
+<mapAttribute key="org.eclipse.jdt.launching.CONNECT_MAP">
+<mapEntry key="port" value="8787"/>
+<mapEntry key="hostname" value="localhost"/>
+</mapAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="@projectName@"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_CONNECTOR_ID" value="org.eclipse.jdt.launching.socketAttachConnector"/>
+</launchConfiguration>
Copied: trunk/seam-gen/ide-project-files/eclipse/explode.launch (from rev 9371, trunk/seam-gen/build-scripts/explode.launch)
===================================================================
--- trunk/seam-gen/ide-project-files/eclipse/explode.launch (rev 0)
+++ trunk/seam-gen/ide-project-files/eclipse/explode.launch 2008-10-23 06:10:59 UTC (rev 9385)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
+ <booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
+ <booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="true"/>
+ <booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
+ <stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_AFTER_CLEAN_TARGETS" value="clean,unexplode,restart,buildtest,"/>
+ <stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,auto,"/>
+ <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+ <listEntry value="1"/>
+ </listAttribute>
+ <booleanAttribute key="org.eclipse.ant.ui.ATTR_TARGETS_UPDATED" value="true"/>
+ <booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
+ <booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
+ <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
+ <stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_MANUAL_TARGETS" value="clean,unexplode,restart,buildtest,"/>
+ <stringAttribute key="org.eclipse.ant.ui.ATTR_ANT_AUTO_TARGETS" value="explode,buildtest,"/>
+ <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="@projectName@"/>
+ <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+ <listEntry value="/@projectName(a)/build.xml"/>
+ </listAttribute>
+ <stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/@projectName@/build.xml}"/>
+</launchConfiguration>
Added: trunk/seam-gen/ide-project-files/idea/module.iml
===================================================================
--- trunk/seam-gen/ide-project-files/idea/module.iml (rev 0)
+++ trunk/seam-gen/ide-project-files/idea/module.iml 2008-10-23 06:10:59 UTC (rev 9385)
@@ -0,0 +1,394 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module relativePaths="false" type="JAVA_MODULE" version="4">
+ <component name="FacetManager">
+ <facet type="web" name="Web">
+ <configuration>
+ <descriptors>
+ <deploymentDescriptor name="web.xml" url="file://$MODULE_DIR$/resources/WEB-INF/web.xml" optional="false" version="2.5" />
+ </descriptors>
+ <webroots>
+ <root url="file://$MODULE_DIR$/view" relative="/" />
+ </webroots>
+ <sourceRoots>
+ <root url="file://$MODULE_DIR$/src/hot" />
+ <root url="file://$MODULE_DIR$/src/main" />
+ </sourceRoots>
+ <building>
+ <setting name="EXPLODED_URL" value="file://" />
+ <setting name="EXPLODED_ENABLED" value="false" />
+ <setting name="JAR_URL" value="file://" />
+ <setting name="JAR_ENABLED" value="false" />
+ <setting name="BUILD_MODULE_ON_FRAME_DEACTIVATION" value="false" />
+ <setting name="EXCLUDE_EXPLODED_DIRECTORY" value="true" />
+ <setting name="RUN_JASPER_VALIDATION" value="true" />
+ <setting name="BUILD_ONLY_WEB_RESOURCES" value="false" />
+ </building>
+ <packaging>
+ <containerElement type="module" name="@projectName@">
+ <attribute name="method" value="1" />
+ <attribute name="URI" value="/WEB-INF/classes" />
+ </containerElement>
+ </packaging>
+ </configuration>
+ <facet type="jsf" name="JSF">
+ <configuration />
+ </facet>
+ </facet>
+ <facet type="jpa" name="JPA">
+ <configuration>
+ <setting name="validation-enabled" value="true" />
+ <setting name="provider-name" value="Hibernate" />
+ <datasource-mapping>
+ <factory-entry name="@projectName@"/>
+ </datasource-mapping>
+ <deploymentDescriptor name="persistence.xml" url="file://$MODULE_DIR$/resources/META-INF/persistence-dev-war.xml" optional="false" version="1.0" />
+ </configuration>
+ </facet>
+ <facet type="Seam" name="Seam">
+ <configuration>
+ <setting name="validation-enabled" value="true" />
+ </configuration>
+ </facet>
+ </component>
+ <component name="NewModuleRootManager" inherit-compiler-output="false">
+ <output url="file://$MODULE_DIR$/classes" />
+ <output-test url="file://$MODULE_DIR$/test-build" />
+ <exclude-output />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/src/hot" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/test" isTestSource="true" />
+ </content>
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="file://$MODULE_DIR$/bootstrap" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/hibernate-validator.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/hibernate.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/hibernate-annotations.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/hibernate-commons-annotations.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/hibernate-entitymanager.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jboss-seam.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/lib/src/jboss-seam-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jboss-seam-ui.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES>
+ <root url="jar://$MODULE_DIR$/lib/src/jboss-seam-ui-sources.jar!/" />
+ </SOURCES>
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jboss-seam-debug.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jboss-cache.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jbpm-jpdl.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/antlr.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jgroups.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jsf-facelets.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jsf-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/servlet-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/testng.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jboss-el.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/el-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/mvel14.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/drools-core.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/drools-compiler.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/janino.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/antlr-runtime.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/mail.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/persistence-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/ejb-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jsr250-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jta.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/core.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jboss-embedded-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/hibernate-search.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/richfaces-api.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/@driverJar@!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/lucene-core.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/lib/jsf-impl.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ </component>
+</module>
+
Added: trunk/seam-gen/ide-project-files/idea/project.ipr
===================================================================
--- trunk/seam-gen/ide-project-files/idea/project.ipr (rev 0)
+++ trunk/seam-gen/ide-project-files/idea/project.ipr 2008-10-23 06:10:59 UTC (rev 9385)
@@ -0,0 +1,250 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project relativePaths="false" version="4">
+ <component name="AntConfiguration">
+ <defaultAnt bundledAnt="true" />
+ </component>
+ <component name="BuildJarProjectSettings">
+ <option name="BUILD_JARS_ON_MAKE" value="false" />
+ </component>
+ <component name="CodeStyleSettingsManager">
+ <option name="PER_PROJECT_SETTINGS" />
+ <option name="USE_PER_PROJECT_SETTINGS" value="false" />
+ </component>
+ <component name="CompilerConfiguration">
+ <option name="DEFAULT_COMPILER" value="Javac" />
+ <option name="DEPLOY_AFTER_MAKE" value="0" />
+ <resourceExtensions>
+ <entry name=".+\.(properties|xml|html|dtd|tld)" />
+ <entry name=".+\.(gif|png|jpeg|jpg)" />
+ </resourceExtensions>
+ <wildcardResourcePatterns>
+ <entry name="?*.properties" />
+ <entry name="?*.xml" />
+ <entry name="?*.gif" />
+ <entry name="?*.png" />
+ <entry name="?*.jpeg" />
+ <entry name="?*.jpg" />
+ <entry name="?*.html" />
+ <entry name="?*.dtd" />
+ <entry name="?*.tld" />
+ <entry name="?*.ftl" />
+ </wildcardResourcePatterns>
+ </component>
+ <component name="DependenciesAnalyzeManager">
+ <option name="myForwardDirection" value="false" />
+ </component>
+ <component name="DependencyValidationManager">
+ <option name="SKIP_IMPORT_STATEMENTS" value="false" />
+ </component>
+ <component name="EclipseCompilerSettings">
+ <option name="DEBUGGING_INFO" value="true" />
+ <option name="GENERATE_NO_WARNINGS" value="true" />
+ <option name="DEPRECATION" value="false" />
+ <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+ <option name="MAXIMUM_HEAP_SIZE" value="128" />
+ </component>
+ <component name="EclipseEmbeddedCompilerSettings">
+ <option name="DEBUGGING_INFO" value="true" />
+ <option name="GENERATE_NO_WARNINGS" value="true" />
+ <option name="DEPRECATION" value="false" />
+ <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+ <option name="MAXIMUM_HEAP_SIZE" value="128" />
+ </component>
+ <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
+ <component name="EntryPointsManager">
+ <entry_points version="2.0" />
+ </component>
+ <component name="IdProvider" IDEtalkID="347211BFE083C9A041EFAF04DAA1B135" />
+ <component name="InspectionProjectProfileManager">
+ <option name="PROJECT_PROFILE" value="Project Default" />
+ <option name="USE_PROJECT_LEVEL_SETTINGS" value="false" />
+ <scopes />
+ <profiles>
+ <profile version="1.0" is_locked="false">
+ <option name="myName" value="Project Default" />
+ <option name="myLocal" value="false" />
+ </profile>
+ </profiles>
+ <list size="0" />
+ </component>
+ <component name="JavacSettings">
+ <option name="DEBUGGING_INFO" value="true" />
+ <option name="GENERATE_NO_WARNINGS" value="false" />
+ <option name="DEPRECATION" value="true" />
+ <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+ <option name="MAXIMUM_HEAP_SIZE" value="128" />
+ </component>
+ <component name="JavadocGenerationManager">
+ <option name="OUTPUT_DIRECTORY" />
+ <option name="OPTION_SCOPE" value="protected" />
+ <option name="OPTION_HIERARCHY" value="true" />
+ <option name="OPTION_NAVIGATOR" value="true" />
+ <option name="OPTION_INDEX" value="true" />
+ <option name="OPTION_SEPARATE_INDEX" value="true" />
+ <option name="OPTION_DOCUMENT_TAG_USE" value="false" />
+ <option name="OPTION_DOCUMENT_TAG_AUTHOR" value="false" />
+ <option name="OPTION_DOCUMENT_TAG_VERSION" value="false" />
+ <option name="OPTION_DOCUMENT_TAG_DEPRECATED" value="true" />
+ <option name="OPTION_DEPRECATED_LIST" value="true" />
+ <option name="OTHER_OPTIONS" value="" />
+ <option name="HEAP_SIZE" />
+ <option name="LOCALE" />
+ <option name="OPEN_IN_BROWSER" value="true" />
+ </component>
+ <component name="JikesSettings">
+ <option name="JIKES_PATH" value="" />
+ <option name="DEBUGGING_INFO" value="true" />
+ <option name="DEPRECATION" value="true" />
+ <option name="GENERATE_NO_WARNINGS" value="false" />
+ <option name="IS_EMACS_ERRORS_MODE" value="true" />
+ <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+ </component>
+ <component name="Palette2">
+ <group name="Swing">
+ <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
+ </item>
+ <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
+ </item>
+ <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
+ <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
+ <initial-values>
+ <property name="text" value="Button" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="RadioButton" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="CheckBox" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="Label" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+ <preferred-size width="200" height="200" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+ <preferred-size width="200" height="200" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
+ </item>
+ <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
+ <preferred-size width="-1" height="20" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
+ </item>
+ <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
+ </item>
+ </group>
+ </component>
+ <component name="ProjectDetails">
+ <option name="projectName" value="@projectName@" />
+ </component>
+ <component name="ProjectFileVersion" converted="true" />
+ <component name="ProjectModuleManager">
+ <modules>
+ <module fileurl="file://$PROJECT_DIR$/@projectName@.iml" filepath="$PROJECT_DIR$/@projectName@.iml" />
+ </modules>
+ </component>
+ <component name="ProjectRootManager" version="2" assert-keyword="true" jdk-15="true" project-jdk-name="JDK 6" project-jdk-type="JavaSDK">
+ <output url="file://$PROJECT_DIR$/classes" />
+ </component>
+ <component name="RmicSettings">
+ <option name="IS_EANABLED" value="false" />
+ <option name="DEBUGGING_INFO" value="true" />
+ <option name="GENERATE_NO_WARNINGS" value="false" />
+ <option name="GENERATE_IIOP_STUBS" value="false" />
+ <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+ </component>
+ <component name="SvnBranchConfigurationManager">
+ <option name="myVersion" value="123" />
+ </component>
+ <component name="VcsDirectoryMappings">
+ <mapping directory="" vcs="" />
+ </component>
+ <component name="WebServicesPlugin" addRequiredLibraries="true" />
+</project>
+
Copied: trunk/seam-gen/ide-project-files/netbeans (from rev 9371, trunk/seam-gen/nbproject)
16 years, 1 month
Seam SVN: r9384 - trunk/seam-gen/view/stylesheet.
by seam-commits@lists.jboss.org
Author: dan.j.allen
Date: 2008-10-23 02:09:08 -0400 (Thu, 23 Oct 2008)
New Revision: 9384
Modified:
trunk/seam-gen/view/stylesheet/theme.css
Log:
reduce font size on home page slightly
Modified: trunk/seam-gen/view/stylesheet/theme.css
===================================================================
--- trunk/seam-gen/view/stylesheet/theme.css 2008-10-23 01:25:25 UTC (rev 9383)
+++ trunk/seam-gen/view/stylesheet/theme.css 2008-10-23 06:09:08 UTC (rev 9384)
@@ -176,7 +176,7 @@
}
div.info {
- font-size: 1.25em;
+ font-size: 1.2em;
}
ul.bullets {
16 years, 1 month
Seam SVN: r9383 - trunk/src/main/org/jboss/seam/security/management.
by seam-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2008-10-22 21:25:25 -0400 (Wed, 22 Oct 2008)
New Revision: 9383
Modified:
trunk/src/main/org/jboss/seam/security/management/JpaIdentityStore.java
Log:
JBSEAM-3552
Modified: trunk/src/main/org/jboss/seam/security/management/JpaIdentityStore.java
===================================================================
--- trunk/src/main/org/jboss/seam/security/management/JpaIdentityStore.java 2008-10-22 19:01:16 UTC (rev 9382)
+++ trunk/src/main/org/jboss/seam/security/management/JpaIdentityStore.java 2008-10-23 01:25:25 UTC (rev 9383)
@@ -38,6 +38,8 @@
import org.jboss.seam.log.LogProvider;
import org.jboss.seam.log.Logging;
import org.jboss.seam.security.Identity;
+import org.jboss.seam.security.Role;
+import org.jboss.seam.security.SimplePrincipal;
import org.jboss.seam.util.AnnotatedBeanProperty;
import org.jboss.seam.util.TypedBeanProperty;
@@ -518,6 +520,18 @@
throw new NoSuchRoleException("Could not delete role, role '" + role + "' does not exist");
}
+ for (Principal principal : listMembers(role))
+ {
+ if (SimplePrincipal.class.equals(principal.getClass()))
+ {
+ revokeRole(principal.getName(), role);
+ }
+ else if (Role.class.equals(principal.getClass()))
+ {
+ removeRoleFromGroup(principal.getName(), role);
+ }
+ }
+
removeEntity(roleToDelete);
return true;
}
@@ -843,8 +857,37 @@
public List<Principal> listMembers(String role)
{
- // TODO implement
- return null;
+ List<Principal> members = new ArrayList<Principal>();
+
+ Object roleEntity = lookupRole(role);
+
+ if (xrefClass == null)
+ {
+ List<String> users = lookupEntityManager().createQuery("select u." + userPrincipalProperty.getName() +
+ " from " + userClass.getName() + " u where :role member of u." + userRolesProperty.getName())
+ .setParameter("role", roleEntity)
+ .getResultList();
+
+ for (String user : users)
+ {
+ members.add(new SimplePrincipal(user));
+ }
+
+ if (roleGroupsProperty != null)
+ {
+ List<String> roles = lookupEntityManager().createQuery("select r." + roleNameProperty.getName() +
+ " from " + roleClass.getName() + " r where :role member of r." + roleGroupsProperty.getName())
+ .setParameter("role", roleEntity)
+ .getResultList();
+
+ for (String roleName : roles)
+ {
+ members.add(new Role(roleName));
+ }
+ }
+ }
+
+ return members;
}
public List<String> listGrantableRoles()
16 years, 1 month
Seam SVN: r9382 - branches/community/Seam_2_0/src/main/org/jboss/seam.
by seam-commits@lists.jboss.org
Author: danielc.roth
Date: 2008-10-22 15:01:16 -0400 (Wed, 22 Oct 2008)
New Revision: 9382
Modified:
branches/community/Seam_2_0/src/main/org/jboss/seam/Component.java
Log:
JBSEAM-2402 backport
Modified: branches/community/Seam_2_0/src/main/org/jboss/seam/Component.java
===================================================================
--- branches/community/Seam_2_0/src/main/org/jboss/seam/Component.java 2008-10-22 18:15:29 UTC (rev 9381)
+++ branches/community/Seam_2_0/src/main/org/jboss/seam/Component.java 2008-10-22 19:01:16 UTC (rev 9382)
@@ -80,6 +80,7 @@
import org.jboss.seam.annotations.datamodel.DataModel;
import org.jboss.seam.annotations.faces.Converter;
import org.jboss.seam.annotations.faces.Validator;
+import org.jboss.seam.annotations.intercept.BypassInterceptors;
import org.jboss.seam.annotations.intercept.InterceptorType;
import org.jboss.seam.annotations.intercept.Interceptors;
import org.jboss.seam.annotations.security.Restrict;
@@ -324,6 +325,10 @@
{
if ( getBeanClass().isAnnotationPresent(Converter.class) )
{
+ if(!getBeanClass().isAnnotationPresent(BypassInterceptors.class))
+ throw new IllegalStateException("Converter " + getBeanClass().getName()
+ + " must be annotated with @BypassInterceptors");
+
Converter converter = getBeanClass().getAnnotation(Converter.class);
if ( converter.forClass()!=void.class )
{
@@ -334,6 +339,10 @@
}
if ( getBeanClass().isAnnotationPresent(Validator.class) )
{
+ if(!getBeanClass().isAnnotationPresent(BypassInterceptors.class))
+ throw new IllegalStateException("Validator " + getBeanClass().getName()
+ + " must be annotated with @BypassInterceptors");
+
Validator validator = getBeanClass().getAnnotation(Validator.class);
String id = validator.id().equals("") ? getName() : validator.id();
init.getValidators().put( id, getName() );
16 years, 1 month
Seam SVN: r9381 - trunk/src/main/org/jboss/seam.
by seam-commits@lists.jboss.org
Author: danielc.roth
Date: 2008-10-22 14:15:29 -0400 (Wed, 22 Oct 2008)
New Revision: 9381
Modified:
trunk/src/main/org/jboss/seam/Component.java
Log:
JBSEAM-2402
Modified: trunk/src/main/org/jboss/seam/Component.java
===================================================================
--- trunk/src/main/org/jboss/seam/Component.java 2008-10-22 16:06:39 UTC (rev 9380)
+++ trunk/src/main/org/jboss/seam/Component.java 2008-10-22 18:15:29 UTC (rev 9381)
@@ -80,6 +80,7 @@
import org.jboss.seam.annotations.datamodel.DataModel;
import org.jboss.seam.annotations.faces.Converter;
import org.jboss.seam.annotations.faces.Validator;
+import org.jboss.seam.annotations.intercept.BypassInterceptors;
import org.jboss.seam.annotations.intercept.InterceptorType;
import org.jboss.seam.annotations.intercept.Interceptors;
import org.jboss.seam.annotations.security.PermissionCheck;
@@ -325,6 +326,10 @@
{
if ( getBeanClass().isAnnotationPresent(Converter.class) )
{
+ if(!getBeanClass().isAnnotationPresent(BypassInterceptors.class))
+ throw new IllegalStateException("Converter " + getBeanClass().getName()
+ + " must be annotated with @BypassInterceptors");
+
Converter converter = getBeanClass().getAnnotation(Converter.class);
if ( converter.forClass()!=void.class )
{
@@ -335,6 +340,10 @@
}
if ( getBeanClass().isAnnotationPresent(Validator.class) )
{
+ if(!getBeanClass().isAnnotationPresent(BypassInterceptors.class))
+ throw new IllegalStateException("Validator " + getBeanClass().getName()
+ + " must be annotated with @BypassInterceptors");
+
Validator validator = getBeanClass().getAnnotation(Validator.class);
String id = validator.id().equals("") ? getName() : validator.id();
init.getValidators().put( id, getName() );
16 years, 1 month
Seam SVN: r9380 - trunk/doc/Seam_Reference_Guide/en-US.
by seam-commits@lists.jboss.org
Author: norman.richards(a)jboss.com
Date: 2008-10-22 12:06:39 -0400 (Wed, 22 Oct 2008)
New Revision: 9380
Modified:
trunk/doc/Seam_Reference_Guide/en-US/Itext.xml
Log:
fix p:header documentation error
Modified: trunk/doc/Seam_Reference_Guide/en-US/Itext.xml
===================================================================
--- trunk/doc/Seam_Reference_Guide/en-US/Itext.xml 2008-10-22 13:32:24 UTC (rev 9379)
+++ trunk/doc/Seam_Reference_Guide/en-US/Itext.xml 2008-10-22 16:06:39 UTC (rev 9380)
@@ -621,9 +621,7 @@
<emphasis>Description</emphasis>
</para>
<para>The <literal>p:header</literal> and <literal>p:footer</literal> components provide
- the ability to place header and footer text on each page of a generated document,
- with the exception of the first page. Header and footer declarations should appear
- near the top of a document. </para>
+ the ability to place header and footer text on each page of a generated document. Header and footer declarations should appear at the beginning of a document. </para>
<para>
16 years, 1 month
Seam SVN: r9379 - in trunk: examples/wiki/src/main/org/jboss/seam/wiki/core/upload/importers/metamodel and 7 other directories.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-10-22 09:32:24 -0400 (Wed, 22 Oct 2008)
New Revision: 9379
Added:
trunk/src/main/org/jboss/seam/deployment/AbstractClassDeploymentHandler.java
trunk/src/main/org/jboss/seam/deployment/ClassDeploymentHandler.java
trunk/src/main/org/jboss/seam/deployment/ClassDeploymentMetadata.java
trunk/src/main/org/jboss/seam/deployment/ClassDescriptor.java
trunk/src/main/org/jboss/seam/deployment/DeploymentMetadata.java
trunk/src/main/org/jboss/seam/deployment/DotComponentDotXmlDeploymentHandler.java
trunk/src/main/org/jboss/seam/deployment/FileDescriptor.java
Removed:
trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/PatternDeploymentHandler.java
Modified:
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/plugin/binding/lacewiki/PluginDeploymentHandler.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/plugin/binding/lacewiki/PluginI18NDeploymentHandler.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/importers/metamodel/ImporterRegistry.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/preferences/metamodel/PreferenceRegistry.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/AnnotationDeploymentHelper.java
trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/XmlDeploymentHandler.java
trunk/src/main/org/jboss/seam/bpm/Jbpm.java
trunk/src/main/org/jboss/seam/bpm/PageflowDeploymentHandler.java
trunk/src/main/org/jboss/seam/deployment/AbstractDeploymentHandler.java
trunk/src/main/org/jboss/seam/deployment/AbstractScanner.java
trunk/src/main/org/jboss/seam/deployment/AnnotationDeploymentHandler.java
trunk/src/main/org/jboss/seam/deployment/ComponentDeploymentHandler.java
trunk/src/main/org/jboss/seam/deployment/ComponentsXmlDeploymentHandler.java
trunk/src/main/org/jboss/seam/deployment/DeploymentHandler.java
trunk/src/main/org/jboss/seam/deployment/DeploymentStrategy.java
trunk/src/main/org/jboss/seam/deployment/DotPageDotXmlDeploymentHandler.java
trunk/src/main/org/jboss/seam/deployment/GroovyDeploymentHandler.java
trunk/src/main/org/jboss/seam/deployment/GroovyHotDeploymentStrategy.java
trunk/src/main/org/jboss/seam/deployment/HotDeploymentStrategy.java
trunk/src/main/org/jboss/seam/deployment/NamespaceDeploymentHandler.java
trunk/src/main/org/jboss/seam/deployment/StandardDeploymentStrategy.java
trunk/src/main/org/jboss/seam/deployment/URLScanner.java
trunk/src/main/org/jboss/seam/deployment/WarRootDeploymentStrategy.java
trunk/src/main/org/jboss/seam/init/Initialization.java
trunk/src/main/org/jboss/seam/navigation/Pages.java
trunk/src/resteasy/org/jboss/seam/resteasy/ResteasyBootstrap.java
Log:
JBSEAM-3276
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/plugin/binding/lacewiki/PluginDeploymentHandler.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/plugin/binding/lacewiki/PluginDeploymentHandler.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/plugin/binding/lacewiki/PluginDeploymentHandler.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -7,8 +7,8 @@
package org.jboss.seam.wiki.core.plugin.binding.lacewiki;
import org.jboss.seam.Component;
+import org.jboss.seam.deployment.DeploymentStrategy;
import org.jboss.seam.wiki.util.XmlDeploymentHandler;
-import org.jboss.seam.deployment.DeploymentStrategy;
/**
* Detects all *.plugin.xml files and offers Dom4J elements.
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/plugin/binding/lacewiki/PluginI18NDeploymentHandler.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/plugin/binding/lacewiki/PluginI18NDeploymentHandler.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/plugin/binding/lacewiki/PluginI18NDeploymentHandler.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -6,15 +6,20 @@
*/
package org.jboss.seam.wiki.core.plugin.binding.lacewiki;
-import org.jboss.seam.wiki.util.PatternDeploymentHandler;
import org.jboss.seam.wiki.core.plugin.metamodel.Plugin;
import org.jboss.seam.wiki.core.exception.InvalidWikiConfigurationException;
-import org.jboss.seam.core.ResourceLoader;
+import org.jboss.seam.deployment.AbstractDeploymentHandler;
+import org.jboss.seam.deployment.DeploymentMetadata;
import org.jboss.seam.deployment.DeploymentStrategy;
+import org.jboss.seam.deployment.FileDescriptor;
import org.jboss.seam.Component;
import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
/**
* Finds (during startup scanning) all plugin messages files, using the pattern
@@ -27,29 +32,52 @@
*
* @author Christian Bauer
*/
-public class PluginI18NDeploymentHandler extends PatternDeploymentHandler {
+public class PluginI18NDeploymentHandler extends AbstractDeploymentHandler {
public static final String NAME = "pluginI18NDeploymentHandler";
public static final String MESSAGES_PATTERN =
"^([a-zA-Z0-9/]+)"+Plugin.PACKAGE_I18N_MESSAGES+"_("+Plugin.KEY_PATTERN+")_([a-zA-Z_]+)\\.properties$";
- public String getPattern() {
- return MESSAGES_PATTERN;
+ private static DeploymentMetadata deploymentMetadata = new DeploymentMetadata()
+ {
+
+ public String getFileNameSuffix()
+ {
+ return ".properties";
+ }
+
+ };
+
+ private Pattern compiledPattern;
+
+ public PluginI18NDeploymentHandler()
+ {
+ compiledPattern = Pattern.compile(MESSAGES_PATTERN);
}
+
+ @Override
+ public void postProcess(ClassLoader classLoader) {
+ for (FileDescriptor fileDescriptor : getResources())
+ {
+ Matcher matcher = compiledPattern.matcher(fileDescriptor.getName());
+ if (matcher.matches()) {
+ String[] groups = new String[matcher.groupCount()];
+ for (int i = 0; i < groups.length; i++) {
+ groups[i] = matcher.group(i+1);
+ }
+ if (groups == null || groups.length != 3) {
+ throw new InvalidWikiConfigurationException("Deployment of i18n properties failed");
+ }
+ String packageName = groups[0];
+ String pluginKey = groups[1];
+ String locale = groups[2]; // Don't really need it here
- public void handleMatch(String s, ClassLoader classLoader, String... matchedGroups) {
- if (matchedGroups == null || matchedGroups.length != 3) {
- throw new InvalidWikiConfigurationException("Deployment of i18n properties failed");
+ if (packageName.endsWith(Plugin.PACKAGE_I18N+"/")) {
+ String bundleName = packageName.replaceAll("/", ".") + "messages_" + pluginKey;
+ getMessageBundleNames().add(bundleName);
+ }
+ }
}
-
- String packageName = matchedGroups[0];
- String pluginKey = matchedGroups[1];
- String locale = matchedGroups[2]; // Don't really need it here
-
- if (packageName.endsWith(Plugin.PACKAGE_I18N+"/")) {
- String bundleName = packageName.replaceAll("/", ".") + "messages_" + pluginKey;
- getMessageBundleNames().add(bundleName);
- }
}
public String getName() {
@@ -66,5 +94,10 @@
DeploymentStrategy deployment = (DeploymentStrategy) Component.getInstance("deploymentStrategy");
return (PluginI18NDeploymentHandler) deployment.getDeploymentHandlers().get(NAME);
}
+
+ public DeploymentMetadata getMetadata()
+ {
+ return deploymentMetadata;
+ }
}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/importers/metamodel/ImporterRegistry.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/importers/metamodel/ImporterRegistry.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/core/upload/importers/metamodel/ImporterRegistry.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -29,7 +29,7 @@
log.debug("initializing upload importer registry");
- Set<Class<Object>> importerClasses = AnnotationDeploymentHelper.getAnnotatedClasses(UploadImporter.class);
+ Set<Class<?>> importerClasses = AnnotationDeploymentHelper.getAnnotatedClasses(UploadImporter.class);
if (importerClasses == null) return;
for (Class<?> importerClass : importerClasses) {
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/preferences/metamodel/PreferenceRegistry.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/preferences/metamodel/PreferenceRegistry.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/preferences/metamodel/PreferenceRegistry.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -34,7 +34,7 @@
public void startup() {
log.debug("initializing preferences registry");
- Set<Class<Object>> preferencesClasses = AnnotationDeploymentHelper.getAnnotatedClasses(Preferences.class);
+ Set<Class<?>> preferencesClasses = AnnotationDeploymentHelper.getAnnotatedClasses(Preferences.class);
if (preferencesClasses == null)
throw new RuntimeException("No preference entities found, add @Preferences annotation to META-INF/seam-deployment.properties");
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/AnnotationDeploymentHelper.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/AnnotationDeploymentHelper.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/AnnotationDeploymentHelper.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -22,14 +22,14 @@
*/
public class AnnotationDeploymentHelper {
- public static Set<Class<Object>> getAnnotatedClasses(String annotationFQN) {
+ public static Set<Class<?>> getAnnotatedClasses(String annotationFQN) {
DeploymentStrategy deployment = (DeploymentStrategy) Component.getInstance("deploymentStrategy");
AnnotationDeploymentHandler handler =
(AnnotationDeploymentHandler)deployment.getDeploymentHandlers().get(AnnotationDeploymentHandler.NAME);
- return handler.getClasses().get(annotationFQN);
+ return handler.getClassMap().get(annotationFQN);
}
- public static Set<Class<Object>> getAnnotatedClasses(Class annotationType) {
+ public static Set<Class<?>> getAnnotatedClasses(Class annotationType) {
return getAnnotatedClasses(annotationType.getName());
}
Deleted: trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/PatternDeploymentHandler.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/PatternDeploymentHandler.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/PatternDeploymentHandler.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -1,40 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- *
- * Distributable under LGPL license.
- * See terms of license at gnu.org.
- */
-package org.jboss.seam.wiki.util;
-
-import org.jboss.seam.deployment.DeploymentHandler;
-
-import java.util.regex.Pattern;
-import java.util.regex.Matcher;
-
-/**
- * @author Christian Bauer
- */
-public abstract class PatternDeploymentHandler implements DeploymentHandler {
-
- protected Pattern compiledPattern;
-
- protected PatternDeploymentHandler() {
- compiledPattern = Pattern.compile(getPattern());
- }
-
- public void handle(String s, ClassLoader classLoader) {
- Matcher matcher = compiledPattern.matcher(s);
- if (matcher.matches()) {
- String[] groups = new String[matcher.groupCount()];
- for (int i = 0; i < groups.length; i++) {
- groups[i] = matcher.group(i+1);
- }
- handleMatch(s, classLoader, groups);
- }
- }
-
- public abstract String getPattern();
-
- public abstract void handleMatch(String s, ClassLoader classLoader, String... matchedGroups);
-
-}
Modified: trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/XmlDeploymentHandler.java
===================================================================
--- trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/XmlDeploymentHandler.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/examples/wiki/src/main/org/jboss/seam/wiki/util/XmlDeploymentHandler.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -9,10 +9,11 @@
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
-import org.jboss.seam.deployment.DeploymentHandler;
+import org.jboss.seam.deployment.AbstractDeploymentHandler;
+import org.jboss.seam.deployment.DeploymentMetadata;
+import org.jboss.seam.deployment.FileDescriptor;
import org.jboss.seam.util.DTDEntityResolver;
-import java.io.InputStream;
import java.io.FileNotFoundException;
import java.util.HashMap;
import java.util.Map;
@@ -28,16 +29,26 @@
*
* @author Christian Bauer
*/
-public abstract class XmlDeploymentHandler implements DeploymentHandler {
+public abstract class XmlDeploymentHandler extends AbstractDeploymentHandler {
- Map<String, InputStream> files = new HashMap<String, InputStream>();
Map<String, Element> elements;
-
- public void handle(String s, ClassLoader classLoader) {
- if (s.endsWith(getExtension())) {
- files.put(s, classLoader.getResourceAsStream(s));
- }
+
+ private DeploymentMetadata deploymentMetadata;
+
+ public XmlDeploymentHandler()
+ {
+ deploymentMetadata = new DeploymentMetadata() {
+
+ public String getFileNameSuffix() {
+ return ".plugin.xml";
+ }
+
+ };
}
+
+ public DeploymentMetadata getMetadata() {
+ return deploymentMetadata;
+ }
public abstract String getExtension();
@@ -49,7 +60,7 @@
// Lazy access to streams
if (elements == null) {
elements = new HashMap<String, Element>();
- for (Map.Entry<String, InputStream> fileInputStream : files.entrySet()) {
+ for (FileDescriptor fileDescriptor : getResources()) {
try {
SAXReader saxReader = new SAXReader();
saxReader.setMergeAdjacentText(true);
@@ -60,7 +71,7 @@
saxReader.setFeature("http://apache.org/xml/features/validation/schema",true);
}
- elements.put(fileInputStream.getKey(), saxReader.read(fileInputStream.getValue()).getRootElement());
+ elements.put(fileDescriptor.getName(), saxReader.read(fileDescriptor.getUrl().openStream()).getRootElement());
} catch (DocumentException dex) {
Throwable nested = dex.getNestedException();
@@ -68,7 +79,7 @@
if (nested instanceof FileNotFoundException) {
throw new RuntimeException(
"Can't find schema/DTD reference for file: "
- + fileInputStream.getKey() + "': "
+ + fileDescriptor.getName() + "': "
+ nested.getMessage(), dex
);
} else if (nested instanceof UnknownHostException) {
@@ -79,9 +90,9 @@
);
}
}
- throw new RuntimeException("Could not parse XML file: " + fileInputStream.getKey() ,dex);
+ throw new RuntimeException("Could not parse XML file: " + fileDescriptor.getName() ,dex);
} catch (Exception ex) {
- throw new RuntimeException("Could not parse XML file: " + fileInputStream.getKey() ,ex);
+ throw new RuntimeException("Could not parse XML file: " + fileDescriptor.getName() ,ex);
}
}
}
Modified: trunk/src/main/org/jboss/seam/bpm/Jbpm.java
===================================================================
--- trunk/src/main/org/jboss/seam/bpm/Jbpm.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/src/main/org/jboss/seam/bpm/Jbpm.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -31,6 +31,7 @@
import org.jboss.seam.core.Init;
import org.jboss.seam.core.ResourceLoader;
import org.jboss.seam.deployment.DeploymentStrategy;
+import org.jboss.seam.deployment.FileDescriptor;
import org.jboss.seam.deployment.StandardDeploymentStrategy;
import org.jboss.seam.log.LogProvider;
import org.jboss.seam.log.Logging;
@@ -267,7 +268,10 @@
mergedPageflowDefinitions.addAll(Arrays.asList(pageflowDefinitions));
}
- mergedPageflowDefinitions.addAll(((PageflowDeploymentHandler) ((DeploymentStrategy) Contexts.getEventContext().get(StandardDeploymentStrategy.NAME)).getDeploymentHandlers().get(PageflowDeploymentHandler.NAME)).getPageflowDefinitions());
+ for (FileDescriptor fileDescriptor : ((PageflowDeploymentHandler) ((DeploymentStrategy) Contexts.getEventContext().get(StandardDeploymentStrategy.NAME)).getDeploymentHandlers().get(PageflowDeploymentHandler.NAME)).getResources())
+ {
+ mergedPageflowDefinitions.add(fileDescriptor.getName());
+ }
for (String pageflow: mergedPageflowDefinitions)
{
Modified: trunk/src/main/org/jboss/seam/bpm/PageflowDeploymentHandler.java
===================================================================
--- trunk/src/main/org/jboss/seam/bpm/PageflowDeploymentHandler.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/src/main/org/jboss/seam/bpm/PageflowDeploymentHandler.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -1,13 +1,15 @@
package org.jboss.seam.bpm;
+import java.io.IOException;
import java.io.InputStream;
-import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.jboss.seam.deployment.AbstractDeploymentHandler;
+import org.jboss.seam.deployment.DeploymentMetadata;
+import org.jboss.seam.deployment.FileDescriptor;
import org.jboss.seam.log.LogProvider;
import org.jboss.seam.log.Logging;
import org.jboss.seam.util.Resources;
@@ -16,45 +18,64 @@
public class PageflowDeploymentHandler extends AbstractDeploymentHandler
{
+
+ private static DeploymentMetadata NAMESPACE_METADATA = new DeploymentMetadata()
+ {
+ public String getFileNameSuffix()
+ {
+ return ".jpdl.xml";
+ }
+
+ };
+
private static LogProvider log = Logging.getLogProvider(PageflowDeploymentHandler.class);
public static final String NAME = "org.jboss.seam.bpm.PageflowDeploymentHandler";
-
- private Set<String> pageflowDefinitions;
- public PageflowDeploymentHandler()
- {
- pageflowDefinitions = new HashSet<String>();
- }
-
public String getName()
{
return NAME;
}
- public void handle(String name, ClassLoader classLoader)
+ @Override
+ public void postProcess(ClassLoader classLoader)
{
- if (name.endsWith(".jpdl.xml")) {
- InputStream inputStream = Resources.getResourceAsStream(name, null);
- try {
- Element root = XML.getRootElementSafely(inputStream);
- if ("pageflow-definition".equals(root.getName()))
+ Set<FileDescriptor> files = new HashSet<FileDescriptor>();
+ for (FileDescriptor fileDescriptor : getResources())
+ {
+ try
+ {
+ InputStream inputStream = fileDescriptor.getUrl().openStream();
+ try
{
- pageflowDefinitions.add(name);
+
+ Element root = XML.getRootElementSafely(inputStream);
+ if ("pageflow-definition".equals(root.getName()))
+ {
+ files.add(fileDescriptor);
+ }
}
- } catch (DocumentException e) {
- log.debug("Unable to parse " + name, e);
- } finally {
- Resources.closeStream(inputStream);
+ catch (DocumentException e)
+ {
+ log.debug("Unable to parse " + fileDescriptor.getName(), e);
+ }
+ finally
+ {
+ Resources.closeStream(inputStream);
+ }
+ } catch (IOException e)
+ {
+ log.trace("Error loading " + fileDescriptor.getName());
}
}
+ setResources(files);
}
- public Set<String> getPageflowDefinitions()
+ public DeploymentMetadata getMetadata()
{
- return Collections.unmodifiableSet(pageflowDefinitions);
+ return NAMESPACE_METADATA;
}
}
Added: trunk/src/main/org/jboss/seam/deployment/AbstractClassDeploymentHandler.java
===================================================================
--- trunk/src/main/org/jboss/seam/deployment/AbstractClassDeploymentHandler.java (rev 0)
+++ trunk/src/main/org/jboss/seam/deployment/AbstractClassDeploymentHandler.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -0,0 +1,27 @@
+package org.jboss.seam.deployment;
+
+import java.util.HashSet;
+import java.util.Set;
+
+public abstract class AbstractClassDeploymentHandler extends AbstractDeploymentHandler
+ implements ClassDeploymentHandler
+{
+
+ private Set<ClassDescriptor> classes;
+
+ public AbstractClassDeploymentHandler()
+ {
+ classes = new HashSet<ClassDescriptor>();
+ }
+
+ public Set<ClassDescriptor> getClasses()
+ {
+ return classes;
+ }
+
+ public void setClasses(Set<ClassDescriptor> classes)
+ {
+ this.classes = classes;
+ }
+
+}
Property changes on: trunk/src/main/org/jboss/seam/deployment/AbstractClassDeploymentHandler.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/org/jboss/seam/deployment/AbstractDeploymentHandler.java
===================================================================
--- trunk/src/main/org/jboss/seam/deployment/AbstractDeploymentHandler.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/src/main/org/jboss/seam/deployment/AbstractDeploymentHandler.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -1,14 +1,8 @@
package org.jboss.seam.deployment;
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.annotation.Annotation;
+import java.util.HashSet;
+import java.util.Set;
-import javassist.bytecode.AnnotationsAttribute;
-import javassist.bytecode.ClassFile;
-import javassist.bytecode.annotation.MemberValue;
-
/**
* Abstract base class for {@link DeploymentHandler} providing common functionality
*
@@ -17,86 +11,30 @@
*/
public abstract class AbstractDeploymentHandler implements DeploymentHandler
{
- /**
- * Convert a path to a class file to a class name
- */
- protected static String filenameToClassname(String filename)
- {
- return filename.substring( 0, filename.lastIndexOf(".class") )
- .replace('/', '.').replace('\\', '.');
- }
- /**
- * Get a Javassist {@link ClassFile} for a given class name from the classLoader
- */
- protected ClassFile getClassFile(String name, ClassLoader classLoader) throws IOException
+ private Set<FileDescriptor> resources;
+
+ public AbstractDeploymentHandler()
{
- if (name == null)
- {
- throw new NullPointerException("name cannot be null");
- }
- InputStream stream = classLoader.getResourceAsStream(name);
- if (stream == null)
- {
- throw new IllegalStateException("Cannot load " + name + " from " + classLoader + " (using getResourceAsStream() returned null)");
- }
- DataInputStream dstream = new DataInputStream(stream);
+ resources = new HashSet<FileDescriptor>();
+ }
- try
- {
- return new ClassFile(dstream);
- }
- finally
- {
- dstream.close();
- stream.close();
- }
+ @Override
+ public String toString()
+ {
+ return getName();
}
- /**
- * Check if the Javassist {@link ClassFile} has the specfied annotation
- */
- protected boolean hasAnnotation(ClassFile classFile, Class<? extends Annotation> annotationType)
- {
- AnnotationsAttribute visible = (AnnotationsAttribute) classFile.getAttribute( AnnotationsAttribute.visibleTag );
- if ( visible != null )
- {
- return visible.getAnnotation( annotationType.getName() ) != null;
- }
- return false;
+ public void setResources(Set<FileDescriptor> resources)
+ {
+ this.resources = resources;
}
- /**
- * Get the value of the annotation on the Javassist {@link ClassFile}, or null
- * if the class doesn't have that annotation
- */
- protected String getAnnotationValue(ClassFile classFile, Class<? extends Annotation> annotationType, String memberName)
- {
- AnnotationsAttribute visible = (AnnotationsAttribute) classFile.getAttribute( AnnotationsAttribute.visibleTag );
- if ( visible != null )
- {
- javassist.bytecode.annotation.Annotation annotation = visible.getAnnotation( annotationType.getName() );
- if (annotation==null)
- {
- return null;
- }
- else
- {
- MemberValue memberValue = annotation.getMemberValue(memberName);
- return memberValue==null ? null : memberValue.toString(); //TODO: toString() here is probably Bad ;-)
- }
- }
- else
- {
- return null;
- }
+ public Set<FileDescriptor> getResources()
+ {
+ return resources;
}
-
- @Override
- public String toString()
- {
- return getName();
- }
-
+ public void postProcess(ClassLoader classLoader) {}
+
}
Modified: trunk/src/main/org/jboss/seam/deployment/AbstractScanner.java
===================================================================
--- trunk/src/main/org/jboss/seam/deployment/AbstractScanner.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/src/main/org/jboss/seam/deployment/AbstractScanner.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -1,5 +1,13 @@
package org.jboss.seam.deployment;
+import java.io.DataInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.annotation.Annotation;
+import java.util.Set;
+import java.util.Map.Entry;
+
+import javassist.bytecode.AnnotationsAttribute;
import javassist.bytecode.ClassFile;
import org.jboss.seam.log.LogProvider;
@@ -14,6 +22,95 @@
public abstract class AbstractScanner implements Scanner
{
+ private static class Handler
+ {
+
+ // Cache descriptors for performance
+ private ClassFile classFile;
+ private ClassDescriptor classDescriptor;
+ private FileDescriptor fileDescriptor;
+
+ private Set<Entry<String, DeploymentHandler>> deploymentHandlers;
+ private ClassLoader classLoader;
+ private String name;
+
+ public Handler(String name, Set<Entry<String, DeploymentHandler>> deploymentHandlers, ClassLoader classLoader)
+ {
+ this.deploymentHandlers = deploymentHandlers;
+ this.name = name;
+ this.classLoader = classLoader;
+ }
+
+ protected void handle(DeploymentHandler deploymentHandler)
+ {
+ if (deploymentHandler instanceof ClassDeploymentHandler)
+ {
+ if (name.endsWith(".class"))
+ {
+ ClassDeploymentHandler classDeploymentHandler = (ClassDeploymentHandler) deploymentHandler;
+ if (hasAnnotations(getClassFile(), classDeploymentHandler.getMetadata().getClassAnnotatedWith()))
+ {
+ log.trace("adding class to deployable list " + name + " for deployment handler " + deploymentHandler.getName());
+ if (getClassDescriptor().getClazz() != null)
+ {
+ classDeploymentHandler.getClasses().add(getClassDescriptor());
+ }
+ }
+ }
+ }
+ else
+ {
+ if (name.endsWith(deploymentHandler.getMetadata().getFileNameSuffix()))
+ {
+ deploymentHandler.getResources().add(getFileDescriptor());
+ }
+ }
+ }
+
+ protected void handle()
+ {
+ log.trace("found " + name);
+ for (Entry<String, DeploymentHandler> entry: deploymentHandlers)
+ {
+ handle(entry.getValue());
+ }
+ }
+
+ private ClassFile getClassFile()
+ {
+ if (classFile == null)
+ {
+ try
+ {
+ classFile = loadClassFile(name, classLoader);
+ }
+ catch (IOException e)
+ {
+ throw new RuntimeException("Error loading class file " + name, e);
+ }
+ }
+ return classFile;
+ }
+
+ private ClassDescriptor getClassDescriptor()
+ {
+ if (classDescriptor == null)
+ {
+ classDescriptor = new ClassDescriptor(name, classLoader);
+ }
+ return classDescriptor;
+ }
+
+ private FileDescriptor getFileDescriptor()
+ {
+ if (fileDescriptor == null)
+ {
+ fileDescriptor = new FileDescriptor(name, classLoader);
+ }
+ return fileDescriptor;
+ }
+ }
+
private static final LogProvider log = Logging.getLogProvider(Scanner.class);
private DeploymentStrategy deploymentStrategy;
@@ -24,12 +121,52 @@
ClassFile.class.getPackage(); //to force loading of javassist, throwing an exception if it is missing
}
- protected final void handleItem(String name)
+ protected static boolean hasAnnotations(ClassFile classFile, Set<Class<? extends Annotation>> annotationTypes)
{
- log.trace("found " + name);
- getDeploymentStrategy().handle(name);
+ if (annotationTypes.size() > 0)
+ {
+ AnnotationsAttribute visible = (AnnotationsAttribute) classFile.getAttribute( AnnotationsAttribute.visibleTag );
+ if ( visible != null )
+ {
+ for (Class<? extends Annotation> annotationType : annotationTypes)
+ {
+ if (visible.getAnnotation(annotationType.getName()) != null)
+ {
+ return true;
+ }
+ }
+ }
+ }
+ return false;
}
+ /**
+ * Get a Javassist {@link ClassFile} for a given class name from the classLoader
+ */
+ protected static ClassFile loadClassFile(String name, ClassLoader classLoader) throws IOException
+ {
+ if (name == null)
+ {
+ throw new NullPointerException("name cannot be null");
+ }
+ InputStream stream = classLoader.getResourceAsStream(name);
+ if (stream == null)
+ {
+ throw new IllegalStateException("Cannot load " + name + " from " + classLoader + " (using getResourceAsStream() returned null)");
+ }
+ DataInputStream dstream = new DataInputStream(stream);
+
+ try
+ {
+ return new ClassFile(dstream);
+ }
+ finally
+ {
+ dstream.close();
+ stream.close();
+ }
+ }
+
public DeploymentStrategy getDeploymentStrategy()
{
return deploymentStrategy;
@@ -39,5 +176,10 @@
{
return Long.MAX_VALUE;
}
+
+ protected void handleItem(String name)
+ {
+ new Handler(name, deploymentStrategy.getDeploymentHandlers().entrySet(), deploymentStrategy.getClassLoader()).handle();
+ }
}
Modified: trunk/src/main/org/jboss/seam/deployment/AnnotationDeploymentHandler.java
===================================================================
--- trunk/src/main/org/jboss/seam/deployment/AnnotationDeploymentHandler.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/src/main/org/jboss/seam/deployment/AnnotationDeploymentHandler.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -1,6 +1,5 @@
package org.jboss.seam.deployment;
-import java.io.IOException;
import java.lang.annotation.Annotation;
import java.util.Collections;
import java.util.HashMap;
@@ -9,13 +8,34 @@
import java.util.Map;
import java.util.Set;
-import javassist.bytecode.ClassFile;
import org.jboss.seam.log.LogProvider;
import org.jboss.seam.log.Logging;
-public class AnnotationDeploymentHandler extends AbstractDeploymentHandler
+public class AnnotationDeploymentHandler extends AbstractClassDeploymentHandler
{
+ private class AnnotationDeploymentHandlerMetadata implements ClassDeploymentMetadata
+ {
+
+ private Set<Class<? extends Annotation>> annotations;
+
+ public AnnotationDeploymentHandlerMetadata(Set<Class<? extends Annotation>> annotations)
+ {
+ this.annotations = annotations;
+ }
+
+ public Set<Class<? extends Annotation>> getClassAnnotatedWith()
+ {
+ return annotations;
+ }
+
+ public String getFileNameSuffix()
+ {
+ return null;
+ }
+
+ }
+
/**
* Name under which this {@link DeploymentHandler} is registered
*/
@@ -23,14 +43,16 @@
public static final String ANNOTATIONS_KEY = "org.jboss.seam.deployment.annotationTypes";
- private Map<String, Set<Class<Object>>> classes;
+ private static final LogProvider log = Logging.getLogProvider(AnnotationDeploymentHandler.class);
+
+ private ClassDeploymentMetadata metadata;
+
+ private Map<String, Set<Class<?>>> classes;
private Set<Class<? extends Annotation>> annotations;
- private static final LogProvider log = Logging.getLogProvider(AnnotationDeploymentHandler.class);
-
public AnnotationDeploymentHandler(List<String> annotationTypes, ClassLoader classLoader)
{
- annotations = new HashSet<Class<? extends Annotation>>();
+ this.annotations = new HashSet<Class<? extends Annotation>>();
for (String classname: annotationTypes)
{
try
@@ -50,18 +72,13 @@
log.warn("could not load annotation class (not an annotation): " + classname, cce);
}
}
-
- classes = new HashMap<String, Set<Class<Object>>>();
- for (Class annotation: annotations)
- {
- classes.put(annotation.getName(), new HashSet<Class<Object>>());
- }
+ metadata = new AnnotationDeploymentHandlerMetadata(annotations);
}
/**
* Get annotated classes
*/
- public Map<String, Set<Class<Object>>> getClasses()
+ public Map<String, Set<Class<?>>> getClassMap()
{
return Collections.unmodifiableMap(classes);
}
@@ -72,45 +89,29 @@
return NAME;
}
- public void handle(String name, ClassLoader classLoader)
+ public ClassDeploymentMetadata getMetadata()
{
- if (name.endsWith(".class"))
+ return metadata;
+ }
+
+ @Override
+ public void postProcess(ClassLoader classLoader)
+ {
+ classes = new HashMap<String, Set<Class<?>>>();
+ for (Class<? extends Annotation> annotationType: annotations)
{
- String classname = filenameToClassname(name);
- try
+ classes.put(annotationType.getName(), new HashSet<Class<?>>());
+ }
+ for (ClassDescriptor classDescriptor : getClasses())
+ {
+ for (Annotation annotation: classDescriptor.getClazz().getAnnotations())
{
- ClassFile classFile = getClassFile(name, classLoader);
- Class clazz = null;
- for (Class<? extends Annotation> annotationType: annotations)
+ if (classes.containsKey(annotation.annotationType().getName()))
{
- if (hasAnnotation(classFile, annotationType))
- {
- log.trace("found class annotated with " + annotationType + ": " + name);
- if (clazz == null)
- {
- try
- {
- clazz = classLoader.loadClass(classname);
- }
- catch (ClassNotFoundException cnfe)
- {
- log.debug("could not load class: " + classname, cnfe);
- }
- catch (NoClassDefFoundError ncdfe)
- {
- log.debug("could not load class (missing dependency): " + classname, ncdfe);
- }
- }
- classes.get(annotationType.getName()).add( clazz );
- }
+ classes.get(annotation.annotationType().getName()).add(classDescriptor.getClazz());
}
}
- catch (IOException ioe)
- {
- log.debug("could not load classfile: " + classname, ioe);
- }
}
-
}
}
Added: trunk/src/main/org/jboss/seam/deployment/ClassDeploymentHandler.java
===================================================================
--- trunk/src/main/org/jboss/seam/deployment/ClassDeploymentHandler.java (rev 0)
+++ trunk/src/main/org/jboss/seam/deployment/ClassDeploymentHandler.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -0,0 +1,13 @@
+package org.jboss.seam.deployment;
+
+import java.util.Set;
+
+public interface ClassDeploymentHandler extends DeploymentHandler {
+
+ public ClassDeploymentMetadata getMetadata();
+
+ public Set<ClassDescriptor> getClasses();
+
+ public void setClasses(Set<ClassDescriptor> classes);
+
+}
Property changes on: trunk/src/main/org/jboss/seam/deployment/ClassDeploymentHandler.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/org/jboss/seam/deployment/ClassDeploymentMetadata.java
===================================================================
--- trunk/src/main/org/jboss/seam/deployment/ClassDeploymentMetadata.java (rev 0)
+++ trunk/src/main/org/jboss/seam/deployment/ClassDeploymentMetadata.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -0,0 +1,17 @@
+package org.jboss.seam.deployment;
+
+import java.lang.annotation.Annotation;
+import java.util.Set;
+
+public interface ClassDeploymentMetadata extends DeploymentMetadata
+{
+
+ /**
+ * An array of class annotations this deployment handler is interested in
+ *
+ * All classes with any of these annotations should be considered part of the
+ * match
+ */
+ public Set<Class<? extends Annotation>> getClassAnnotatedWith();
+
+}
Property changes on: trunk/src/main/org/jboss/seam/deployment/ClassDeploymentMetadata.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/src/main/org/jboss/seam/deployment/ClassDescriptor.java
===================================================================
--- trunk/src/main/org/jboss/seam/deployment/ClassDescriptor.java (rev 0)
+++ trunk/src/main/org/jboss/seam/deployment/ClassDescriptor.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -0,0 +1,80 @@
+package org.jboss.seam.deployment;
+
+import java.net.URL;
+
+import org.jboss.seam.log.LogProvider;
+import org.jboss.seam.log.Logging;
+
+public class ClassDescriptor extends FileDescriptor
+{
+
+ private static LogProvider log = Logging.getLogProvider(ClassDescriptor.class);
+
+ private Class<?> clazz;
+
+ public ClassDescriptor(String name, URL url, Class<?> clazz)
+ {
+ super(name, url);
+ this.clazz = clazz;
+ }
+
+ public ClassDescriptor(String name, ClassLoader classLoader)
+ {
+ super(name, classLoader);
+ String classname = filenameToClassname(name);
+ log.trace("Trying to load class " + classname);
+ try
+ {
+ clazz = classLoader.loadClass(classname);
+ }
+ catch (ClassNotFoundException cnfe)
+ {
+ log.info("could not load class: " + classname, cnfe);
+ }
+ catch (NoClassDefFoundError ncdfe)
+ {
+ log.debug("could not load class (missing dependency): " + classname, ncdfe);
+ }
+ }
+
+ public Class<?> getClazz()
+ {
+ return clazz;
+ }
+
+ @Override
+ public String toString()
+ {
+ return clazz.getName();
+ }
+
+ /**
+ * Convert a path to a class file to a class name
+ */
+ protected static String filenameToClassname(String filename)
+ {
+ return filename.substring( 0, filename.lastIndexOf(".class") )
+ .replace('/', '.').replace('\\', '.');
+ }
+
+ @Override
+ public boolean equals(Object other)
+ {
+ if (other instanceof ClassDescriptor)
+ {
+ ClassDescriptor that = (ClassDescriptor) other;
+ return this.getClazz().equals(that.getClazz());
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return getClazz().hashCode();
+ }
+
+}
Property changes on: trunk/src/main/org/jboss/seam/deployment/ClassDescriptor.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/org/jboss/seam/deployment/ComponentDeploymentHandler.java
===================================================================
--- trunk/src/main/org/jboss/seam/deployment/ComponentDeploymentHandler.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/src/main/org/jboss/seam/deployment/ComponentDeploymentHandler.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -1,16 +1,12 @@
package org.jboss.seam.deployment;
-import java.io.IOException;
-import java.util.Collections;
+import java.lang.annotation.Annotation;
+import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
-import javassist.bytecode.ClassFile;
-
import org.jboss.seam.annotations.Install;
import org.jboss.seam.annotations.Name;
-import org.jboss.seam.log.LogProvider;
-import org.jboss.seam.log.Logging;
/**
* The {@link ComponentDeploymentHandler} process Seam's component annotated
@@ -19,73 +15,60 @@
* @author Pete Muir
*
*/
-public class ComponentDeploymentHandler extends AbstractDeploymentHandler
+public class ComponentDeploymentHandler extends AbstractClassDeploymentHandler
{
+
+ private static Set<Class<? extends Annotation>> ANNOTATION_TYPES = new HashSet<Class<? extends Annotation>>(Arrays.asList(Name.class));
+
+ public static ClassDeploymentMetadata NAME_ANNOTATED_CLASS_METADATA = new ClassDeploymentMetadata()
+ {
+
+ public Set<Class<? extends Annotation>> getClassAnnotatedWith()
+ {
+ return ANNOTATION_TYPES;
+ }
+
+ public String getFileNameSuffix()
+ {
+ return null;
+ }
+
+ };
+
/**
* Name under which this {@link DeploymentHandler} is registered
*/
public static final String NAME = "org.jboss.seam.deployment.ComponentDeploymentHandler";
- private static final LogProvider log = Logging.getLogProvider(ComponentDeploymentHandler.class);
-
- protected Set<Class<Object>> classes;
-
- public ComponentDeploymentHandler()
+ public String getName()
{
- classes = new HashSet<Class<Object>>();
+ return NAME;
}
- /**
- * Get annotated Seam components
- */
- public Set<Class<Object>> getClasses()
+ public ClassDeploymentMetadata getMetadata()
{
- return Collections.unmodifiableSet(classes);
+ return NAME_ANNOTATED_CLASS_METADATA;
}
-
- /**
- * @see DeploymentHandler#handle(String, ClassLoader)
- */
- public void handle(String name, ClassLoader classLoader)
+
+ @Override
+ public void postProcess(ClassLoader classLoader)
{
- if (name.endsWith(".class"))
+ Set<ClassDescriptor> classes = new HashSet<ClassDescriptor>();
+ for (ClassDescriptor classDescriptor : getClasses())
{
- String classname = filenameToClassname(name);
- String filename = componentFilename(name);
- try
+ if (classDescriptor.getClazz().isAnnotationPresent(Install.class))
{
- ClassFile classFile = getClassFile(name, classLoader);
- boolean installable = ( hasAnnotation(classFile, Name.class) || classLoader.getResources(filename).hasMoreElements() )
- && !"false".equals( getAnnotationValue(classFile, Install.class, "value") );
- if (installable)
+ if (classDescriptor.getClazz().getAnnotation(Install.class).value())
{
- log.trace("found component class: " + name);
- classes.add( (Class<Object>) classLoader.loadClass(classname) );
+ classes.add(classDescriptor);
}
}
- catch (ClassNotFoundException cnfe)
+ else
{
- log.debug("could not load class: " + classname, cnfe);
+ classes.add(classDescriptor);
}
- catch (NoClassDefFoundError ncdfe)
- {
- log.debug("could not load class (missing dependency): " + classname, ncdfe);
- }
- catch (IOException ioe)
- {
- log.debug("could not load classfile: " + classname, ioe);
- }
- }
+ }
+ setClasses(classes);
}
-
- private static String componentFilename(String name)
- {
- return name.substring( 0, name.lastIndexOf(".class") ) + ".component.xml";
- }
- public String getName()
- {
- return NAME;
- }
-
}
Modified: trunk/src/main/org/jboss/seam/deployment/ComponentsXmlDeploymentHandler.java
===================================================================
--- trunk/src/main/org/jboss/seam/deployment/ComponentsXmlDeploymentHandler.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/src/main/org/jboss/seam/deployment/ComponentsXmlDeploymentHandler.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -1,8 +1,8 @@
package org.jboss.seam.deployment;
-import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
+import java.util.regex.Pattern;
/**
* The {@link ComponentsXmlDeploymentHandler} components.xml and .component.xml files
@@ -12,45 +12,48 @@
*/
public class ComponentsXmlDeploymentHandler extends AbstractDeploymentHandler
{
+
+ private Pattern INF_PATTERN = Pattern.compile("(WEB-INF/components.xml$)|(META-INF/components.xml$)");
+
+ private static DeploymentMetadata COMPONENTSXML_SUFFIX_FILE_METADATA = new DeploymentMetadata()
+ {
+
+ public String getFileNameSuffix()
+ {
+ return "components.xml";
+ }
+
+ };
+
/**
* Name under which this {@link DeploymentHandler} is registered
*/
public static final String NAME = "org.jboss.seam.deployment.ComponentsXmlDeploymentHandler";
-
- private Set<String> resources;
- public ComponentsXmlDeploymentHandler()
+ public String getName()
{
- resources = new HashSet<String>();
+ return NAME;
}
- /**
- * Get paths to components.xml files
- */
- public Set<String> getResources()
+ public DeploymentMetadata getMetadata()
{
- return Collections.unmodifiableSet(resources);
+ return COMPONENTSXML_SUFFIX_FILE_METADATA;
}
-
- /**
- * @see DeploymentHandler#handle(String, ClassLoader)
- */
- public void handle(String name, ClassLoader classLoader)
+
+ @Override
+ public void postProcess(ClassLoader classLoader)
{
- if (name.endsWith(".component.xml") || name.endsWith("/components.xml"))
+ Set<FileDescriptor> resources = new HashSet<FileDescriptor>();
+ for (FileDescriptor fileDescriptor : getResources())
{
- // we want to skip over known meta-directories since Seam will auto-load these without a scan
- if (!name.startsWith("WEB-INF/") && !name.startsWith("META-INF/"))
- {
- resources.add(name);
- }
+ // we want to skip over known meta-directories since Seam will auto-load these without a scan
+ String path = fileDescriptor.getName();
+ if (!INF_PATTERN.matcher(path).matches())
+ {
+ resources.add(fileDescriptor);
+ }
}
-
+ setResources(resources);
}
- public String getName()
- {
- return NAME;
- }
-
}
Modified: trunk/src/main/org/jboss/seam/deployment/DeploymentHandler.java
===================================================================
--- trunk/src/main/org/jboss/seam/deployment/DeploymentHandler.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/src/main/org/jboss/seam/deployment/DeploymentHandler.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -1,5 +1,7 @@
package org.jboss.seam.deployment;
+import java.util.Set;
+
/**
* A deployment handler is responsible for processing found resources
*
@@ -11,16 +13,24 @@
*/
public interface DeploymentHandler
{
- /**
- * Handle a resource
- * @param name The path to the resource
- * @param classLoader The ClassLoader on which the resource was found
- */
- public void handle(String name, ClassLoader classLoader);
/**
* A key used to identify the deployment handler
*/
public String getName();
+ /**
+ * Get DeploymentHandlerMetadata for resources this deployment handler is
+ * interested in processing.
+ *
+ * If a deployment handler is interested in a number of files it should
+ * define multiple pieces of metadata
+ */
+ public DeploymentMetadata getMetadata();
+
+ public void postProcess(ClassLoader classLoader);
+
+ public Set<FileDescriptor> getResources();
+
+ public void setResources(Set<FileDescriptor> resources);
}
Added: trunk/src/main/org/jboss/seam/deployment/DeploymentMetadata.java
===================================================================
--- trunk/src/main/org/jboss/seam/deployment/DeploymentMetadata.java (rev 0)
+++ trunk/src/main/org/jboss/seam/deployment/DeploymentMetadata.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -0,0 +1,18 @@
+package org.jboss.seam.deployment;
+
+/**
+ * Metadata about resources the deployment handler is interested in
+ *
+ * @author pmuir
+ *
+ */
+public interface DeploymentMetadata
+{
+
+ /**
+ * A file name suffixes that this deployment handler is interested in
+ */
+ public String getFileNameSuffix();
+
+}
+
Property changes on: trunk/src/main/org/jboss/seam/deployment/DeploymentMetadata.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/org/jboss/seam/deployment/DeploymentStrategy.java
===================================================================
--- trunk/src/main/org/jboss/seam/deployment/DeploymentStrategy.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/src/main/org/jboss/seam/deployment/DeploymentStrategy.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -7,6 +7,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Map.Entry;
import org.jboss.seam.log.LogProvider;
import org.jboss.seam.log.Logging;
@@ -39,10 +40,6 @@
*/
public static final String SCANNERS_KEY = "org.jboss.seam.deployment.scanners";
-
-
-
-
/**
* Do the scan for resources
*
@@ -92,19 +89,6 @@
}
protected abstract String getDeploymentHandlersKey();
-
- /**
- * Handle a resource using any registered {@link DeploymentHandler}s
- *
- * @param name Path to a resource to handle
- */
- public void handle(String name)
- {
- for (String key: getDeploymentHandlers().keySet())
- {
- getDeploymentHandlers().get(key).handle(name, getClassLoader());
- }
- }
private void initScanner()
{
@@ -229,4 +213,12 @@
return getScanner().getTimestamp();
}
+ protected void postScan()
+ {
+ for (Entry<String, DeploymentHandler> entry : getDeploymentHandlers().entrySet())
+ {
+ entry.getValue().postProcess(getClassLoader());
+ }
+ }
+
}
Added: trunk/src/main/org/jboss/seam/deployment/DotComponentDotXmlDeploymentHandler.java
===================================================================
--- trunk/src/main/org/jboss/seam/deployment/DotComponentDotXmlDeploymentHandler.java (rev 0)
+++ trunk/src/main/org/jboss/seam/deployment/DotComponentDotXmlDeploymentHandler.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -0,0 +1,37 @@
+package org.jboss.seam.deployment;
+
+/**
+ * The {@link DotComponentDotXmlDeploymentHandler} .component.xml files
+ *
+ * @author Pete Muir
+ *
+ */
+public class DotComponentDotXmlDeploymentHandler extends AbstractDeploymentHandler
+{
+
+ private static DeploymentMetadata DOTCOMPONENTDOTXML_SUFFIX_FILE_METADATA = new DeploymentMetadata()
+ {
+
+ public String getFileNameSuffix()
+ {
+ return ".component.xml";
+ }
+
+ };
+
+ /**
+ * Name under which this {@link DeploymentHandler} is registered
+ */
+ public static final String NAME = "org.jboss.seam.deployment.DotComponentDotXmlDeploymentHandler";
+
+ public String getName()
+ {
+ return NAME;
+ }
+
+ public DeploymentMetadata getMetadata()
+ {
+ return DOTCOMPONENTDOTXML_SUFFIX_FILE_METADATA;
+ }
+
+}
Property changes on: trunk/src/main/org/jboss/seam/deployment/DotComponentDotXmlDeploymentHandler.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/org/jboss/seam/deployment/DotPageDotXmlDeploymentHandler.java
===================================================================
--- trunk/src/main/org/jboss/seam/deployment/DotPageDotXmlDeploymentHandler.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/src/main/org/jboss/seam/deployment/DotPageDotXmlDeploymentHandler.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -1,9 +1,5 @@
package org.jboss.seam.deployment;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
import org.jboss.seam.contexts.Contexts;
/**
@@ -14,37 +10,22 @@
*/
public class DotPageDotXmlDeploymentHandler extends AbstractDeploymentHandler
{
- /**
- * Name under which this {@link DeploymentHandler} is registered
- */
- public static final String NAME = "org.jboss.seam.deployment.DotPageDotXmlDeploymentHandler";
-
- private Set<String> files;
- public DotPageDotXmlDeploymentHandler()
+ private static DeploymentMetadata DOTPAGEDOTXML_SUFFIX_FILE_METADATA = new DeploymentMetadata()
{
- files = new HashSet<String>();
- }
- /**
- * Get annotated Seam components
- */
- public Set<String> getFiles()
- {
- return Collections.unmodifiableSet(files);
- }
-
- /**
- * @see DeploymentHandler#handle(String, ClassLoader)
- */
- public void handle(String name, ClassLoader classLoader)
- {
- if (name.endsWith(".page.xml"))
+ public String getFileNameSuffix()
{
- files.add(name);
+ return ".page.xml";
}
- }
+
+ };
+ /**
+ * Name under which this {@link DeploymentHandler} is registered
+ */
+ public static final String NAME = "org.jboss.seam.deployment.DotPageDotXmlDeploymentHandler";
+
public String getName()
{
return NAME;
@@ -70,5 +51,10 @@
throw new IllegalStateException("Event context not active");
}
}
+
+ public DeploymentMetadata getMetadata()
+ {
+ return DOTPAGEDOTXML_SUFFIX_FILE_METADATA;
+ }
}
Added: trunk/src/main/org/jboss/seam/deployment/FileDescriptor.java
===================================================================
--- trunk/src/main/org/jboss/seam/deployment/FileDescriptor.java (rev 0)
+++ trunk/src/main/org/jboss/seam/deployment/FileDescriptor.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -0,0 +1,59 @@
+package org.jboss.seam.deployment;
+
+import java.net.URL;
+
+public class FileDescriptor
+{
+
+ private String name;
+ private URL url;
+
+ public FileDescriptor(String name, URL url)
+ {
+ this.name = name;
+ this.url = url;
+ }
+
+ public FileDescriptor(String name, ClassLoader classLoader)
+ {
+ this.name = name;
+ this.url = classLoader.getResource(name);
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public URL getUrl()
+ {
+ return url;
+ }
+
+ @Override
+ public String toString()
+ {
+ return url.getPath();
+ }
+
+ @Override
+ public boolean equals(Object other)
+ {
+ if (other instanceof FileDescriptor)
+ {
+ FileDescriptor that = (FileDescriptor) other;
+ return this.getUrl().equals(that.getUrl());
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return getUrl().hashCode();
+ }
+
+}
Property changes on: trunk/src/main/org/jboss/seam/deployment/FileDescriptor.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/org/jboss/seam/deployment/GroovyDeploymentHandler.java
===================================================================
--- trunk/src/main/org/jboss/seam/deployment/GroovyDeploymentHandler.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/src/main/org/jboss/seam/deployment/GroovyDeploymentHandler.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -6,7 +6,6 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
-import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
@@ -25,13 +24,32 @@
public class GroovyDeploymentHandler extends AbstractDeploymentHandler
{
+ private class GroovyDeploymentHandlerMetadata implements DeploymentMetadata
+ {
+
+ private String groovyExtension;
+
+ public GroovyDeploymentHandlerMetadata(String groovyExtension)
+ {
+ this.groovyExtension = groovyExtension;
+ }
+
+ public String getFileNameSuffix()
+ {
+ return groovyExtension;
+ }
+
+ }
+
+ private DeploymentMetadata metadata;
+
private static final LogProvider log = Logging.getLogProvider(GroovyDeploymentHandler.class);
public static final String NAME = "org.jboss.seam.deployment.GroovyDeploymentHandler";
private final String groovyFileExtension;
- private Set<Class<Object>> classes;
+ private Set<ClassDescriptor> classes;
/**
*
@@ -40,28 +58,30 @@
public GroovyDeploymentHandler(String groovyFileExtension)
{
this.groovyFileExtension = groovyFileExtension;
- this.classes = new HashSet<Class<Object>>();
+ this.classes = new HashSet<ClassDescriptor>();
+ this.metadata = new GroovyDeploymentHandlerMetadata(groovyFileExtension);
}
/**
* Get all the Groovy Seam Components this handler has handled
*/
- public Set<Class<Object>> getClasses()
+ public Set<ClassDescriptor> getClasses()
{
- return Collections.unmodifiableSet(classes);
+ return classes;
}
-
- public void handle(String name, ClassLoader classLoader)
+
+ @Override
+ public void postProcess(ClassLoader classLoader)
{
- if (name.endsWith(groovyFileExtension))
+ for (FileDescriptor fileDescriptor : getResources())
{
- log.debug("Found a groovy file: " + name);
- String classname = filenameToGroovyname(name);
- String filename = groovyComponentFilename(name);
+ log.debug("Found a groovy file: " + fileDescriptor.getName());
+ String classname = filenameToGroovyname(fileDescriptor.getName());
+ String filename = groovyComponentFilename(fileDescriptor.getName());
BufferedReader buffReader = null;
try
{
- InputStream stream = classLoader.getResourceAsStream(name);
+ InputStream stream = classLoader.getResourceAsStream(fileDescriptor.getName());
//TODO is BufferedInputStream necessary?
buffReader = new BufferedReader(new InputStreamReader(stream));
String line = buffReader.readLine();
@@ -70,7 +90,7 @@
if (line.indexOf("@Name") != -1 || line.indexOf("@" + Name.class.getName()) != -1)
{
//possibly a Seam component
- log.debug("Groovy file possibly a Seam component: " + name);
+ log.debug("Groovy file possibly a Seam component: " + fileDescriptor.getName());
Class<Object> groovyClass = (Class<Object>) classLoader.loadClass(classname);
Install install = groovyClass.getAnnotation(Install.class);
boolean installable = ( install == null || install.value() )
@@ -78,8 +98,8 @@
|| classLoader.getResources(filename).hasMoreElements() );
if (installable)
{
- log.debug("found groovy component class: " + name);
- classes.add(groovyClass);
+ log.debug("found groovy component class: " + fileDescriptor.getName());
+ classes.add(new ClassDescriptor(fileDescriptor.getName(), fileDescriptor.getUrl(), groovyClass));
}
break;
}
@@ -120,9 +140,10 @@
}
}
}
-
}
+
+
private String filenameToGroovyname(String filename)
{
return filename.substring(0, filename.lastIndexOf(groovyFileExtension))
@@ -139,4 +160,9 @@
return NAME;
}
+ public DeploymentMetadata getMetadata()
+ {
+ return metadata;
+ }
+
}
Modified: trunk/src/main/org/jboss/seam/deployment/GroovyHotDeploymentStrategy.java
===================================================================
--- trunk/src/main/org/jboss/seam/deployment/GroovyHotDeploymentStrategy.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/src/main/org/jboss/seam/deployment/GroovyHotDeploymentStrategy.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -68,9 +68,9 @@
}
@Override
- public Set<Class<Object>> getScannedComponentClasses()
+ public Set<ClassDescriptor> getScannedComponentClasses()
{
- Set<Class<Object>> set = new HashSet<Class<Object>>();
+ Set<ClassDescriptor> set = new HashSet<ClassDescriptor>();
set.addAll(super.getScannedComponentClasses());
set.addAll(groovyDeploymentHandler.getClasses());
return Collections.unmodifiableSet(set);
Modified: trunk/src/main/org/jboss/seam/deployment/HotDeploymentStrategy.java
===================================================================
--- trunk/src/main/org/jboss/seam/deployment/HotDeploymentStrategy.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/src/main/org/jboss/seam/deployment/HotDeploymentStrategy.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -5,6 +5,7 @@
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
+import java.util.Collections;
import java.util.Map;
import java.util.Set;
@@ -154,21 +155,21 @@
/**
* Get all Components which the strategy has scanned and handled
*/
- public Set<Class<Object>> getScannedComponentClasses()
+ public Set<ClassDescriptor> getScannedComponentClasses()
{
- return componentDeploymentHandler.getClasses();
+ return Collections.unmodifiableSet(componentDeploymentHandler.getClasses());
}
- public Map<String, Set<Class<Object>>> getAnnotatedClasses()
+ public Map<String, Set<Class<?>>> getAnnotatedClasses()
{
- return annotationDeploymentHandler.getClasses();
+ return Collections.unmodifiableMap(annotationDeploymentHandler.getClassMap());
}
@Override
public void scan()
{
getScanner().scanDirectories(getFiles().toArray(new File[0]));
-
+ postScan();
}
public static HotDeploymentStrategy instance()
Modified: trunk/src/main/org/jboss/seam/deployment/NamespaceDeploymentHandler.java
===================================================================
--- trunk/src/main/org/jboss/seam/deployment/NamespaceDeploymentHandler.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/src/main/org/jboss/seam/deployment/NamespaceDeploymentHandler.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -17,6 +17,16 @@
public class NamespaceDeploymentHandler extends AbstractDeploymentHandler
{
+ private static DeploymentMetadata NAMESPACE_METADATA = new DeploymentMetadata()
+ {
+
+ public String getFileNameSuffix()
+ {
+ return "/package-info.class";
+ }
+
+ };
+
public static final String NAME = "org.jboss.seam.deployment.NamespaceDeploymentHandler";
private static final LogProvider log = Logging.getLogProvider(NamespaceDeploymentHandler.class);
@@ -36,30 +46,33 @@
return Collections.unmodifiableSet(packages);
}
- public void handle(String name, ClassLoader classLoader)
+ @Override
+ public void postProcess(ClassLoader classLoader)
{
- if ( name.endsWith("/package-info.class") )
- {
- String packageName = filenameToPackageName(name);
- Package pkg = getPackage(packageName, classLoader);
- if (pkg == null)
- {
- log.warn("Cannot load package Dinfo for " + packageName);
- }
- else
- {
- if (pkg.getAnnotation(Namespace.class) != null)
- {
- packages.add(pkg);
- }
- }
- }
+ for (FileDescriptor fileDescriptor : getResources())
+ {
+ String packageName = filenameToPackageName(fileDescriptor.getName());
+ Package pkg = getPackage(packageName, classLoader);
+ if (pkg == null)
+ {
+ log.warn("Cannot load package Dinfo for " + packageName);
+ }
+ else
+ {
+ if (pkg.getAnnotation(Namespace.class) != null)
+ {
+ packages.add(pkg);
+ }
+ }
+ }
+
+
}
private static String filenameToPackageName(String filename)
{
- return filename.substring(0, filename.lastIndexOf("/package-info.class"))
- .replace('/', '.').replace('\\', '.');
+ return filename.substring(0, filename.lastIndexOf("/package-info.class"))
+ .replace('/', '.').replace('\\', '.');
}
private static Package getPackage(String name, ClassLoader classLoader)
@@ -79,5 +92,10 @@
{
return NAME;
}
+
+ public DeploymentMetadata getMetadata()
+ {
+ return NAMESPACE_METADATA;
+ }
}
Modified: trunk/src/main/org/jboss/seam/deployment/StandardDeploymentStrategy.java
===================================================================
--- trunk/src/main/org/jboss/seam/deployment/StandardDeploymentStrategy.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/src/main/org/jboss/seam/deployment/StandardDeploymentStrategy.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -1,6 +1,8 @@
package org.jboss.seam.deployment;
import java.io.File;
+import java.util.Collections;
+import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@@ -41,6 +43,7 @@
private ComponentsXmlDeploymentHandler componentsXmlDeploymentHandler;
private NamespaceDeploymentHandler namespaceDeploymentHandler;
private AnnotationDeploymentHandler annotationDeploymentHandler;
+ private DotComponentDotXmlDeploymentHandler dotComponentDotXmlDeploymentHandler;
/**
* @param classLoader The classloader used to load and handle resources
@@ -52,6 +55,8 @@
getDeploymentHandlers().put(ComponentDeploymentHandler.NAME, componentDeploymentHandler);
componentsXmlDeploymentHandler = new ComponentsXmlDeploymentHandler();
getDeploymentHandlers().put(ComponentsXmlDeploymentHandler.NAME, componentsXmlDeploymentHandler);
+ dotComponentDotXmlDeploymentHandler = new DotComponentDotXmlDeploymentHandler();
+ getDeploymentHandlers().put(DotComponentDotXmlDeploymentHandler.NAME, dotComponentDotXmlDeploymentHandler);
namespaceDeploymentHandler = new NamespaceDeploymentHandler();
getDeploymentHandlers().put(NamespaceDeploymentHandler.NAME, namespaceDeploymentHandler);
annotationDeploymentHandler = new AnnotationDeploymentHandler(new SeamDeploymentProperties(classLoader).getPropertyValues(AnnotationDeploymentHandler.ANNOTATIONS_KEY), classLoader);
@@ -71,19 +76,22 @@
}
/**
- * Get all scanned and handled annotated components known to this strategy
+ * Get all annotated components known to this strategy
*/
- public Set<Class<Object>> getScannedComponentClasses()
+ public Set<ClassDescriptor> getAnnotatedComponents()
{
- return componentDeploymentHandler.getClasses();
+ return Collections.unmodifiableSet(componentDeploymentHandler.getClasses());
}
/**
- * Get all scanned and handled components.xml files
+ * Get all XML defined (throught components.xml and component.xml) components
*/
- public Set<String> getScannedComponentResources()
+ public Set<FileDescriptor> getXmlComponents()
{
- return componentsXmlDeploymentHandler.getResources();
+ Set<FileDescriptor> fileDescriptors = new HashSet<FileDescriptor>();
+ fileDescriptors.addAll(componentsXmlDeploymentHandler.getResources());
+ fileDescriptors.addAll(dotComponentDotXmlDeploymentHandler.getResources());
+ return Collections.unmodifiableSet(fileDescriptors);
}
/**
@@ -91,12 +99,12 @@
*/
public Set<Package> getScannedNamespaces()
{
- return namespaceDeploymentHandler.getPackages();
+ return Collections.unmodifiableSet(namespaceDeploymentHandler.getPackages());
}
- public Map<String, Set<Class<Object>>> getAnnotatedClasses()
+ public Map<String, Set<Class<?>>> getAnnotatedClasses()
{
- return annotationDeploymentHandler.getClasses();
+ return Collections.unmodifiableMap(annotationDeploymentHandler.getClassMap());
}
@Override
@@ -104,6 +112,7 @@
{
getScanner().scanResources(RESOURCE_NAMES);
getScanner().scanDirectories(getFiles().toArray(new File[0]));
+ postScan();
}
public static StandardDeploymentStrategy instance()
Modified: trunk/src/main/org/jboss/seam/deployment/URLScanner.java
===================================================================
--- trunk/src/main/org/jboss/seam/deployment/URLScanner.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/src/main/org/jboss/seam/deployment/URLScanner.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -90,7 +90,7 @@
{
try
{
- log.debug("scanning: " + urlPath);
+ log.trace("scanning: " + urlPath);
File file = new File(urlPath);
if ( file.isDirectory() )
{
@@ -112,7 +112,7 @@
{
try
{
- log.debug("archive: " + file);
+ log.trace("archive: " + file);
touchTimestamp(file);
ZipFile zip = new ZipFile(file);
Enumeration<? extends ZipEntry> entries = zip.entries();
@@ -131,7 +131,7 @@
private void handleDirectory(File file, String path)
{
- log.debug("directory: " + file);
+ log.trace("directory: " + file);
for ( File child: file.listFiles() )
{
String newPath = path==null ? child.getName() : path + '/' + child.getName();
Modified: trunk/src/main/org/jboss/seam/deployment/WarRootDeploymentStrategy.java
===================================================================
--- trunk/src/main/org/jboss/seam/deployment/WarRootDeploymentStrategy.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/src/main/org/jboss/seam/deployment/WarRootDeploymentStrategy.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -56,25 +56,17 @@
{
return HANDLERS_KEY;
}
-
- @Override
- public void handle(String name)
- {
- if (!(name.startsWith("WEB-INF") || name.startsWith("/WEB-INF")))
- {
- super.handle(name);
- }
- }
@Override
public void scan()
{
getScanner().scanDirectories(warRoot);
+ postScan();
}
- public Set<String> getDotPageDotXmlFileNames()
+ public Set<FileDescriptor> getDotPageDotXmlFileNames()
{
- return dotPageDotXmlDeploymentHandler.getFiles();
+ return dotPageDotXmlDeploymentHandler.getResources();
}
}
Modified: trunk/src/main/org/jboss/seam/init/Initialization.java
===================================================================
--- trunk/src/main/org/jboss/seam/init/Initialization.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/src/main/org/jboss/seam/init/Initialization.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -47,6 +47,8 @@
import org.jboss.seam.contexts.ServletLifecycle;
import org.jboss.seam.core.Expressions;
import org.jboss.seam.core.Init;
+import org.jboss.seam.deployment.ClassDescriptor;
+import org.jboss.seam.deployment.FileDescriptor;
import org.jboss.seam.deployment.HotDeploymentStrategy;
import org.jboss.seam.deployment.SeamDeploymentProperties;
import org.jboss.seam.deployment.StandardDeploymentStrategy;
@@ -792,8 +794,9 @@
private void installHotDeployableComponents()
{
- for (Class<Object> scannedClass: hotDeploymentStrategy.getScannedComponentClasses() )
+ for (ClassDescriptor classDescriptor: hotDeploymentStrategy.getScannedComponentClasses() )
{
+ Class<?> scannedClass = classDescriptor.getClazz();
installScannedComponentAndRoles(scannedClass);
}
}
@@ -869,15 +872,15 @@
private void scanForComponents()
{
- for ( Class<Object> scannedClass: standardDeploymentStrategy.getScannedComponentClasses() )
+ for ( ClassDescriptor classDescriptor : standardDeploymentStrategy.getAnnotatedComponents() )
{
- installScannedComponentAndRoles(scannedClass);
+ Class<?> scannedClass = classDescriptor.getClazz();
+ installScannedComponentAndRoles(scannedClass);
}
-
- for ( String name: standardDeploymentStrategy.getScannedComponentResources() )
+ for ( FileDescriptor fileDescriptor : standardDeploymentStrategy.getXmlComponents() )
{
- installComponentsFromDescriptor( name, standardDeploymentStrategy.getClassLoader() );
+ installComponentsFromDescriptor( fileDescriptor, standardDeploymentStrategy.getClassLoader() );
}
}
@@ -890,10 +893,18 @@
return descriptor.substring(0,pos).replace('/', '.').replace('\\', '.');
}
- private void installComponentsFromDescriptor(String fileName, ClassLoader loader)
+ private void installComponentsFromDescriptor(FileDescriptor fileDescriptor, ClassLoader loader)
{
//note: this is correct, we do not need to scan other classloaders!
- InputStream stream = loader.getResourceAsStream(fileName);
+ InputStream stream = null;
+ try
+ {
+ stream = fileDescriptor.getUrl().openStream();
+ }
+ catch (IOException e)
+ {
+ // No-op
+ }
if (stream != null)
{
try
@@ -908,18 +919,18 @@
{
installComponentFromXmlElement(root,
root.attributeValue("name"),
- classFilenameFromDescriptor(fileName),
+ classFilenameFromDescriptor(fileDescriptor.getName()),
replacements);
}
} catch (Exception e) {
- throw new RuntimeException("error while reading " + fileName, e);
+ throw new RuntimeException("error while reading " + fileDescriptor.getName(), e);
} finally {
Resources.closeStream(stream);
}
}
}
- private void installScannedComponentAndRoles(Class<Object> scannedClass)
+ private void installScannedComponentAndRoles(Class<?> scannedClass)
{
try {
if ( scannedClass.isAnnotationPresent(Name.class) )
@@ -943,7 +954,7 @@
}
}
- private void installRole(Class<Object> scannedClass, Role role)
+ private void installRole(Class<?> scannedClass, Role role)
{
ScopeType scope = Seam.getComponentRoleScope(scannedClass, role);
addComponentDescriptor( new ComponentDescriptor( role.name(), scannedClass, scope ) );
Modified: trunk/src/main/org/jboss/seam/navigation/Pages.java
===================================================================
--- trunk/src/main/org/jboss/seam/navigation/Pages.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/src/main/org/jboss/seam/navigation/Pages.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -2,6 +2,7 @@
import static org.jboss.seam.annotations.Install.BUILT_IN;
+import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
@@ -10,7 +11,6 @@
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.ResourceBundle;
@@ -49,6 +49,7 @@
import org.jboss.seam.core.Expressions.MethodExpression;
import org.jboss.seam.core.Expressions.ValueExpression;
import org.jboss.seam.deployment.DotPageDotXmlDeploymentHandler;
+import org.jboss.seam.deployment.FileDescriptor;
import org.jboss.seam.faces.FacesMessages;
import org.jboss.seam.faces.Validation;
import org.jboss.seam.international.StatusMessage;
@@ -106,7 +107,7 @@
{
if (DotPageDotXmlDeploymentHandler.instance() != null)
{
- initialize(DotPageDotXmlDeploymentHandler.instance().getFiles());
+ initialize(DotPageDotXmlDeploymentHandler.instance().getResources());
}
else
{
@@ -121,7 +122,7 @@
initialize(null);
}
- public void initialize(Set<String> fileNames)
+ public void initialize(Set<FileDescriptor> fileNames)
{
pagesByViewId = Collections.synchronizedMap(new HashMap<String, Page>());
pageStacksByViewId = Collections.synchronizedMap(new HashMap<String, List<Page>>());
@@ -149,27 +150,23 @@
}
}
- private void parsePages(Set<String> ...fileNames)
+ private void parsePages(Set<FileDescriptor> files)
{
- Set<String> mergedFileNames = new HashSet<String>();
- for (Set<String> f : fileNames)
+ for (FileDescriptor file : files)
{
- mergedFileNames.addAll(f);
- }
- for (String fileName: mergedFileNames)
- {
- if (!fileName.startsWith("/"))
+ String fileName = file.getName();
+ String viewId = "/" + fileName.substring(0,fileName.length()-".page.xml".length()) + ".xhtml"; // needs more here
+
+ InputStream stream = null;
+ try
{
- fileName = "/" + fileName;
+ stream = file.getUrl().openStream();
}
- String viewId = fileName.substring(0,fileName.length()-".page.xml".length()) + ".xhtml"; // needs more here
-
- InputStream stream = ResourceLoader.instance().getResourceAsStream(fileName);
- if (stream==null)
+ catch (IOException exception)
{
- log.info("no pages.xml file found: " + fileName);
+ // No-op
}
- else
+ if (stream != null)
{
log.debug("reading pages.xml file: " + fileName);
try {
Modified: trunk/src/resteasy/org/jboss/seam/resteasy/ResteasyBootstrap.java
===================================================================
--- trunk/src/resteasy/org/jboss/seam/resteasy/ResteasyBootstrap.java 2008-10-22 13:26:57 UTC (rev 9378)
+++ trunk/src/resteasy/org/jboss/seam/resteasy/ResteasyBootstrap.java 2008-10-22 13:32:24 UTC (rev 9379)
@@ -38,8 +38,8 @@
{
log.info("deploying Resteasy providers and resources");
- Collection<Class<java.lang.Object>> annotatedProviderClasses = null;
- Collection<Class<java.lang.Object>> annotatedResourceClasses = null;
+ Collection<Class<?>> annotatedProviderClasses = null;
+ Collection<Class<?>> annotatedResourceClasses = null;
if (applicationConfig.isScanProviders() || applicationConfig.isScanResources())
{
log.debug("scanning all classes for JAX-RS annotations");
@@ -48,8 +48,8 @@
AnnotationDeploymentHandler handler =
(AnnotationDeploymentHandler) deployment.getDeploymentHandlers().get(AnnotationDeploymentHandler.NAME);
- annotatedProviderClasses = handler.getClasses().get(javax.ws.rs.ext.Provider.class.getName());
- annotatedResourceClasses = handler.getClasses().get(javax.ws.rs.Path.class.getName());
+ annotatedProviderClasses = handler.getClassMap().get(javax.ws.rs.ext.Provider.class.getName());
+ annotatedResourceClasses = handler.getClassMap().get(javax.ws.rs.Path.class.getName());
}
log.debug("finding all Seam component classes");
16 years, 1 month
Seam SVN: r9378 - trunk/examples.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-10-22 09:26:57 -0400 (Wed, 22 Oct 2008)
New Revision: 9378
Modified:
trunk/examples/build.xml
Log:
Include /com/acme/componsnts.xml in deploy
Modified: trunk/examples/build.xml
===================================================================
--- trunk/examples/build.xml 2008-10-22 02:43:45 UTC (rev 9377)
+++ trunk/examples/build.xml 2008-10-22 13:26:57 UTC (rev 9378)
@@ -566,6 +566,7 @@
<copy todir="${jar.dir}">
<fileset dir="${src.java.dir}">
<include name="**/*.component.xml" />
+ <include name="**/components.xml" />
</fileset>
</copy>
</target>
16 years, 1 month
Seam SVN: r9377 - trunk/src/main/org/jboss/seam/security/management.
by seam-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2008-10-21 22:43:45 -0400 (Tue, 21 Oct 2008)
New Revision: 9377
Modified:
trunk/src/main/org/jboss/seam/security/management/IdentityManager.java
trunk/src/main/org/jboss/seam/security/management/JpaIdentityStore.java
trunk/src/main/org/jboss/seam/security/management/LdapIdentityStore.java
Log:
add interface method
Modified: trunk/src/main/org/jboss/seam/security/management/IdentityManager.java
===================================================================
--- trunk/src/main/org/jboss/seam/security/management/IdentityManager.java 2008-10-22 02:32:14 UTC (rev 9376)
+++ trunk/src/main/org/jboss/seam/security/management/IdentityManager.java 2008-10-22 02:43:45 UTC (rev 9377)
@@ -9,7 +9,6 @@
import java.util.Comparator;
import java.util.List;
-import org.apache.wicket.util.string.Strings;
import org.jboss.seam.Component;
import org.jboss.seam.annotations.Create;
import org.jboss.seam.annotations.Install;
@@ -20,6 +19,7 @@
import org.jboss.seam.log.LogProvider;
import org.jboss.seam.log.Logging;
import org.jboss.seam.security.Identity;
+import org.jboss.seam.util.Strings;
/**
* Identity Management API, deals with user name/password-based identity management.
Modified: trunk/src/main/org/jboss/seam/security/management/JpaIdentityStore.java
===================================================================
--- trunk/src/main/org/jboss/seam/security/management/JpaIdentityStore.java 2008-10-22 02:32:14 UTC (rev 9376)
+++ trunk/src/main/org/jboss/seam/security/management/JpaIdentityStore.java 2008-10-22 02:43:45 UTC (rev 9377)
@@ -6,6 +6,7 @@
import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
+import java.security.Principal;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
@@ -840,6 +841,12 @@
"select r." + roleNameProperty.getName() + " from " + roleClass.getName() + " r").getResultList();
}
+ public List<Principal> listMembers(String role)
+ {
+ // TODO implement
+ return null;
+ }
+
public List<String> listGrantableRoles()
{
StringBuilder roleQuery = new StringBuilder();
Modified: trunk/src/main/org/jboss/seam/security/management/LdapIdentityStore.java
===================================================================
--- trunk/src/main/org/jboss/seam/security/management/LdapIdentityStore.java 2008-10-22 02:32:14 UTC (rev 9376)
+++ trunk/src/main/org/jboss/seam/security/management/LdapIdentityStore.java 2008-10-22 02:43:45 UTC (rev 9377)
@@ -4,6 +4,7 @@
import static org.jboss.seam.annotations.Install.BUILT_IN;
import java.io.Serializable;
+import java.security.Principal;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@@ -1206,6 +1207,12 @@
// TODO Auto-generated method stub
return null;
}
+
+ public List<Principal> listMembers(String role)
+ {
+ // TODO implement
+ return null;
+ }
public boolean addRoleToGroup(String role, String group)
{
16 years, 1 month