Seam SVN: r10292 - in trunk: src/main/org/jboss/seam/contexts and 1 other directories.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-04-04 07:22:56 -0400 (Sat, 04 Apr 2009)
New Revision: 10292
Modified:
trunk/.settings/org.eclipse.jdt.core.prefs
trunk/.settings/org.eclipse.jdt.ui.prefs
trunk/src/main/org/jboss/seam/contexts/FacesLifecycle.java
trunk/src/main/org/jboss/seam/navigation/Pages.java
Log:
JBSEAM-4077
Modified: trunk/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- trunk/.settings/org.eclipse.jdt.core.prefs 2009-04-03 16:43:01 UTC (rev 10291)
+++ trunk/.settings/org.eclipse.jdt.core.prefs 2009-04-04 11:22:56 UTC (rev 10292)
@@ -1,4 +1,4 @@
-#Thu Oct 09 17:55:37 CDT 2008
+#Sat Oct 25 15:55:36 BST 2008
eclipse.preferences.version=1
org.eclipse.jdt.core.codeComplete.argumentPrefixes=
org.eclipse.jdt.core.codeComplete.argumentSuffixes=
@@ -81,26 +81,26 @@
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.source=1.5
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=0
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=0
org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=0
org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=0
org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
org.eclipse.jdt.core.formatter.blank_lines_after_package=1
org.eclipse.jdt.core.formatter.blank_lines_before_field=0
@@ -112,17 +112,17 @@
org.eclipse.jdt.core.formatter.blank_lines_before_package=0
org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
@@ -147,20 +147,20 @@
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_empty_lines=true
org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.indentation.size=3
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
@@ -333,6 +333,6 @@
org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.tabulation.size=3
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
Modified: trunk/.settings/org.eclipse.jdt.ui.prefs
===================================================================
--- trunk/.settings/org.eclipse.jdt.ui.prefs 2009-04-03 16:43:01 UTC (rev 10291)
+++ trunk/.settings/org.eclipse.jdt.ui.prefs 2009-04-04 11:22:56 UTC (rev 10292)
@@ -1,6 +1,6 @@
-#Thu Oct 09 17:55:38 CDT 2008
+#Mon Oct 20 17:21:22 BST 2008
eclipse.preferences.version=1
-formatter_profile=_my prefs
+formatter_profile=_Web Beans
formatter_settings_version=11
internal.default.compliance=default
org.eclipse.jdt.ui.exception.name=e
Modified: trunk/src/main/org/jboss/seam/contexts/FacesLifecycle.java
===================================================================
--- trunk/src/main/org/jboss/seam/contexts/FacesLifecycle.java 2009-04-03 16:43:01 UTC (rev 10291)
+++ trunk/src/main/org/jboss/seam/contexts/FacesLifecycle.java 2009-04-04 11:22:56 UTC (rev 10292)
@@ -54,7 +54,7 @@
Contexts.applicationContext.set( new ApplicationContext( externalContext.getApplicationMap() ) );
Contexts.sessionContext.set( new SessionContext( externalContext.getSessionMap() ) );
Session session = Session.getInstance();
- if ( session!=null && session.isInvalidDueToNewScheme( Pages.getRequestScheme( FacesContext.getCurrentInstance() ) ) )
+ if ( session!=null && session.isInvalidDueToNewScheme( Pages.instance().getRequestScheme( FacesContext.getCurrentInstance() ) ) )
{
invalidateSession(externalContext);
}
Modified: trunk/src/main/org/jboss/seam/navigation/Pages.java
===================================================================
--- trunk/src/main/org/jboss/seam/navigation/Pages.java 2009-04-03 16:43:01 UTC (rev 10291)
+++ trunk/src/main/org/jboss/seam/navigation/Pages.java 2009-04-04 11:22:56 UTC (rev 10292)
@@ -358,7 +358,7 @@
* Look for a DataModel row selection in the request parameters,
* and apply it to the DataModel.
*/
- private void selectDataModelRow(FacesContext facesContext)
+ protected void selectDataModelRow(FacesContext facesContext)
{
String dataModelSelection = facesContext.getExternalContext()
.getRequestParameterMap().get("dataModelSelection");
@@ -473,7 +473,7 @@
!Identity.instance().isLoggedIn();
}
- public static String getRequestScheme(FacesContext facesContext)
+ public String getRequestScheme(FacesContext facesContext)
{
String requestUrl = getRequestUrl(facesContext);
if (requestUrl==null)
15 years, 7 months
Seam SVN: r10290 - trunk/ui/src/main/java/org/jboss/seam/ui/facelet.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-04-03 12:19:25 -0400 (Fri, 03 Apr 2009)
New Revision: 10290
Modified:
trunk/ui/src/main/java/org/jboss/seam/ui/facelet/RendererRequest.java
Log:
JBSEAM-3555, thanks to Tomaz :-)
Modified: trunk/ui/src/main/java/org/jboss/seam/ui/facelet/RendererRequest.java
===================================================================
--- trunk/ui/src/main/java/org/jboss/seam/ui/facelet/RendererRequest.java 2009-04-03 11:19:30 UTC (rev 10289)
+++ trunk/ui/src/main/java/org/jboss/seam/ui/facelet/RendererRequest.java 2009-04-03 16:19:25 UTC (rev 10290)
@@ -47,6 +47,8 @@
request = new MockHttpServletRequest(HttpSessionManager.instance());
response = new MockHttpServletResponse();
+ setContextClassLoader();
+
// Generate the FacesContext from the JSF FacesContextFactory
originalFacesContext = FacesContext.getCurrentInstance();
facesContext = RendererFacesContextFactory.instance().getFacesContext(request, response);
@@ -60,25 +62,10 @@
writer = new StringWriter();
facesContext.setResponseWriter(facesContext.getRenderKit().createResponseWriter(writer,
null, null));
-
- // Set the context classloader to the cached one
- originalClassLoader = Thread.currentThread().getContextClassLoader();
- ServletContext ctx = request.getSession().getServletContext();
- WeakReference<ClassLoader> ref = (WeakReference<ClassLoader>)ctx.getAttribute("seam.context.classLoader");
- if (ref == null || ref.get() == null) {
- log.warn("Failed to bootstrap context classloader. Facelets may not work properly from MDBs");
- } else {
- Thread.currentThread().setContextClassLoader(ref.get());
- }
}
private void cleanup()
{
- if (originalClassLoader != null) {
- Thread.currentThread().setContextClassLoader(originalClassLoader);
- originalClassLoader = null;
- }
-
facesContext.release();
DelegatingFacesContext.setCurrentInstance(originalFacesContext);
@@ -88,11 +75,36 @@
response = null;
}
+ protected void setContextClassLoader() {
+ // JBSEAM-3555 Quick fix
+ // Set the context classloader to the cached one
+ originalClassLoader = Thread.currentThread().getContextClassLoader();
+ ServletContext ctx = request.getSession().getServletContext();
+ WeakReference<ClassLoader> ref = (WeakReference<ClassLoader>)ctx.getAttribute("seam.context.classLoader");
+ if (ref == null || ref.get() == null) {
+ log.warn("Failed to bootstrap context classloader. Facelets may not work properly from MDBs");
+ } else {
+ Thread.currentThread().setContextClassLoader(ref.get());
+ }
+ }
+
+ protected void resetContextClassLoader() {
+ // JBSEAM-3555 Quick fix
+ if (originalClassLoader != null) {
+ Thread.currentThread().setContextClassLoader(originalClassLoader);
+ originalClassLoader = null;
+ }
+ }
+
public void run() throws IOException
{
- init();
- renderFacelet(facesContext, faceletForViewId(viewId));
- cleanup();
+ try {
+ init();
+ renderFacelet(facesContext, faceletForViewId(viewId));
+ cleanup();
+ } finally {
+ resetContextClassLoader();
+ }
}
public String getOutput()
15 years, 7 months
Seam SVN: r10289 - in branches/enterprise/JBPAPP_4_3_FP01/seam-gen: build-scripts and 9 other directories.
by seam-commits@lists.jboss.org
Author: manaRH
Date: 2009-04-03 07:19:30 -0400 (Fri, 03 Apr 2009)
New Revision: 10289
Added:
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_it.properties
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/favicon.ico
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/stylesheet/theme.xcss
Modified:
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build-scripts/build-war.xml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build-scripts/build.xml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build.xml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/hibernatetools/seam-gen.reveng.xml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/pojo/GetPropertyAnnotation.ftl
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-dev-war.xml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-dev.xml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-prod-war.xml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-prod.xml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/components-war.xml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/components.xml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/faces-config.xml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/pages.xml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/web.xml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/datasource-ds.xml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_de.properties
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_en.properties
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_fr.properties
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_tr.properties
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/ActionTest.java
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/FormTest.java
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/readme.txt
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/action.xhtml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/conversation.xhtml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.page.xml.ftl
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.xhtml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.xhtml.ftl
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/editproperty.xhtml.ftl
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/form.xhtml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/home.xhtml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/menu.xhtml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/menu.xhtml.ftl
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/template.xhtml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/list.xhtml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/list.xhtml.ftl
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/login.xhtml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/query.xhtml
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/stylesheet/theme.css
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/view.xhtml.ftl
branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/viewproperty.xhtml.ftl
Log:
JBPAPP-1457 - merged some changes from trunk
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build-scripts/build-war.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build-scripts/build-war.xml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build-scripts/build-war.xml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -21,7 +21,7 @@
<property name="classes.action.dir" value="${war.dir}/${action.dir}" />
<property name="test.dir" value="test-build" />
<property name="bootstrap.dir" value="${basedir}/bootstrap" />
- <property name="deploy.dir" value="${jboss.home}/server/production/deploy" />
+ <property name="deploy.dir" value="${jboss.home}/server/${server-profile}/deploy" />
<property name="war.deploy.dir" value="${deploy.dir}/${project.name}.war" />
<property name="testng.jar" value="${basedir}/lib/testng.jar" />
<property name="javac.debug" value="true" />
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build-scripts/build.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build-scripts/build.xml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build-scripts/build.xml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -20,7 +20,7 @@
<property name="war.dir" value="exploded-archives/${project.name}.war" />
<property name="test.dir" value="test-build" />
<property name="bootstrap.dir" value="${basedir}/bootstrap" />
- <property name="deploy.dir" value="${jboss.home}/server/production/deploy" />
+ <property name="deploy.dir" value="${jboss.home}/server/${server-profile}/deploy" />
<property name="ear.deploy.dir" value="${deploy.dir}/${project.name}.ear" />
<property name="jar.deploy.dir" value="${ear.deploy.dir}/${project.name}.jar" />
<property name="war.deploy.dir" value="${ear.deploy.dir}/${project.name}.war" />
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build.xml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/build.xml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -3,6 +3,9 @@
<project name="seam-gen" default="help" basedir="." xmlns:artifact="urn:maven-artifact-ant">
<!-- Build resources -->
<property name="seam.dir" value="${ant.file.seam-gen}/../../" />
+ <property name="server-profile" value="production" />
+
+ <echo message="used server profile -> ${server-profile}" />
<!-- Order is important -->
<property file="./build.properties" />
@@ -422,7 +425,7 @@
</propertyfile>
<echo message="Installing JDBC driver jar to JBoss server"/>
- <copy file="${driver.jar.new}" todir="${jboss.home.new}/server/production/lib"/>
+ <copy file="${driver.jar.new}" todir="${jboss.home.new}/server/${server-profile}/lib"/>
<echo message="Type 'seam create-project' to create the new project"/>
</target>
@@ -704,6 +707,7 @@
<copy todir="${project.home}/view">
<fileset id="view" dir="${base.dir}/view">
<include name="img/*"/>
+ <include name="favicon.ico"/>
</fileset>
</copy>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/hibernatetools/seam-gen.reveng.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/hibernatetools/seam-gen.reveng.xml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/hibernatetools/seam-gen.reveng.xml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -2,7 +2,34 @@
<!DOCTYPE hibernate-reverse-engineering SYSTEM "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd" >
<hibernate-reverse-engineering>
- <!-- This file is intentionally generated empty by seam-gen -->
- <!-- You can add any filtering/setup you want for your app -->
+ <!-- Use this file to customize the generation of JPA entities from database
+ tables performed either by `seam generate' or the Generate Entities task
+ in JBoss Tools. You can find detailed instructions on controlling
+ reverse engineering in the JBoss Tools reference documentation:
+ https://www.redhat.com/docs/en-US/JBoss_Developer_Studio/en/hibernatetool...
+ -->
-</hibernate-reverse-engineering>
\ No newline at end of file
+ <!-- Uncomment the next line if you want to begin by excluding all tables,
+ then selectively including tables -->
+ <!--<table-filter match-name="*.*" exclude="true"/>-->
+
+ <!-- Uncomment one of the next two lines to include or exclude a single table -->
+ <!--<table-filter match-name="TABLE_NAME" exclude="true"/>-->
+ <!--<table-filter match-name="TABLE_NAME" exclude="false"/>-->
+
+ <!-- An example of a mapping customization -->
+ <!--
+ <table name="TABLE_PREFIX_BILL" class="org.example.model.Bill">
+ <meta attribute="class-code">
+// Code appended to the end of the generated class
+public float calculateTotal() {
+ return this.rate * this.hours;
+}
+ </meta/>
+ <column name="BILL_ID" property="id" type="java.lang.Long"/>
+ <column name="RTE" property="rate"/>
+ <column name="HRS" property="hours"/>
+ </table>
+ -->
+
+</hibernate-reverse-engineering>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/pojo/GetPropertyAnnotation.ftl
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/pojo/GetPropertyAnnotation.ftl 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/pojo/GetPropertyAnnotation.ftl 2009-04-03 11:19:30 UTC (rev 10289)
@@ -1,10 +1,13 @@
<#include "Ejb3PropertyGetAnnotation.ftl"/>
-<#if !property.optional && ( !property.equals(pojo.identifierProperty) || property.value.identifierGeneratorStrategy == "assigned" )>
+<#if !property.equals(pojo.identifierProperty) && property.type.name=='yes_no'><#-- Set column type to yes_no in seam-gen.reveng.xml to activate this annotation (or tune this condition) -->
+ @${pojo.importType("org.hibernate.annotations.Type")}(type = "yes_no")
+</#if>
+<#if !property.optional && !c2j.isPrimitive(pojo.getJavaTypeName(property, jdk5)) && (!property.equals(pojo.identifierProperty) || property.value.identifierGeneratorStrategy == "assigned")>
@${pojo.importType("org.hibernate.validator.NotNull")}
</#if>
<#if property.columnSpan==1>
<#assign column = property.getColumnIterator().next()/>
-<#if !c2h.isManyToOne(property) && !c2h.isTemporalValue(property) && column.length!=255 && property.type.name!="character">
+<#if !c2h.isManyToOne(property) && !c2h.isTemporalValue(property) && column.length!=255 && property.type.name!="character" && pojo.getJavaTypeName(property, jdk5)?lower_case!="boolean">
@${pojo.importType("org.hibernate.validator.Length")}(max=${column.length?c})
</#if>
</#if>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-dev-war.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-dev-war.xml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-dev-war.xml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -7,7 +7,7 @@
<persistence-unit name="@projectName@" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
- <jta-data-source>java:/@projectName@Datasource</jta-data-source>
+ <jta-data-source>@projectName@Datasource</jta-data-source>
<properties>
<property name="hibernate.dialect" value="@hibernate.dialect@"/>
<property name="hibernate.hbm2ddl.auto" value="@hbm2ddl@"/>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-dev.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-dev.xml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-dev.xml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -7,7 +7,7 @@
<persistence-unit name="@projectName@">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
- <jta-data-source>java:/@projectName@Datasource</jta-data-source>
+ <jta-data-source>@projectName@Datasource</jta-data-source>
<properties>
<property name="hibernate.dialect" value="@hibernate.dialect@"/>
<property name="hibernate.hbm2ddl.auto" value="@hbm2ddl@"/>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-prod-war.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-prod-war.xml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-prod-war.xml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -7,7 +7,7 @@
<persistence-unit name="@projectName@" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
- <jta-data-source>java:/@projectName@Datasource</jta-data-source>
+ <jta-data-source>@projectName@Datasource</jta-data-source>
<properties>
<property name="hibernate.dialect" value="@hibernate.dialect@"/>
<property name="hibernate.hbm2ddl.auto" value="validate"/>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-prod.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-prod.xml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/META-INF/persistence-prod.xml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -7,7 +7,7 @@
<persistence-unit name="@projectName@">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
- <jta-data-source>java:/@projectName@Datasource</jta-data-source>
+ <jta-data-source>@projectName@Datasource</jta-data-source>
<properties>
<property name="hibernate.dialect" value="@hibernate.dialect@"/>
<property name="hibernate.hbm2ddl.auto" value="validate"/>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/components-war.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/components-war.xml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/components-war.xml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -6,6 +6,7 @@
xmlns:bpm="http://jboss.com/products/seam/bpm"
xmlns:security="http://jboss.com/products/seam/security"
xmlns:mail="http://jboss.com/products/seam/mail"
+ xmlns:web="http://jboss.com/products/seam/web"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.0.xsd
@@ -14,6 +15,7 @@
http://jboss.com/products/seam/bpm http://jboss.com/products/seam/bpm-2.0.xsd
http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.0.xsd
http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-2.0.xsd
+ http://jboss.com/products/seam/web http://jboss.com/products/seam/web-2.0.xsd
http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.0.xsd">
<core:init debug="@debug@" jndi-pattern="@jndiPattern@"/>
@@ -23,6 +25,9 @@
conversation-id-parameter="cid"
parent-conversation-id-parameter="pid"/>
+ <!-- Make sure this URL pattern is the same as that used by the Faces Servlet -->
+ <web:hot-deploy-filter url-pattern="*.seam"/>
+
<persistence:managed-persistence-context name="entityManager"
auto-create="true"
entity-manager-factory="#{@projectName@EntityManagerFactory}"/>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/components.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/components.xml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/components.xml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -6,6 +6,7 @@
xmlns:bpm="http://jboss.com/products/seam/bpm"
xmlns:security="http://jboss.com/products/seam/security"
xmlns:mail="http://jboss.com/products/seam/mail"
+ xmlns:web="http://jboss.com/products/seam/web"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.0.xsd
@@ -14,6 +15,7 @@
http://jboss.com/products/seam/bpm http://jboss.com/products/seam/bpm-2.0.xsd
http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.0.xsd
http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-2.0.xsd
+ http://jboss.com/products/seam/web http://jboss.com/products/seam/web-2.0.xsd
http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.0.xsd">
<core:init debug="@debug@" jndi-pattern="@jndiPattern@"/>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/faces-config.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/faces-config.xml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/faces-config.xml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -11,6 +11,7 @@
<supported-locale>de</supported-locale>
<supported-locale>en</supported-locale>
<supported-locale>fr</supported-locale>
+ <supported-locale>it</supported-locale>
<supported-locale>tr</supported-locale>
</locale-config>
<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/pages.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/pages.xml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/pages.xml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -16,48 +16,54 @@
<exception class="org.jboss.seam.framework.EntityNotFoundException">
<redirect view-id="/error.xhtml">
- <message>Not found</message>
+ <message severity="warn">Record not found</message>
</redirect>
</exception>
<exception class="javax.persistence.EntityNotFoundException">
<redirect view-id="/error.xhtml">
- <message>Not found</message>
+ <message severity="warn">Record not found</message>
</redirect>
</exception>
+ <exception class="javax.persistence.EntityExistsException">
+ <redirect view-id="/error.xhtml">
+ <message severity="warn">Duplicate record</message>
+ </redirect>
+ </exception>
+
<exception class="javax.persistence.OptimisticLockException">
<end-conversation/>
<redirect view-id="/error.xhtml">
- <message>Another user changed the same data, please try again</message>
+ <message severity="warn">Another user changed the same data, please try again</message>
</redirect>
</exception>
<exception class="org.jboss.seam.security.AuthorizationException">
<redirect view-id="/error.xhtml">
- <message>You don't have permission to do this</message>
+ <message severity="error">You don't have permission to access this resource</message>
</redirect>
</exception>
<exception class="org.jboss.seam.security.NotLoggedInException">
<redirect view-id="/login.xhtml">
- <message>Please log in first</message>
+ <message severity="warn">#{messages['org.jboss.seam.NotLoggedIn']}</message>
</redirect>
</exception>
<exception class="javax.faces.application.ViewExpiredException">
<redirect view-id="/error.xhtml">
- <message>Your session has timed out, please try again</message>
+ <message severity="warn">Your session has timed out, please try again</message>
</redirect>
</exception>
- <exception class="org.jboss.seam.ConcurrentRequestTimeoutException">
+ <exception class="org.jboss.seam.ConcurrentRequestTimeoutException" log-level="trace">
<http-error error-code="503" />
</exception>
<exception>
<redirect view-id="/error.xhtml">
- <message>Unexpected error, please try again</message>
+ <message severity="error">Unexpected error, please try again</message>
</redirect>
</exception>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/web.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/web.xml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/WEB-INF/web.xml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -4,13 +4,37 @@
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
- <!-- Ajax4jsf -->
-
- <context-param>
- <param-name>org.richfaces.SKIN</param-name>
- <param-value>@skin@</param-value>
- </context-param>
-
+ <!-- RichFaces -->
+
+ <context-param>
+ <param-name>org.richfaces.SKIN</param-name>
+ <param-value>@skin@</param-value>
+ </context-param>
+
+ <!-- Suppress spurious stylesheets -->
+
+ <context-param>
+ <param-name>org.richfaces.CONTROL_SKINNING</param-name>
+ <param-value>disable</param-value>
+ </context-param>
+
+ <context-param>
+ <param-name>org.richfaces.CONTROL_SKINNING_CLASSES</param-name>
+ <param-value>disable</param-value>
+ </context-param>
+
+ <!-- Change load strategy to DEFAULT to disable sending scripts/styles as packs -->
+
+ <context-param>
+ <param-name>org.richfaces.LoadStyleStrategy</param-name>
+ <param-value>ALL</param-value>
+ </context-param>
+
+ <context-param>
+ <param-name>org.richfaces.LoadScriptStrategy</param-name>
+ <param-value>ALL</param-value>
+ </context-param>
+
<!-- Seam -->
<listener>
@@ -69,8 +93,6 @@
<url-pattern>*.xhtml</url-pattern>
</web-resource-collection>
<auth-constraint/>
- </security-constraint>
+ </security-constraint>
-
-
</web-app>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/datasource-ds.xml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/datasource-ds.xml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/datasource-ds.xml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -1,13 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-
<!DOCTYPE datasources
PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN"
- "http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd">
-
+ "http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd">
<datasources>
<local-tx-datasource>
<jndi-name>@projectName@Datasource</jndi-name>
+ <use-java-context>false</use-java-context>
<connection-url>@jdbcUrl@</connection-url>
<driver-class>@driverClass@</driver-class>
<user-name>@username@</user-name>
@@ -20,7 +19,6 @@
<type-mapping>mySQL</type-mapping>
</metadata>
-->
- </local-tx-datasource>
-
+ </local-tx-datasource>
</datasources>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_de.properties
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_de.properties 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_de.properties 2009-04-03 11:19:30 UTC (rev 10289)
@@ -17,7 +17,7 @@
validator.email=muss einer wohlgeformten E-Mailadresse entsprechen
org.jboss.seam.loginFailed=Anmeldung fehlgeschlagen
-org.jboss.seam.loginSuccessful=Willkommen, #0
+org.jboss.seam.loginSuccessful=Willkommen, #0!
org.jboss.seam.TransactionFailed=Transaktion fehlgeschlagen
org.jboss.seam.NoConversation=Der Vorgang wurde bereits beendet, verarbeitet eine andere Abfrage oder ergab eine Zeit\u00FCberschreitung
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_en.properties
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_en.properties 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_en.properties 2009-04-03 11:19:30 UTC (rev 10289)
@@ -17,7 +17,7 @@
validator.email=must be a well-formed email address
org.jboss.seam.loginFailed=Login failed
-org.jboss.seam.loginSuccessful=Welcome, #0
+org.jboss.seam.loginSuccessful=Welcome, #0!
org.jboss.seam.TransactionFailed=Transaction failed
org.jboss.seam.NoConversation=The conversation ended, timed out or was processing another request
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_fr.properties
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_fr.properties 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_fr.properties 2009-04-03 11:19:30 UTC (rev 10289)
@@ -25,7 +25,7 @@
org.jboss.seam.unexpected.error = Erreur inattendue. Veuillez essayez de nouveau.
org.jboss.seam.loginFailed = La connexion a �chou�.
-org.jboss.seam.loginSuccessful = Bienvenue, {0}
+org.jboss.seam.loginSuccessful = Bienvenue, {0}!
org.jboss.seam.TransactionFailed = La transaction a �chou�.
org.jboss.seam.NoConversation = La conversation s'est interrompue, a d�pass� les d�lais ou traite une autre requ�te.
Added: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_it.properties
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_it.properties (rev 0)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_it.properties 2009-04-03 11:19:30 UTC (rev 10289)
@@ -0,0 +1,90 @@
+up=\u2191
+down=\u2193
+left=\u2039
+right=\u203A
+
+validator.assertFalse=validazione fallita
+validator.assertTrue=validazione corretta
+validator.future=deve essere una data futura
+validator.length=la lunghezza deve essere tra {min} e {max}
+validator.max=deve essere minore o uguale a {value}
+validator.min=deve essere maggiore o uguale a {value}
+validator.notNull=non pu\u00F2 essere nullo
+validator.past=deve essere una data passata
+validator.pattern=deve corrispondere a "{regex}"
+validator.range=deve essere tra {min} e {max}
+validator.size=la grandezza deve essere tra {min} e {max}
+validator.email=deve essere un indirizzo di posta elettronica
+
+org.jboss.seam.loginFailed=Autenticazione fallita
+org.jboss.seam.loginSuccessful=Benvenuto/a, #0
+
+org.jboss.seam.TransactionFailed=Transazione fallita
+org.jboss.seam.NoConversation=La conversazione \u00E8 terminata, scaduta oppure \u00E8 stata processata un'altra richiesta
+org.jboss.seam.IllegalNavigation=Navigazione illegale
+org.jboss.seam.ProcessEnded=Il processo \#0 \u00E8 gi\u00E0\u00A0 terminato
+org.jboss.seam.ProcessNotFound=Il processo \#0 non \u00E8 stato trovato
+org.jboss.seam.TaskEnded=Il task \#0 \u00E8 gi\u00E0 terminato
+org.jboss.seam.TaskNotFound=Il task \#0 non \u00E8 stato trovato
+org.jboss.seam.NotLoggedIn=Per favore, eseguire la login
+
+javax.faces.component.UIInput.CONVERSION=il valore non pu\u00F2 essere convertito
+javax.faces.component.UIInput.REQUIRED=\u00C8 richiesto un valore
+javax.faces.component.UIInput.UPDATE=Si \u00E8 verificato un errore nell'elaborazione delle informazioni inviate
+javax.faces.component.UISelectOne.INVALID=il valore non \u00E8 valido
+javax.faces.component.UISelectMany.INVALID=il valore non \u00E8 valido
+
+javax.faces.converter.BigDecimalConverter.DECIMAL=il valore deve essere un numero
+javax.faces.converter.BigDecimalConverter.DECIMAL_detail=il valore deve essere un numero decimale con zero o pi\u00F9 cifre, opzionalmente seguito da un punto e una frazione, es. {1}
+javax.faces.converter.BigIntegerConverter.BIGINTEGER=deve essere un intero
+javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail=il valore deve essere un numero intero con zero o pi\u00F9 cifre
+javax.faces.converter.BooleanConverter.BOOLEAN=deve essere vero o falso
+javax.faces.converter.BooleanConverter.BOOLEAN_detail=il valore deve essere vero o falso (qualsiasi valore diverso da vero \u00E8 considerato falso)
+javax.faces.converter.ByteConverter.BYTE=il valore deve essere un numero compreso tra 0 e 255
+javax.faces.converter.ByteConverter.BYTE_detail=il valore deve essere un numero compreso tra 0 e 255
+javax.faces.converter.CharacterConverter.CHARACTER=deve essere un carattere
+javax.faces.converter.CharacterConverter.CHARACTER_detail=il valore deve essere un carattere ASCII valido
+javax.faces.converter.DateTimeConverter.DATE=deve essere una data
+javax.faces.converter.DateTimeConverter.DATE_detail=il valore deve essere una data, es. {1}
+javax.faces.converter.DateTimeConverter.TIME=deve essere un orario
+javax.faces.converter.DateTimeConverter.TIME_detail=il valore deve essere un orario, es. {1}
+javax.faces.converter.DateTimeConverter.DATETIME=deve essere una data ed un orario
+javax.faces.converter.DateTimeConverter.DATETIME_detail=il valore deve essere una data e un orario, es. {1}
+javax.faces.converter.DateTimeConverter.PATTERN_TYPE=per convetire il valore devono essere specificati un pattern o un attributo tipo
+javax.faces.converter.DoubleConverter.DOUBLE=deve essere un numero
+javax.faces.converter.DoubleConverter.DOUBLE_detail=il valore deve essere un numero compreso tra 4.9E-324 e 1.7976931348623157E308
+javax.faces.converter.EnumConverter.ENUM=il valore deve essere convertibile in una enum
+javax.faces.converter.EnumConverter.ENUM_detail=il valore deve essere convertibile in una enum o da enum che contiene la costante {1}
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS=il valore deve essere convertibile in una enum o da enum, ma non \u00E8 stata fornita nessuna classe enum
+javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail=il valore deve essere convertibile in una enum o da enum, ma non \u00E8 stata fornita nessuna classe enum
+javax.faces.converter.FloatConverter.FLOAT=deve essere un numero
+javax.faces.converter.FloatConverter.FLOAT_detail=il valore deve essere un numero compreso tra 1.4E-45 e 3.4028235E38
+javax.faces.converter.IntegerConverter.INTEGER=deve essere un numero intero
+javax.faces.converter.IntegerConverter.INTEGER_detail=il valore deve essere un numero intero compreso tra -2147483648 e 2147483647
+javax.faces.converter.LongConverter.LONG=deve essere un numero intero
+javax.faces.converter.LongConverter.LONG_detail=il valore deve essere un numero intero compreso tra -9223372036854775808 e 9223372036854775807
+javax.faces.converter.NumberConverter.CURRENCY=il valore deve essere una valuta
+javax.faces.converter.NumberConverter.CURRENCY_detail=il valore deve essere una valuta, es. {1}
+javax.faces.converter.NumberConverter.PERCENT=il valore deve essere una percentuale
+javax.faces.converter.NumberConverter.PERCENT_detail=il valore deve essere una percentuale, es. {1}
+javax.faces.converter.NumberConverter.NUMBER=deve essere un numero
+javax.faces.converter.NumberConverter.NUMBER_detail=deve essere un numero
+javax.faces.converter.NumberConverter.PATTERN=deve essere un numero
+javax.faces.converter.NumberConverter.PATTERN_detail=deve essere un numero
+javax.faces.converter.ShortConverter.SHORT=deve essere un numero intero
+javax.faces.converter.ShortConverter.SHORT_detail=il valore deve essere un numero intero compreso -32768 e 32767
+
+javax.faces.validator.DoubleRangeValidator.MAXIMUM=il valore deve essere minore o uguale a {0}
+javax.faces.validator.DoubleRangeValidator.MINIMUM=il valore deve essere maggiore o uguale a {0}
+javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE=il valore deve essere compreso tra {0} e {1}
+javax.faces.validator.DoubleRangeValidator.TYPE=il valore non \u00E8 del tipo corretto
+javax.faces.validator.LengthValidator.MAXIMUM=il valore deve essere inferiore o uguale {0} caratteri
+javax.faces.validator.LengthValidator.MINIMUM=il valore deve essere superiore o uguale {0} caratteri
+javax.faces.validator.LongRangeValidator.MAXIMUM=il valore deve essere minore o uguale a {0}
+javax.faces.validator.LongRangeValidator.MINIMUM=il valore deve essere superiore o uguale a {0}
+javax.faces.validator.LongRangeValidator.NOT_IN_RANGE=il valore deve essere compreso tra {0} e {1}
+javax.faces.validator.LongRangeValidator.TYPE=il valore non \u00E8 del tipo corretto
+
+javax.faces.validator.NOT_IN_RANGE=il valore deve essere compreso tra {0} e {1}
+javax.faces.converter.STRING=il valore non pu\u00F2 essere convertito a stringa
+
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_tr.properties
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_tr.properties 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/resources/messages_tr.properties 2009-04-03 11:19:30 UTC (rev 10289)
@@ -17,7 +17,7 @@
validator.email=girilen de\u011fer e-posta adresi format\u0131na uygun olmal\u0131d\u0131r
org.jboss.seam.loginFailed=Oturum a\u00e7\u0131lamad\u0131
-org.jboss.seam.loginSuccessful=Ho\u015fgeldiniz, #0
+org.jboss.seam.loginSuccessful=Ho\u015fgeldiniz, #0!
org.jboss.seam.TransactionFailed=\u0130\u015flem tamamlanamad\u0131
org.jboss.seam.NoConversation=Konu\u015fma sonland\u0131, zaman a\u015f\u0131m\u0131na u\u011frad\u0131 ya da ba\u015fka bir talebi i\u015fliyordu
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/ActionTest.java
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/ActionTest.java 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/ActionTest.java 2009-04-03 11:19:30 UTC (rev 10289)
@@ -7,7 +7,7 @@
@Test
public void test_@methodName@() throws Exception {
- new FacesRequest() {
+ new FacesRequest("/@pageName@.xhtml") {
@Override
protected void invokeApplication() {
//call action methods here
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/FormTest.java
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/FormTest.java 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/FormTest.java 2009-04-03 11:19:30 UTC (rev 10289)
@@ -7,7 +7,7 @@
@Test
public void test_@methodName@() throws Exception {
- new FacesRequest() {
+ new FacesRequest("/@pageName@.xhtml") {
@Override
protected void updateModelValues() throws Exception {
//set form input to model attributes
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/readme.txt
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/readme.txt 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/test/readme.txt 2009-04-03 11:19:30 UTC (rev 10289)
@@ -1,9 +1,29 @@
If you want to run tests using the Eclipse TestNG plugin, you'll need to add
-these jars to the top of your TestNG classpath. Using the Run Dialog, select
-xml suite to run, and add /lib/test/jboss-embedded-all.jar,
-/lib/test/hibernate-all.jar, /lib/test/thirdparty-all.jar, /lib/jboss-embedded-api.jar,
-/lib/jboss-deployers-client-spi.jar, /lib/jboss-deployers-core-spi.jar, and
-/bootstrap as the first entries in the User classpath.
+these jars to the top of your TestNG classpath. Using the Run Dialog, select the
+XML suite to run, and select these entries from the project tree:
-To add tests to your project create a TestNG xml descriptor called *Test.xml e.g.
-FooTest.xml next to your test classes and run ant test.
\ No newline at end of file
+/lib/test/jboss-embedded-all.jar
+/lib/test/hibernate-all.jar
+/lib/test/thirdparty-all.jar
+/lib/jboss-embedded-api.jar
+/lib/jboss-deployers-client-spi.jar
+/lib/jboss-deployers-core-spi.jar
+
+You also need to add the Embedded JBoss bootstrap folder, which you can do by
+clicking on the Advanced... button.
+
+/bootstrap
+
+Seam uses JBoss Embedded in its unit and integration testing. This has an
+additional requirement when using JDK 6. Add the following VM argument to the VM
+args tab in the TestNG launch configuration for your suite.
+
+-Dsun.lang.ClassLoader.allowArraySyntax=true
+
+Please be sure to use JDK 6 Update 4 or better (>= 1.6.0_04) if you are using
+JDK 6. The Update 4 release upgraded to JAXB 2.1 which removes a problem with
+earlier versions of Sun's JDK 6 which required overriding the JAXB libraries
+using the endorsed directory.
+
+To add tests to your project create a TestNG xml descriptor called *Test.xml
+(e.g. FooTest.xml) next to your test classes and run ant test.
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/action.xhtml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/action.xhtml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/action.xhtml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -1,5 +1,5 @@
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:s="http://jboss.com/products/seam/taglib"
xmlns:ui="http://java.sun.com/jsf/facelets"
@@ -11,8 +11,6 @@
<ui:define name="body">
- <h:messages globalOnly="true" styleClass="message"/>
-
<rich:panel>
<f:facet name="header">@pageName@</f:facet>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/conversation.xhtml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/conversation.xhtml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/conversation.xhtml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -1,43 +1,40 @@
-<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
- xmlns:s="http://jboss.com/products/seam/taglib"
- xmlns:ui="http://java.sun.com/jsf/facelets"
- xmlns:f="http://java.sun.com/jsf/core"
- xmlns:h="http://java.sun.com/jsf/html"
- xmlns:rich="http://richfaces.org/rich"
- template="layout/template.xhtml">
-
+ xmlns:s="http://jboss.com/products/seam/taglib"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:rich="http://richfaces.org/rich"
+ template="layout/template.xhtml">
+
<ui:define name="body">
- <h:messages globalOnly="true" styleClass="message"/>
-
<rich:panel>
<f:facet name="header">@pageName@</f:facet>
-
+
<div class="dialog">
<div class="prop">
<span class="name">Value</span>
<span class="value">#{@componentName@.value}</span>
</div>
</div>
-
+
<div style="clear:both"/>
-
+
</rich:panel>
-
+
<h:form id="@componentName@">
<div class="actionButtons">
- <h:commandButton id="begin" value="Begin"
- action="#{@componentName@.begin}"/>
- <h:commandButton id="inc" value="Increment"
- action="#{@componentName@.increment}"/>
- <h:commandButton id="end" value="End"
- action="#{@componentName@.end}"/>
+ <h:commandButton id="begin" value="Begin"
+ action="#{@componentName@.begin}" rendered="#{not conversation.longRunning}"/>
+ <h:commandButton id="inc" value="Increment"
+ action="#{@componentName@.increment}" rendered="#{conversation.longRunning}"/>
+ <h:commandButton id="end" value="End"
+ action="#{@componentName@.end}" rendered="#{conversation.longRunning}"/>
</div>
</h:form>
-
+
</ui:define>
</ui:composition>
-
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.page.xml.ftl
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.page.xml.ftl 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.page.xml.ftl 2009-04-03 11:19:30 UTC (rev 10289)
@@ -9,9 +9,9 @@
xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.0.xsd"
no-conversation-view-id="/${masterPageName}.xhtml"
login-required="true">
-
- <begin-conversation join="true"/>
-
+
+ <begin-conversation join="true" flush-mode="MANUAL"/>
+
<action execute="${'#'}{${homeName}.wire}"/>
<param name="${componentName}From"/>
@@ -30,18 +30,24 @@
</#if>
<navigation from-action="${'#'}{${homeName}.persist}">
- <end-conversation/>
- <redirect view-id="/${pageName}.xhtml"/>
+ <rule>
+ <end-conversation/>
+ <redirect view-id="/${pageName}.xhtml"/>
+ </rule>
</navigation>
<navigation from-action="${'#'}{${homeName}.update}">
- <end-conversation/>
- <redirect view-id="/${pageName}.xhtml"/>
+ <rule>
+ <end-conversation/>
+ <redirect view-id="/${pageName}.xhtml"/>
+ </rule>
</navigation>
<navigation from-action="${'#'}{${homeName}.remove}">
- <end-conversation/>
- <redirect view-id="/${masterPageName}.xhtml"/>
+ <rule>
+ <end-conversation/>
+ <redirect view-id="/${masterPageName}.xhtml"/>
+ </rule>
</navigation>
</page>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.xhtml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.xhtml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.xhtml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -9,15 +9,13 @@
template="layout/template.xhtml">
<ui:define name="body">
-
- <h:messages globalOnly="true" styleClass="message"/>
-
+
<h:form id="@componentName@Form">
<rich:panel>
<f:facet name="header">@pageName@</f:facet>
-
- <s:decorate id="nameDecoration" template="layout/edit.xhtml">
+
+ <s:decorate id="nameField" template="layout/edit.xhtml">
<ui:define name="label">Name</ui:define>
<h:inputText id="name" required="true"
value="#{@homeName@.instance.name}"/>
@@ -41,9 +39,9 @@
action="#{@homeName@.remove}"
immediate="true"
rendered="#{@homeName@.managed}"/>
- <s:button propagation="end"
- id="done"
- value="Done"
+ <s:button propagation="end"
+ id="cancel"
+ value="Cancel"
view="/@masterPageName@.xhtml"/>
</div>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.xhtml.ftl
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.xhtml.ftl 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/edit.xhtml.ftl 2009-04-03 11:19:30 UTC (rev 10289)
@@ -1,5 +1,6 @@
-<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<#include "../util/TypeInfo.ftl">
<#assign entityName = pojo.shortName>
<#assign componentName = entityName?uncap_first>
<#assign homeName = componentName + "Home">
@@ -16,13 +17,11 @@
template="layout/template.xhtml">
<ui:define name="body">
-
- <h:messages globalOnly="true" styleClass="message" id="globalMessages"/>
<h:form id="${componentName}" styleClass="edit">
<rich:panel>
- <f:facet name="header">${'#'}{${homeName}.managed ? 'Edit' : 'Add'} ${entityName}</f:facet>
+ <f:facet name="header">${'#'}{${homeName}.managed ? 'Edit' : 'Add'} ${label(entityName)}</f:facet>
<#foreach property in pojo.allPropertiesIterator>
<#include "editproperty.xhtml.ftl">
</#foreach>
@@ -52,14 +51,14 @@
action="${'#'}{${homeName}.remove}"
immediate="true"
rendered="${'#'}{${homeName}.managed}"/>
-
- <s:button id="done"
- value="Done"
+
+ <s:button id="cancelEdit"
+ value="Cancel"
propagation="end"
view="/${pageName}.xhtml"
rendered="${'#'}{${homeName}.managed}"/>
-
- <s:button id="cancel"
+
+ <s:button id="cancelAdd"
value="Cancel"
propagation="end"
view="/${'#'}{empty ${componentName}From ? '${masterPageName}' : ${componentName}From}.xhtml"
@@ -115,44 +114,27 @@
</#if>
</#if>
<#if isToOne(parentProperty)>
-<#assign parentParentPojo = c2j.getPOJOClass(cfg.getClassMapping(parentProperty.value.referencedEntityName))>
-<#if parentParentPojo.isComponent(parentParentPojo.identifierProperty)>
-<#foreach componentProperty in parentParentPojo.identifierProperty.value.propertyIterator>
+<#assign grandparentPojo = c2j.getPOJOClass(cfg.getClassMapping(parentProperty.value.referencedEntityName))>
+<#if grandparentPojo.isComponent(grandparentPojo.identifierProperty)>
+<#foreach componentProperty in grandparentPojo.identifierProperty.value.propertyIterator>
<h:column>
- <f:facet name="header">${label(parentProperty.name)} ${label(componentProperty.name)?uncap_first}</f:facet>
- <@outputValue property=componentProperty expression="${'#'}{_${parentName}.${parentProperty.name}.${parentParentPojo.identifierProperty.name}.${componentProperty.name}}" indent=16/>
+ <f:facet name="header">${label(parentProperty.name)} ${label(componentProperty.name)?uncap_first}</f:facet>
+ <@outputValue property=componentProperty expression="${'#'}{_${parentName}.${parentProperty.name}.${grandparentPojo.identifierProperty.name}.${componentProperty.name}}" indent=16/>
</h:column>
</#foreach>
<#else>
<h:column>
- <f:facet name="header">${label(parentProperty.name)} ${label(parentParentPojo.identifierProperty.name)?uncap_first}</f:facet>
- <@outputValue property=parentParentPojo.identifierProperty expression="${'#'}{_${parentName}.${parentProperty.name}.${parentParentPojo.identifierProperty.name}}" indent=16/>
+ <f:facet name="header">${label(parentProperty.name)} ${label(grandparentPojo.identifierProperty.name)?uncap_first}</f:facet>
+ <@outputValue property=grandparentPojo.identifierProperty expression="${'#'}{_${parentName}.${parentProperty.name}.${grandparentPojo.identifierProperty.name}}" indent=16/>
</h:column>
</#if>
</#if>
</#foreach>
- <h:column>
- <f:facet name="header">Action</f:facet>
- <s:link view="/${parentPageName}.xhtml"
- id="view${parentName}"
- value="View"
- propagation="none">
-<#if parentPojo.isComponent(parentPojo.identifierProperty)>
-<#foreach componentProperty in parentPojo.identifierProperty.value.propertyIterator>
- <f:param name="${parentName}${componentProperty.name?cap_first}"
- value="${'#'}{_${parentName}.${parentPojo.identifierProperty.name}.${componentProperty.name}}"/>
-</#foreach>
-<#else>
- <f:param name="${parentName}${parentPojo.identifierProperty.name?cap_first}"
- value="${'#'}{_${parentName}.${parentPojo.identifierProperty.name}}"/>
-</#if>
- </s:link>
- </h:column>
</rich:dataTable>
<#if parentPojo.shortName!=pojo.shortName>
<div class="actionButtons">
- <s:button value="Select ${property.name}"
+ <s:button value="${'#'}{${homeName}.instance.${property.name} != null ? 'Change' : 'Select'} ${property.name}"
view="/${parentPageName}List.xhtml">
<f:param name="from" value="${pageName}Edit"/>
</s:button>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/editproperty.xhtml.ftl
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/editproperty.xhtml.ftl 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/editproperty.xhtml.ftl 2009-04-03 11:19:30 UTC (rev 10289)
@@ -7,7 +7,7 @@
<#foreach componentProperty in property.value.propertyIterator>
<#assign column = componentProperty.columnIterator.next()>
- <s:decorate id="${componentProperty.name}Decoration" template="layout/edit.xhtml">
+ <s:decorate id="${componentProperty.name}Field" template="layout/edit.xhtml">
<ui:define name="label">${label(componentProperty.name)}</ui:define>
<#if isDate(componentProperty)>
<rich:calendar id="${componentProperty.name}"
@@ -29,15 +29,11 @@
<a:support event="onblur" reRender="${componentProperty.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
</h:inputText>
<#elseif isTimestamp(componentProperty)>
- <h:inputText id="${componentProperty.name}"
- size="16"
+ <rich:calendar id="${componentProperty.name}"
<#if !column.nullable>
required="true"
</#if>
- value="${'#'}{${homeName}.instance.${property.name}.${componentProperty.name}}">
- <s:convertDateTime type="both" dateStyle="short"/>
- <a:support event="onblur" reRender="${componentProperty.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
- </h:inputText>
+ value="${'#'}{${homeName}.instance.${property.name}.${componentProperty.name}}" datePattern="MM/dd/yyyy hh:mm a" />
<#elseif isBigDecimal(componentProperty)>
<h:inputText id="${componentProperty.name}"
<#if !column.nullable>
@@ -45,7 +41,7 @@
</#if>
value="${'#'}{${homeName}.instance.${property.name}.${componentProperty.name}}"
size="${column.precision+7}">
- <a:support event="onblur" reRender="${componentProperty.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
+ <a:support event="onblur" reRender="${componentProperty.name}Field" bypassUpdates="true" ajaxSingle="true"/>
</h:inputText>
<#elseif isBigInteger(componentProperty)>
<h:inputText id="${componentProperty.name}"
@@ -57,7 +53,7 @@
</#if>
value="${'#'}{${homeName}.instance.${property.name}.${componentProperty.name}}"
size="${column.precision+6}">
- <a:support event="onblur" reRender="${componentProperty.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
+ <a:support event="onblur" reRender="${componentProperty.name}Field" bypassUpdates="true" ajaxSingle="true"/>
</h:inputText>
<#elseif isBoolean(componentProperty)>
<h:selectBooleanCheckbox id="${componentProperty.name}"
@@ -101,7 +97,7 @@
size="${size}"
maxlength="${column.length}"
value="${'#'}{${homeName}.instance.${property.name}.${componentProperty.name}}">
- <a:support event="onblur" reRender="${componentProperty.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
+ <a:support event="onblur" reRender="${componentProperty.name}Field" bypassUpdates="true" ajaxSingle="true"/>
</h:inputText>
</#if>
<#else>
@@ -113,7 +109,7 @@
disabled="${'#'}{${homeName}.managed}"
</#if>
value="${'#'}{${homeName}.instance.${property.name}.${componentProperty.name}}">
- <a:support event="onblur" reRender="${componentProperty.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
+ <a:support event="onblur" reRender="${componentProperty.name}Field" bypassUpdates="true" ajaxSingle="true"/>
</h:inputText>
</#if>
</s:decorate>
@@ -122,7 +118,7 @@
<#assign column = property.columnIterator.next()>
<#assign property = property.value.typeName>
- <s:decorate id="${property.name}Decoration" template="layout/edit.xhtml">
+ <s:decorate id="${property.name}Field" template="layout/edit.xhtml">
<ui:define name="label">${label(property.name)}</ui:define>
<#if isDate(property)>
<rich:calendar id="${property.name}"
@@ -141,18 +137,14 @@
</#if>
value="${'#'}{${homeName}.instance.${property.name}}">
<s:convertDateTime type="time"/>
- <a:support event="onblur" reRender="${property.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
+ <a:support event="onblur" reRender="${property.name}Field" bypassUpdates="true" ajaxSingle="true"/>
</h:inputText>
<#elseif isTimestamp(property)>
- <h:inputText id="${property.name}"
- size="16"
+ <rich:calendar id="${property.name}"
<#if !column.nullable>
required="true"
</#if>
- value="${'#'}{${homeName}.instance.${property.name}}">
- <s:convertDateTime type="both" dateStyle="short"/>
- <a:support event="onblur" reRender="${property.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
- </h:inputText>
+ value="${'#'}{${homeName}.instance.${property.name}}" datePattern="MM/dd/yyyy hh:mm a"/>
<#elseif isBigDecimal(property)>
<h:inputText id="${property.name}"
<#if !column.nullable>
@@ -160,7 +152,7 @@
</#if>
value="${'#'}{${homeName}.instance.${property.name}}"
size="${column.precision+7}">
- <a:support event="onblur" reRender="${property.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
+ <a:support event="onblur" reRender="${property.name}Field" bypassUpdates="true" ajaxSingle="true"/>
</h:inputText>
<#elseif isBigInteger(property)>
<h:inputText id="${property.name}"
@@ -172,7 +164,7 @@
</#if>
value="${'#'}{${homeName}.instance.${property.name}}"
size="${column.precision+6}">
- <a:support event="onblur" reRender="${property.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
+ <a:support event="onblur" reRender="${property.name}Field" bypassUpdates="true" ajaxSingle="true"/>
</h:inputText>
<#elseif isBoolean(property)>
<h:selectBooleanCheckbox id="${property.name}"
@@ -216,7 +208,7 @@
size="${size}"
maxlength="${column.length}"
value="${'#'}{${homeName}.instance.${property.name}}">
- <a:support event="onblur" reRender="${property.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
+ <a:support event="onblur" reRender="${property.name}Field" bypassUpdates="true" ajaxSingle="true"/>
</h:inputText>
</#if>
<#else>
@@ -228,7 +220,7 @@
disabled="${'#'}{${homeName}.managed}"
</#if>
value="${'#'}{${homeName}.instance.${property.name}}">
- <a:support event="onblur" reRender="${property.name}Decoration" bypassUpdates="true" ajaxSingle="true"/>
+ <a:support event="onblur" reRender="${property.name}Field" bypassUpdates="true" ajaxSingle="true"/>
</h:inputText>
</#if>
</s:decorate>
Added: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/favicon.ico
===================================================================
(Binary files differ)
Property changes on: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/favicon.ico
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/form.xhtml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/form.xhtml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/form.xhtml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -17,8 +17,8 @@
<rich:panel>
<f:facet name="header">@pageName@</f:facet>
-
- <s:decorate id="valueDecoration" template="layout/edit.xhtml">
+
+ <s:decorate id="valueField" template="layout/edit.xhtml">
<ui:define name="label">Value</ui:define>
<h:inputText id="value" required="true"
value="#{@componentName@.value}"/>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/home.xhtml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/home.xhtml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/home.xhtml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -1,34 +1,37 @@
-<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
- xmlns:s="http://jboss.com/products/seam/taglib"
- xmlns:ui="http://java.sun.com/jsf/facelets"
- xmlns:f="http://java.sun.com/jsf/core"
- xmlns:h="http://java.sun.com/jsf/html"
- xmlns:rich="http://richfaces.org/rich"
- template="layout/template.xhtml">
+ xmlns:s="http://jboss.com/products/seam/taglib"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:rich="http://richfaces.org/rich"
+ template="layout/template.xhtml">
-<ui:define name="body">
+ <ui:define name="body">
- <h:messages globalOnly="true" styleClass="message"/>
-
- <rich:panel>
- <f:facet name="header">Welcome!</f:facet>
- <p>This empty shell application includes:</p>
- <ul>
- <li>Ant build script</li>
- <li>Deployment to JBoss AS (EAR or WAR)</li>
- <li>Development and production profiles</li>
- <li>Integration testing using TestNG and Embedded JBoss</li>
- <li>JavaBean or EJB 3.0 Seam components</li>
- <li>JPA entity classes</li>
- <li>A configurable DataSource and JPA EntityManager</li>
- <li>Templated Facelets views</li>
- <li>RichFaces panels and tables</li>
- <li>Default CSS stylesheet</li>
- <li>Internationalization support</li>
- </ul>
- </rich:panel>
-
-</ui:define>
+ <h1>Welcome to Seam!</h1>
+ <rich:panel>
+ <h:panelGrid columns="2">
+ <h:graphicImage value="/img/seamlogo.png" alt="Seam logo"/>
+ <s:div styleClass="info">
+ <p><strong>Your seam-gen project is deployed!</strong> Here are some of the features this project provides:</p>
+ <ul class="bullets">
+ <li>Ant build script</li>
+ <li>Deployment to JBoss AS (EAR or WAR)</li>
+ <li>Development and production profiles</li>
+ <li>Integration testing using TestNG and Embedded JBoss</li>
+ <li>JavaBean or EJB 3.0 Seam components</li>
+ <li>JPA entity classes</li>
+ <li>A configurable DataSource and JPA EntityManager</li>
+ <li>Templated Facelets views</li>
+ <li>RichFaces panels and tables</li>
+ <li>Default CSS stylesheet</li>
+ <li>Internationalization support</li>
+ </ul>
+ </s:div>
+ </h:panelGrid>
+ </rich:panel>
+
+ </ui:define>
</ui:composition>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/menu.xhtml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/menu.xhtml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/menu.xhtml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -7,12 +7,12 @@
xmlns:rich="http://richfaces.org/rich">
<rich:toolBarGroup>
<h:outputText value="#{projectName}:"/>
- <s:link view="/home.xhtml" value="Home"/>
+ <s:link view="/home.xhtml" value="Home" propagation="none"/>
</rich:toolBarGroup>
<!-- @newMenuItem@ -->
<rich:toolBarGroup location="right">
- <h:outputText value="Welcome, #{identity.username}!" rendered="#{identity.loggedIn}"/>
- <s:link view="/login.xhtml" value="Login" rendered="#{not identity.loggedIn}"/>
- <s:link view="/home.xhtml" action="#{identity.logout}" value="Logout" rendered="#{identity.loggedIn}"/>
+ <h:outputText value="signed in as: #{identity.username}" rendered="#{identity.loggedIn}"/>
+ <s:link view="/login.xhtml" value="Login" rendered="#{not identity.loggedIn}" propagation="none"/>
+ <s:link view="/home.xhtml" action="#{identity.logout}" value="Logout" rendered="#{identity.loggedIn}" propagation="none"/>
</rich:toolBarGroup>
</rich:toolBar>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/menu.xhtml.ftl
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/menu.xhtml.ftl 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/menu.xhtml.ftl 2009-04-03 11:19:30 UTC (rev 10289)
@@ -7,17 +7,18 @@
xmlns:rich="http://richfaces.org/rich">
<rich:toolBarGroup>
<h:outputText value="${'#'}{projectName}:"/>
- <s:link view="/home.xhtml" value="Home"/>
+ <s:link view="/home.xhtml" value="Home" propagation="none"/>
</rich:toolBarGroup>
<#foreach entity in c2j.getPOJOIterator(cfg.classMappings)>
<s:link view="/${entity.shortName}List.xhtml"
value="${entity.shortName} List"
+includePageParams="false"
propagation="none"/>
</#foreach>
<!-- @newMenuItem@ -->
<rich:toolBarGroup location="right">
- <h:outputText value="Welcome, ${'#'}{identity.username}!" rendered="${'#'}{identity.loggedIn}"/>
- <s:link view="/login.xhtml" value="Login" rendered="${'#'}{not identity.loggedIn}"/>
- <s:link view="/home.xhtml" action="${'#'}{identity.logout}" value="Logout" rendered="${'#'}{identity.loggedIn}"/>
+ <h:outputText value="signed in as: ${'#'}{identity.username}" rendered="${'#'}{identity.loggedIn}"/>
+ <s:link view="/login.xhtml" value="Login" rendered="${'#'}{not identity.loggedIn}" propagation="none"/>
+ <s:link view="/home.xhtml" action="${'#'}{identity.logout}" value="Logout" rendered="${'#'}{identity.loggedIn}" propagation="none"/>
</rich:toolBarGroup>
</rich:toolBar>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/template.xhtml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/template.xhtml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/layout/template.xhtml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -1,20 +1,20 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:ui="http://java.sun.com/jsf/facelets"
- xmlns:h="http://java.sun.com/jsf/html"
- xmlns:f="http://java.sun.com/jsf/core"
- xmlns:s="http://jboss.com/products/seam/taglib">
+<f:view contentType="text/html"
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:a="http://richfaces.org/a4j"
+ xmlns:s="http://jboss.com/products/seam/taglib">
+<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>@projectName@</title>
- <link href="stylesheet/theme.css" rel="stylesheet" type="text/css" />
- <script type="text/javascript">
- A4J.AJAX.onError = function(req,status,message) {
- alert(message);
-
- };
- </script>
+ <link rel="shortcut icon" href="#{request.contextPath}/favicon.ico"/>
+ <a:loadStyle src="resource:///stylesheet/theme.xcss"/>
+ <a:loadStyle src="/stylesheet/theme.css"/>
+ <ui:insert name="head"/>
</head>
<body>
@@ -23,9 +23,10 @@
<ui:param name="projectName" value="@projectName@"/>
</ui:include>
- <div class="body">
- <ui:insert name="body"/>
- </div>
+ <div class="body">
+ <h:messages globalOnly="true" styleClass="message"/>
+ <ui:insert name="body"/>
+ </div>
<div class="footer">
Powered by <a href="http://jboss.com/products/seam">Seam</a>.
@@ -34,3 +35,4 @@
</body>
</html>
+</f:view>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/list.xhtml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/list.xhtml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/list.xhtml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -8,10 +8,7 @@
xmlns:rich="http://richfaces.org/rich"
template="layout/template.xhtml">
-<ui:define name="body">
-
- <h:messages globalOnly="true" styleClass="message"/>
-
+<ui:define name="body">
<rich:panel>
<f:facet name="header">@masterPageName@</f:facet>
@@ -29,8 +26,9 @@
</h:column>
<h:column>
<f:facet name="header">Name</f:facet>
- <s:link id="@componentName@"
- value="#{@componentName@.name}"
+ <s:link id="@componentName@"
+ value="#{@componentName@.name}"
+ propagation="none"
view="/@pageName@.xhtml">
<f:param name="@componentName@Id"
value="#{@componentName@.id}"/>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/list.xhtml.ftl
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/list.xhtml.ftl 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/list.xhtml.ftl 2009-04-03 11:19:30 UTC (rev 10289)
@@ -19,17 +19,19 @@
<ui:define name="body">
- <h:messages globalOnly="true" styleClass="message" id="globalMessages"/>
+ <![CDATA[<h:messages globalOnly="true" styleClass="message" id="globalMessages"/>]]>
<h:form id="${componentName}Search" styleClass="edit">
-
- <rich:simpleTogglePanel label="${entityName} search parameters" switchType="ajax">
-
+
+ <rich:simpleTogglePanel label="${entityName} Search Filter" switchType="ajax">
+
+<#assign searchParamNames = []/>
<#foreach property in pojo.allPropertiesIterator>
<#if !c2h.isCollection(property) && !isToOne(property) && property != pojo.versionProperty!>
<#if c2j.isComponent(property)>
<#foreach componentProperty in property.value.propertyIterator>
<#if isString(componentProperty)>
+<#assign searchParamNames = searchParamNames + [componentProperty.name]/>
<s:decorate template="layout/display.xhtml">
<ui:define name="label">${label(componentProperty.name)}</ui:define>
<h:inputText id="${componentProperty.name}" value="${'#'}{${listName}.${componentName}.${property.name}.${componentProperty.name}}"/>
@@ -39,6 +41,7 @@
</#foreach>
<#else>
<#if isString(property)>
+<#assign searchParamNames = searchParamNames + [property.name]/>
<s:decorate template="layout/display.xhtml">
<ui:define name="label">${label(property.name)}</ui:define>
<h:inputText id="${property.name}" value="${'#'}{${listName}.${componentName}.${property.name}}"/>
@@ -53,12 +56,13 @@
<div class="actionButtons">
<h:commandButton id="search" value="Search" action="/${listPageName}.xhtml"/>
+ <s:button id="reset" value="Reset" includePageParams="false"/>
</div>
</h:form>
<rich:panel>
- <f:facet name="header">${entityName} search results</f:facet>
+ <f:facet name="header">${entityName} Search Results</f:facet>
<div class="results" id="${componentName}List">
<h:outputText value="The ${componentName} search returned no results."
@@ -118,10 +122,11 @@
</#if>
</#if>
</#foreach>
- <h:column>
+ <rich:column styleClass="action">
<f:facet name="header">Action</f:facet>
- <s:link view="/${'#'}{empty from ? '${pageName}' : from}.xhtml"
- value="Select"
+ <s:link view="/${'#'}{empty from ? '${pageName}' : from}.xhtml"
+ value="${'#'}{empty from ? 'View' : 'Select'}"
+ propagation="${'#'}{empty from ? 'none' : 'default'}"
id="${componentName}">
<#if pojo.isComponent(pojo.identifierProperty)>
<#foreach componentProperty in pojo.identifierProperty.value.propertyIterator>
@@ -133,7 +138,23 @@
value="${'#'}{_${componentName}.${pojo.identifierProperty.name}}"/>
</#if>
</s:link>
- </h:column>
+ ${'#'}{' '}
+ <s:link view="/${editPageName}.xhtml"
+ value="Edit"
+ propagation="none"
+ id="${componentName}Edit"
+ rendered="${'#'}{empty from}">
+<#if pojo.isComponent(pojo.identifierProperty)>
+<#foreach componentProperty in pojo.identifierProperty.value.propertyIterator>
+ <f:param name="${componentName}${componentProperty.name?cap_first}"
+ value="${'#'}{_${componentName}.${pojo.identifierProperty.name}.${componentProperty.name}}"/>
+</#foreach>
+<#else>
+ <f:param name="${componentName}${pojo.identifierProperty.name?cap_first}"
+ value="${'#'}{_${componentName}.${pojo.identifierProperty.name}}"/>
+</#if>
+ </s:link>
+ </rich:column>
</rich:dataTable>
</div>
@@ -176,7 +197,8 @@
<s:div styleClass="actionButtons" rendered="${'#'}{empty from}">
<s:button view="/${editPageName}.xhtml"
- id="create"
+ id="create"
+ propagation="none"
value="Create ${componentName}">
<#assign idName = componentName + pojo.identifierProperty.name?cap_first>
<#if c2j.isComponent(pojo.identifierProperty)>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/login.xhtml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/login.xhtml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/login.xhtml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -10,7 +10,7 @@
<ui:define name="body">
- <h:messages styleClass="message"/>
+<!-- <h:messages styleClass="message"/>-->
<h:form id="login">
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/query.xhtml
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/query.xhtml 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/query.xhtml 2009-04-03 11:19:30 UTC (rev 10289)
@@ -10,10 +10,8 @@
<ui:define name="body">
<h1>@beanName@ results</h1>
- <p>Generated query page</p>
+ <p>Generated query page</p>
- <h:messages globalOnly="true" styleClass="message"/>
-
<h:outputText value="No results from search"
rendered="#{empty @componentName@.resultList}"/>
<f:subview id="results" rendered="#{not empty @componentName@.resultList}">
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/stylesheet/theme.css
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/stylesheet/theme.css 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/stylesheet/theme.css 2009-04-03 11:19:30 UTC (rev 10289)
@@ -1,26 +1,30 @@
+html {
+ overflow-y: scroll;
+}
+
body {
font-size: 12px;
+ margin: 0px;
}
-a:active, a:link, a:visited {
- color: #0D5798;
+a img {
+ border: none;
}
-a:hover {
- color: #8CAFCD;
+
+h1 {
+ font-size: 1.6em;
+ margin-top: 0;
}
-input, textarea {
- border: 1px solid #BBBBBB;
+input[type=submit], input[type=button] {
font-size: 10px;
- background: #F0F8FF;
- color: black;
+ margin: 5px 5px 5px 0;
+ cursor: pointer;
}
-input[type='submit'], input[type='button'] {
- background: #4477AA;
- color: white;
- margin: 5px;
- border-color: gray;
+input[type=text], input[type=password], textarea {
+ font-size: 11px;
+ padding-left: 1px;
}
.tableControl, .actionButtons {
@@ -37,44 +41,52 @@
.footer {
text-align: center;
- font-size: 10px;
+ font-size: 11px;
+ margin-bottom: 10px;
}
.rich-table {
- width:100%;
+ width: 100%;
}
-h1 {
- font-family: Arial,sans-serif;
- color: #578BB8;
- font-size: 1.6em;
- margin-top: 0;
-}
-
-body {
- margin: 0px;
- font-family: Arial,sans-serif;
- color: #616161;
-}
-
.body {
padding: 30px;
}
-.columnHeader:hover
-{
+.columnHeader:hover {
color: #FF6600;
}
.message {
- border: 1px solid #FFCC00;
padding: 5px;
- margin-top: 5px;
- margin-bottom: 5px;
- background-color: #F0F8FF;
+ list-style: none;
+ border: 0;
+ background: none;
+ padding: 0;
+ color: #000000;
+ margin: 5px 0 8px 0;
font-size: 12px;
}
+.message li {
+ background: no-repeat left center;
+ padding-top: 1px;
+ padding-left: 20px;
+ margin-left: 3px;
+}
+
+.message li.infomsg {
+ background-image: url(../img/msginfo.png);
+}
+
+.message li.errormsg {
+ background-image: url(../img/msgerror.png);
+}
+
+.message li.warnmsg {
+ background-image: url(../img/msgwarn.png);
+}
+
.name {
vertical-align: top;
font-weight: bold;
@@ -84,6 +96,7 @@
margin-top: 3px;
clear: left;
}
+
.value {
float: left;
padding: 5px;
@@ -93,19 +106,19 @@
float: left;
padding: 5px;
}
+
.errors {
color: red;
vertical-align: middle;
}
+
img.errors {
padding-right: 5px;
}
-.errors input {
- border: 1px solid red;
+
+.errors input, .errors textarea, .errors select {
+ border: 1px solid red !important;
}
-.errors textarea {
- border: 1px solid red;
-}
.required {
color: red;
@@ -115,3 +128,72 @@
.rich-stglpanel-body {
overflow: auto;
}
+
+/* the specificity here is necessary to override the defaults */
+.rich-panel .rich-panel-header,
+.rich-stglpanel .rich-stglpanel-header {
+ padding: 2px 3px;
+}
+
+
+select {
+ font-size: 12px;
+}
+
+.rich-panel input[type=submit], .rich-panel input[type=button],
+.rich-tabpanel input[type=submit], .rich-tabpanel input[type=button] {
+ margin-bottom: 0;
+}
+
+.tableControl input[type=submit], .tableControl input[type=button], .tableControl select {
+ margin: 5px 0 5px 5px;
+}
+
+/* I don't know why this is necessary, but the select is off by a pixel on the top and is padding too much on the left */
+.tableControl select {
+ margin-left: 2px;
+ position: relative;
+ top: 1px;
+}
+
+.actionButtons {
+ padding-left: 1px;
+}
+
+.actionButtons select {
+ margin: 5px 5px 5px 0;
+ vertical-align: bottom;
+}
+
+.rich-datalist {
+ list-style: square;
+ margin: 6px 0 1px 0;
+ padding-left: 18px;
+}
+
+.rich-list-item {
+ padding-bottom: 4px;
+}
+
+div.info {
+ font-size: 1.2em;
+}
+
+ul.bullets {
+ list-style: square;
+}
+
+ul.bullets li {
+ padding-bottom: 2px;
+}
+
+td.action {
+ text-align: center;
+ width: 8em;
+ white-space: nowrap;
+}
+
+td.action a {
+ padding-left: 1px;
+ padding-right: 1px;
+}
Added: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/stylesheet/theme.xcss
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/stylesheet/theme.xcss (rev 0)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/stylesheet/theme.xcss 2009-04-03 11:19:30 UTC (rev 10289)
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<f:template xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http:/jsf.exadel.com/template"
+ xmlns:u="http:/jsf.exadel.com/template/util">
+ <u:selector name="body">
+ <u:style name="font-family" skin="generalFamilyFont"/>
+ <u:style name="color" skin="generalTextColor"/>
+ </u:selector>
+ <u:selector name="h1">
+ <u:style name="font-family" skin="generalFamilyFont"/>
+ <u:style name="color" skin="tabDisabledTextColor"/>
+ </u:selector>
+ <u:selector name="a:active, a:link, a:visited">
+ <u:style name="color" skin="generalLinkColor"/>
+ </u:selector>
+ <u:selector name="a:hover">
+ <u:style name="color" skin="hoverLinkColor"/>
+ </u:selector>
+ <u:selector name="input[type=text], input[type=password], textarea, select">
+ <u:style name="background-color" skin="controlBackgroundColor"/>
+ <u:style name="color" skin="controlTextColor"/>
+ <u:style name="background-position" value="left top"/>
+ <u:style name="background-repeat" value="repeat-x"/>
+ <u:style name="background-image">
+ <f:resource f:key="org.richfaces.renderkit.html.images.SliderFieldGradient"/>
+ </u:style>
+ <u:style name="border" value="1px solid"/>
+ <u:style name="border-color" skin="tableBorderColor" />
+ </u:selector>
+ <u:selector name="select">
+ <u:style name="background-color" value="transparent"/>
+ <u:style name="background-image">
+ <f:resource f:key="org.richfaces.renderkit.html.images.SliderFieldGradient"/>
+ </u:style>
+ </u:selector>
+ <u:selector name="option">
+ <u:style name="background-color" skin="generalBackgroundColor"/>
+ </u:selector>
+ <u:selector name="select[multiple]">
+ <u:style name="background-color" skin="controlBackgroundColor"/>
+ </u:selector>
+ <u:selector name="select[multiple] option">
+ <u:style name="background-color" value="transparent"/>
+ </u:selector>
+ <u:selector name="input[type=submit], input[type=button]">
+ <u:style name="padding" value="1px 4px"/>
+ <u:style name="background-image">
+ <f:resource f:key="org.richfaces.renderkit.html.GradientA"/>
+ </u:style>
+ <u:style name="border" value="1px solid"/>
+ <u:style name="border-color" skin="headerBackgroundColor"/>
+ <u:style name="color" skin="headerTextColor"/>
+ <u:style name="font-weight" value="bold"/>
+ </u:selector>
+ <u:selector name="input[type=submit][disabled], input[type=button][disabled]">
+ <u:style name="opacity" value="0.33"/>
+ </u:selector>
+ <!-- hack for IE to just get rid of border since it doubles the border if you use one -->
+ <u:selector name="* html input[type=submit], * html input[type=button], *+html input[type=submit], *+html input[type=button]">
+ <u:style name="border" value="0"/>
+ <u:style name="font-size" value="11px"/>
+ </u:selector>
+ <u:selector name=".rich-table-subheadercell">
+ <u:style name="background-image">
+ <f:resource f:key="org.richfaces.renderkit.images.TabGradientB"/>
+ </u:style>
+ </u:selector>
+ <u:selector name=".rich-toolbar a:link, .rich-toolbar a:visited, .rich-toolbar a:active, .rich-toolbar a:hover">
+ <u:style name="color" skin="headerTextColor"/>
+ </u:selector>
+ <u:selector name=".rich-toolbar a:hover">
+ <u:style name="color" skin="generalTextColor"/>
+ </u:selector>
+ <!--
+ <u:selector name=".rich-table-subheadercell a:link, .rich-table-subheadercell a:visited, .rich-table-subheadercell a:active">
+ <u:style name="color" skin="generalTextColor"/>
+ </u:selector>
+ -->
+ <u:selector name=".rich-table-subheadercell a:hover">
+ <u:style name="color" skin="calendarHolidaysTextColor"/>
+ </u:selector>
+ <!-- Define static styles in the CDATA block below (you can also move this block to the top) -->
+ <f:verbatim><![CDATA[
+]]></f:verbatim>
+</f:template>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/view.xhtml.ftl
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/view.xhtml.ftl 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/view.xhtml.ftl 2009-04-03 11:19:30 UTC (rev 10289)
@@ -17,10 +17,10 @@
<ui:define name="body">
- <h:messages globalOnly="true" styleClass="message" id="globalMessages"/>
+ <![CDATA[<h:messages globalOnly="true" styleClass="message" id="globalMessages"/>]]>
<rich:panel>
- <f:facet name="header">${entityName}</f:facet>
+ <f:facet name="header">${label(entityName)} Details</f:facet>
<#foreach property in pojo.allPropertiesIterator>
<#if !c2h.isCollection(property) && !isToOne(property) && property != pojo.versionProperty!>
<#include "viewproperty.xhtml.ftl">
@@ -58,7 +58,10 @@
<#assign parentPageName = parentPojo.shortName>
<#assign parentName = parentPojo.shortName?uncap_first>
- <rich:tab label="${label(property.name)}">
+ <rich:tab>
+ <f:facet name="label">
+ <h:panelGroup><h:graphicImage value="/img/manytoone.gif" style="vertical-align: middle; padding-right: 4px;"/>${label(property.name)}</h:panelGroup>
+ </f:facet>
<div class="association" id="${property.name}Parent">
<h:outputText value="There is no ${property.name} associated with this ${componentName}."
@@ -86,23 +89,23 @@
</#if>
</#if>
<#if isToOne(parentProperty)>
-<#assign parentParentPojo = c2j.getPOJOClass(cfg.getClassMapping(parentProperty.value.referencedEntityName))>
-<#if parentParentPojo.isComponent(parentParentPojo.identifierProperty)>
-<#foreach componentProperty in parentParentPojo.identifierProperty.value.propertyIterator>
+<#assign grandparentPojo = c2j.getPOJOClass(cfg.getClassMapping(parentProperty.value.referencedEntityName))>
+<#if grandparentPojo.isComponent(grandparentPojo.identifierProperty)>
+<#foreach componentProperty in grandparentPojo.identifierProperty.value.propertyIterator>
<h:column>
- <f:facet name="header">${label(parentProperty.name)} ${label(componentProperty.name)?uncap_first}</f:facet>
- <@outputValue property=componentProperty expression="${'#'}{_${parentName}.${parentProperty.name}.${parentParentPojo.identifierProperty.name}.${componentProperty.name}}" indent=16/>
+ <f:facet name="header">${label(parentProperty.name)} ${label(componentProperty.name)?uncap_first}</f:facet>
+ <@outputValue property=componentProperty expression="${'#'}{_${parentName}.${parentProperty.name}.${grandparentPojo.identifierProperty.name}.${componentProperty.name}}" indent=16/>
</h:column>
</#foreach>
<#else>
<h:column>
- <f:facet name="header">${label(parentProperty.name)} ${label(parentParentPojo.identifierProperty.name)?uncap_first}</f:facet>
- <@outputValue property=parentParentPojo.identifierProperty expression="${'#'}{_${parentName}.${parentProperty.name}.${parentParentPojo.identifierProperty.name}}" indent=16/>
+ <f:facet name="header">${label(parentProperty.name)} ${label(grandparentPojo.identifierProperty.name)?uncap_first}</f:facet>
+ <@outputValue property=grandparentPojo.identifierProperty expression="${'#'}{_${parentName}.${parentProperty.name}.${grandparentPojo.identifierProperty.name}}" indent=16/>
</h:column>
</#if>
</#if>
</#foreach>
- <h:column>
+ <h:column styleClass="action">
<f:facet name="header">Action</f:facet>
<s:link id="view${parentName}"
value="View"
@@ -125,7 +128,10 @@
</#if>
<#if c2h.isOneToManyCollection(property)>
- <rich:tab label="${label(property.name)}">
+ <rich:tab>
+ <f:facet name="label">
+ <h:panelGroup><h:graphicImage value="/img/onetomany.gif" style="vertical-align: middle; padding-right: 4px;"/>${label(property.name)}</h:panelGroup>
+ </f:facet>
<h:form styleClass="association" id="${property.name}Children">
<#assign childPojo = c2j.getPOJOClass(property.value.element.associatedClass)>
Modified: branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/viewproperty.xhtml.ftl
===================================================================
--- branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/viewproperty.xhtml.ftl 2009-04-03 08:32:14 UTC (rev 10288)
+++ branches/enterprise/JBPAPP_4_3_FP01/seam-gen/view/viewproperty.xhtml.ftl 2009-04-03 11:19:30 UTC (rev 10289)
@@ -3,14 +3,12 @@
<#if !property.equals(pojo.identifierProperty) || property.value.identifierGeneratorStrategy == "assigned">
<#if c2j.isComponent(property)>
<#foreach componentProperty in property.value.propertyIterator>
-
<s:decorate id="${componentProperty.name}" template="layout/display.xhtml">
<ui:define name="label">${label(componentProperty.name)}</ui:define>
<@outputValue property=componentProperty expression="${'#'}{${homeName}.instance.${property.name}.${componentProperty.name}}" indent=12/>
</s:decorate>
</#foreach>
<#else>
-
<s:decorate id="${property.name}" template="layout/display.xhtml">
<ui:define name="label">${label(property.name)}</ui:define>
<@outputValue property=property expression="${'#'}{${homeName}.instance.${property.name}}" indent=12/>
15 years, 7 months
Seam SVN: r10288 - in trunk/seam-gen: icefaces/view/layout and 2 other directories.
by seam-commits@lists.jboss.org
Author: jharting
Date: 2009-04-03 04:32:14 -0400 (Fri, 03 Apr 2009)
New Revision: 10288
Modified:
trunk/seam-gen/icefaces/view/edit.xhtml.ftl
trunk/seam-gen/icefaces/view/editproperty.xhtml.ftl
trunk/seam-gen/icefaces/view/form.xhtml
trunk/seam-gen/icefaces/view/layout/menu.xhtml.ftl
trunk/seam-gen/icefaces/view/list.xhtml.ftl
trunk/seam-gen/icefaces/view/login.xhtml
trunk/seam-gen/icefaces/view/view.xhtml.ftl
trunk/seam-gen/view/edit.xhtml.ftl
trunk/seam-gen/view/layout/menu.xhtml
trunk/seam-gen/view/layout/menu.xhtml.ftl
trunk/seam-gen/view/list.xhtml.ftl
trunk/seam-gen/view/login.xhtml
Log:
JBQA-2232 added and unified ids in seam-gen
Modified: trunk/seam-gen/icefaces/view/edit.xhtml.ftl
===================================================================
--- trunk/seam-gen/icefaces/view/edit.xhtml.ftl 2009-04-03 06:14:04 UTC (rev 10287)
+++ trunk/seam-gen/icefaces/view/edit.xhtml.ftl 2009-04-03 08:32:14 UTC (rev 10288)
@@ -16,7 +16,7 @@
<ui:define name="body">
- <ice:form id="${componentName}editForm" styleClass="edit">
+ <ice:form id="${componentName}" styleClass="edit">
<ice:panelGroup id="edit${componentName}GroupId" styleClass="formBorderHighlight">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
@@ -39,24 +39,24 @@
<div class="actionButtons">
- <ice:commandButton id="save${homeName}"
+ <ice:commandButton id="save"
value="Save"
action="${'#'}{${homeName}.persist}"
disabled="${'#'}{!${homeName}.wired}"
rendered="${'#'}{!${homeName}.managed}"/>
- <ice:commandButton id="update${homeName}"
+ <ice:commandButton id="update"
value="Save"
action="${'#'}{${homeName}.update}"
rendered="${'#'}{${homeName}.managed}"/>
- <ice:commandButton id="delete${homeName}"
+ <ice:commandButton id="delete"
value="Delete"
action="${'#'}{${homeName}.remove}"
immediate="true"
rendered="${'#'}{${homeName}.managed}"/>
- <s:button id="cancelEdit${homeName}" styleClass="iceCmdBtn"
+ <s:button id="cancelEdit" styleClass="iceCmdBtn"
value="Cancel"
propagation="end"
view="/${pageName}.xhtml"
@@ -157,7 +157,7 @@
<#if parentPojo.shortName!=pojo.shortName>
<div class="actionButtons">
<s:button value="Select ${property.name}"
- id="editSelectButton${property.name}Id"
+ id="selectParent"
view="/${parentPageName}List.xhtml">
<f:param name="from" value="${pageName}Edit"/>
</s:button>
Modified: trunk/seam-gen/icefaces/view/editproperty.xhtml.ftl
===================================================================
--- trunk/seam-gen/icefaces/view/editproperty.xhtml.ftl 2009-04-03 06:14:04 UTC (rev 10287)
+++ trunk/seam-gen/icefaces/view/editproperty.xhtml.ftl 2009-04-03 08:32:14 UTC (rev 10288)
@@ -10,7 +10,7 @@
<s:decorate id="${componentProperty.name}Field" template="layout/edit.xhtml">
<ui:define name="label">${label(componentProperty.name)}</ui:define>
<#if isDate(componentProperty)>
- <ice:selectInputDate id="${componentProperty.name}Id"
+ <ice:selectInputDate id="${componentProperty.name}"
renderAsPopup="true"
<#if propertyIsId>
disabled="${'#'}{${homeName}.managed}"
@@ -22,7 +22,7 @@
<s:convertDateTime type="date"/>
</ice:selectInputDate>
<#elseif isTime(componentProperty)>
- <ice:inputText id="${componentProperty.name}Id"
+ <ice:inputText id="${componentProperty.name}"
size="5"
<#if !column.nullable>
required="true"
@@ -31,7 +31,7 @@
<s:convertDateTime type="time"/>
</ice:inputText>
<#elseif isTimestamp(componentProperty)>
- <ice:inputText id="${componentProperty.name}Id"
+ <ice:inputText id="${componentProperty.name}"
size="16"
<#if !column.nullable>
required="true"
@@ -40,7 +40,7 @@
<s:convertDateTime type="both" dateStyle="short"/>
</ice:inputText>
<#elseif isBigDecimal(componentProperty)>
- <ice:inputText id="${componentProperty.name}Id"
+ <ice:inputText id="${componentProperty.name}"
partialSubmit="true"
<#if !column.nullable>
required="true"
@@ -49,7 +49,7 @@
size="${column.precision+7}">
</ice:inputText>
<#elseif isBigInteger(componentProperty)>
- <ice:inputText id="${componentProperty.name}Id"
+ <ice:inputText id="${componentProperty.name}"
partialSubmit="true"
<#if propertyIsId>
disabled="${'#'}{${homeName}.managed}"
@@ -125,7 +125,7 @@
<s:decorate id="${property.name}Field" template="layout/edit.xhtml">
<ui:define name="label">${label(property.name)}</ui:define>
<#if isDate(property)>
- <ice:selectInputDate id="${property.name}Id"
+ <ice:selectInputDate id="${property.name}"
renderAsPopup="true"
<#if propertyIsId>
@@ -138,7 +138,7 @@
<s:convertDateTime type="date"/>
</ice:selectInputDate>
<#elseif isTime(property)>
- <ice:inputText id="${property.name}Id"
+ <ice:inputText id="${property.name}"
size="5"
partialSubmit="true"
<#if !column.nullable>
@@ -148,7 +148,7 @@
<s:convertDateTime type="time"/>
</ice:inputText>
<#elseif isTimestamp(property)>
- <ice:inputText id="${property.name}Id"
+ <ice:inputText id="${property.name}"
size="16"
partialSubmit="true"
<#if !column.nullable>
@@ -158,7 +158,7 @@
<s:convertDateTime type="both" dateStyle="short"/>
</ice:inputText>
<#elseif isBigDecimal(property)>
- <ice:inputText id="${property.name}Id"
+ <ice:inputText id="${property.name}"
partialSubmit="true"
<#if !column.nullable>
required="true"
@@ -167,7 +167,7 @@
size="${column.precision+7}">
</ice:inputText>
<#elseif isBigInteger(property)>
- <ice:inputText id="${property.name}Id"
+ <ice:inputText id="${property.name}"
partialSubmit="true"
<#if propertyIsId>
disabled="${'#'}{${homeName}.managed}"
@@ -178,7 +178,7 @@
value="${'#'}{${homeName}.instance.${property.name}}"
size="${column.precision+6}"/>
<#elseif isBoolean(property)>
- <ice:selectBooleanCheckbox id="${property.name}Id"
+ <ice:selectBooleanCheckbox id="${property.name}"
partialSubmit="true"
<#if !column.nullable>
required="true"
@@ -210,7 +210,7 @@
<#else>
<#assign size = column.length>
</#if>
- <ice:inputText id="${property.name}Id"
+ <ice:inputText id="${property.name}"
partialSubmit="true"
<#if propertyIsId>
disabled="${'#'}{${homeName}.managed}"
@@ -224,7 +224,7 @@
</ice:inputText>
</#if>
<#else>
- <ice:inputText id="${property.name}Id"
+ <ice:inputText id="${property.name}"
partialSubmit="true"
<#if !column.nullable>
required="true"
Modified: trunk/seam-gen/icefaces/view/form.xhtml
===================================================================
--- trunk/seam-gen/icefaces/view/form.xhtml 2009-04-03 06:14:04 UTC (rev 10287)
+++ trunk/seam-gen/icefaces/view/form.xhtml 2009-04-03 08:32:14 UTC (rev 10288)
@@ -10,7 +10,7 @@
<ui:define name="body">
- <ice:form id="@componentName@formId">
+ <ice:form id="@componentName@Form">
<ice:panelGroup id="formSearchGroupId" styleClass="formBorderHighlight">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
Modified: trunk/seam-gen/icefaces/view/layout/menu.xhtml.ftl
===================================================================
--- trunk/seam-gen/icefaces/view/layout/menu.xhtml.ftl 2009-04-03 06:14:04 UTC (rev 10287)
+++ trunk/seam-gen/icefaces/view/layout/menu.xhtml.ftl 2009-04-03 08:32:14 UTC (rev 10288)
@@ -26,7 +26,7 @@
<ice:panelGroup id="rightMenuId">
<h:outputText id="menuWelcomeId" value="signed in as: ${'#'}{credentials.username}" rendered="${'#'}{identity.loggedIn}"/>
<s:link view="/login.xhtml" id="menuLoginId" value="Login" rendered="${'#'}{not identity.loggedIn}" propagation="none"/>
- <s:link view="/home.xhtml" id="menulogoutId" action="${'#'}{identity.logout}" value="Logout" rendered="${'#'}{identity.loggedIn}" propagation="none"/>
+ <s:link view="/home.xhtml" id="menuLogoutId" action="${'#'}{identity.logout}" value="Logout" rendered="${'#'}{identity.loggedIn}" propagation="none"/>
</ice:panelGroup>
</ice:panelGrid>
</td>
Modified: trunk/seam-gen/icefaces/view/list.xhtml.ftl
===================================================================
--- trunk/seam-gen/icefaces/view/list.xhtml.ftl 2009-04-03 06:14:04 UTC (rev 10287)
+++ trunk/seam-gen/icefaces/view/list.xhtml.ftl 2009-04-03 08:32:14 UTC (rev 10288)
@@ -19,7 +19,7 @@
<ui:define name="body">
- <ice:form id="list${componentName}FormId" styleClass="edit">
+ <ice:form id="${componentName}Search" styleClass="edit">
<ice:panelGroup id="searchGroup" styleClass="formBorderHighlight">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
@@ -37,7 +37,7 @@
<#if isString(componentProperty)>
<s:decorate id="${componentProperty.name}decId" template="layout/display.xhtml">
<ui:define name="label">${label(componentProperty.name)}</ui:define>
- <ice:inputText id="${componentProperty.name}TextId"
+ <ice:inputText id="${componentProperty.name}"
value="${'#'}{${listName}.${componentName}.${property.name}.${componentProperty.name}}"
partialSubmit="true"/>
</s:decorate>
@@ -48,7 +48,7 @@
<#if isString(property)>
<s:decorate id="${property.name}decId" template="layout/display.xhtml">
<ui:define name="label">${label(property.name)}</ui:define>
- <ice:inputText id="list${property.name}TextId"
+ <ice:inputText id="${property.name}"
value="${'#'}{${listName}.${componentName}.${property.name}}"
partialSubmit="true"/>
</s:decorate>
@@ -63,7 +63,7 @@
<div class="actionButtons">
- <ice:commandButton id="listSearchButtonId" value="Search" action="/${listPageName}.xhtml"/>
+ <ice:commandButton id="search" value="Search" action="/${listPageName}.xhtml"/>
</div>
</ice:panelGroup>
</ice:form>
@@ -76,7 +76,7 @@
<ice:outputText value="The ${componentName} search returned no results."
rendered="${'#'}{empty ${listName}.resultList}"/>
- <ice:dataTable id="${listName}TableId"
+ <ice:dataTable id="${listName}"
var="${componentName}"
value="${'#'}{${listName}.resultList}"
resizable="true"
@@ -146,7 +146,7 @@
<f:facet name="header">Action</f:facet>
<s:link view="/${'#'}{empty from ? '${pageName}' : from}.xhtml"
value="${'#'}{empty from ? 'View' : 'Select'}"
- id="list${componentName}ViewId">
+ id="${componentName}">
<#if pojo.isComponent(pojo.identifierProperty)>
<#foreach componentProperty in pojo.identifierProperty.value.propertyIterator>
<f:param name="${componentName}${componentProperty.name?cap_first}"
@@ -158,10 +158,10 @@
</#if>
</s:link>
${'#'}{' '}
- <s:link view="/${editPageName}.xhtml"
+ <s:link view="/${editPageName}.xhtml"
value="Edit"
- id="list${componentName}EditId"
- rendered="${'#'}{empty from}">
+ id="${componentName}Edit"
+ rendered="${'#'}{empty from}">
<#if pojo.isComponent(pojo.identifierProperty)>
<#foreach componentProperty in pojo.identifierProperty.value.propertyIterator>
<f:param name="${componentName}${componentProperty.name?cap_first}"
@@ -215,7 +215,7 @@
<s:div styleClass="actionButtons" rendered="${'#'}{empty from}">
<s:button view="/${editPageName}.xhtml"
- id="listCreate${componentName}Id"
+ id="create"
value="Create ${componentName}">
<#assign idName = componentName + pojo.identifierProperty.name?cap_first>
<#if c2j.isComponent(pojo.identifierProperty)>
Modified: trunk/seam-gen/icefaces/view/login.xhtml
===================================================================
--- trunk/seam-gen/icefaces/view/login.xhtml 2009-04-03 06:14:04 UTC (rev 10287)
+++ trunk/seam-gen/icefaces/view/login.xhtml 2009-04-03 08:32:14 UTC (rev 10288)
@@ -10,7 +10,7 @@
<ui:define name="body">
- <ice:form id="loginFormId">
+ <ice:form id="loginForm">
<ice:panelGroup id="loginPanelGroupId" styleClass="formBorderHighlight">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
@@ -39,7 +39,7 @@
</ice:panelGroup>
<div class="actionButtons">
- <ice:commandButton id="loginButtonId" value="Login" action="#{identity.login}"/>
+ <ice:commandButton id="submit" value="Login" action="#{identity.login}"/>
</div>
</ice:form>
Modified: trunk/seam-gen/icefaces/view/view.xhtml.ftl
===================================================================
--- trunk/seam-gen/icefaces/view/view.xhtml.ftl 2009-04-03 06:14:04 UTC (rev 10287)
+++ trunk/seam-gen/icefaces/view/view.xhtml.ftl 2009-04-03 08:32:14 UTC (rev 10288)
@@ -39,11 +39,11 @@
<div id="view${editPageName}searchButtons" class="actionButtons">
<s:button view="/${editPageName}.xhtml"
- id="viewEdit${editPageName}" styleClass="iceCmdBtn"
+ id="edit" styleClass="iceCmdBtn"
value="Edit"/>
<s:button view="/${'#'}{empty ${componentName}From ? '${masterPageName}' : ${componentName}From}.xhtml"
- id="viewDone${editPageName}" styleClass="iceCmdBtn"
+ id="done" styleClass="iceCmdBtn"
value="Done"/>
</div>
Modified: trunk/seam-gen/view/edit.xhtml.ftl
===================================================================
--- trunk/seam-gen/view/edit.xhtml.ftl 2009-04-03 06:14:04 UTC (rev 10287)
+++ trunk/seam-gen/view/edit.xhtml.ftl 2009-04-03 08:32:14 UTC (rev 10288)
@@ -133,7 +133,7 @@
<#if parentPojo.shortName!=pojo.shortName>
<div class="actionButtons">
- <s:button value="${'#'}{${homeName}.instance.${property.name} != null ? 'Change' : 'Select'} ${property.name}"
+ <s:button id="${'#'}{${homeName}.instance.${property.name} != null ? 'changeParent' : 'selectParent'}" value="${'#'}{${homeName}.instance.${property.name} != null ? 'Change' : 'Select'} ${property.name}"
view="/${parentPageName}List.xhtml">
<f:param name="from" value="${pageName}Edit"/>
</s:button>
Modified: trunk/seam-gen/view/layout/menu.xhtml
===================================================================
--- trunk/seam-gen/view/layout/menu.xhtml 2009-04-03 06:14:04 UTC (rev 10287)
+++ trunk/seam-gen/view/layout/menu.xhtml 2009-04-03 08:32:14 UTC (rev 10288)
@@ -7,12 +7,12 @@
xmlns:rich="http://richfaces.org/rich">
<rich:toolBarGroup>
<h:outputText value="#{projectName}:"/>
- <s:link view="/home.xhtml" value="Home" propagation="none"/>
+ <s:link id="menuHomeId" view="/home.xhtml" value="Home" propagation="none"/>
</rich:toolBarGroup>
<!-- @newMenuItem@ -->
<rich:toolBarGroup location="right">
- <h:outputText value="signed in as: #{credentials.username}" rendered="#{identity.loggedIn}"/>
- <s:link view="/login.xhtml" value="Login" rendered="#{not identity.loggedIn}" propagation="none"/>
- <s:link view="/home.xhtml" action="#{identity.logout}" value="Logout" rendered="#{identity.loggedIn}" propagation="none"/>
+ <h:outputText id="menuWelcomeId" value="signed in as: #{credentials.username}" rendered="#{identity.loggedIn}"/>
+ <s:link id="menuLoginId" view="/login.xhtml" value="Login" rendered="#{not identity.loggedIn}" propagation="none"/>
+ <s:link id="menuLogoutId" view="/home.xhtml" action="#{identity.logout}" value="Logout" rendered="#{identity.loggedIn}" propagation="none"/>
</rich:toolBarGroup>
</rich:toolBar>
Modified: trunk/seam-gen/view/layout/menu.xhtml.ftl
===================================================================
--- trunk/seam-gen/view/layout/menu.xhtml.ftl 2009-04-03 06:14:04 UTC (rev 10287)
+++ trunk/seam-gen/view/layout/menu.xhtml.ftl 2009-04-03 08:32:14 UTC (rev 10288)
@@ -7,23 +7,24 @@
xmlns:rich="http://richfaces.org/rich">
<rich:toolBarGroup>
<h:outputText value="${'#'}{projectName}:"/>
- <s:link view="/home.xhtml" value="Home" propagation="none"/>
+ <s:link id="menuHomeId" view="/home.xhtml" value="Home" propagation="none"/>
</rich:toolBarGroup>
<rich:dropDownMenu showDelay="250" hideDelay="0" submitMode="none">
<f:facet name="label">Browse data</f:facet>
<#foreach entity in c2j.getPOJOIterator(cfg.classMappings)>
- <rich:menuItem>
- <s:link view="/${entity.shortName}List.xhtml"
- value="${entity.shortName} List"
- includePageParams="false"
- propagation="none"/>
- </rich:menuItem>
+ <rich:menuItem>
+ <s:link view="/${entity.shortName}List.xhtml"
+ value="${entity.shortName} List"
+ id="${entity.shortName}Id"
+ includePageParams="false"
+ propagation="none"/>
+ </rich:menuItem>
</#foreach>
</rich:dropDownMenu>
<!-- @newMenuItem@ -->
<rich:toolBarGroup location="right">
- <h:outputText value="signed in as: ${'#'}{credentials.username}" rendered="${'#'}{identity.loggedIn}"/>
- <s:link view="/login.xhtml" value="Login" rendered="${'#'}{not identity.loggedIn}" propagation="none"/>
- <s:link view="/home.xhtml" action="${'#'}{identity.logout}" value="Logout" rendered="${'#'}{identity.loggedIn}" propagation="none"/>
+ <h:outputText id="menuWelcomeId" value="signed in as: ${'#'}{credentials.username}" rendered="${'#'}{identity.loggedIn}"/>
+ <s:link id="menuLoginId" view="/login.xhtml" value="Login" rendered="${'#'}{not identity.loggedIn}" propagation="none"/>
+ <s:link id="menuLogoutId" view="/home.xhtml" action="${'#'}{identity.logout}" value="Logout" rendered="${'#'}{identity.loggedIn}" propagation="none"/>
</rich:toolBarGroup>
</rich:toolBar>
Modified: trunk/seam-gen/view/list.xhtml.ftl
===================================================================
--- trunk/seam-gen/view/list.xhtml.ftl 2009-04-03 06:14:04 UTC (rev 10287)
+++ trunk/seam-gen/view/list.xhtml.ftl 2009-04-03 08:32:14 UTC (rev 10288)
@@ -133,7 +133,7 @@
<s:link view="/${'#'}{empty from ? '${pageName}' : from}.xhtml"
value="${'#'}{empty from ? 'View' : 'Select'}"
propagation="${'#'}{empty from ? 'none' : 'default'}"
- id="${componentName}">
+ id="${componentName}ViewId">
<#if pojo.isComponent(pojo.identifierProperty)>
<#foreach componentProperty in pojo.identifierProperty.value.propertyIterator>
<f:param name="${componentName}${componentProperty.name?cap_first}"
Modified: trunk/seam-gen/view/login.xhtml
===================================================================
--- trunk/seam-gen/view/login.xhtml 2009-04-03 06:14:04 UTC (rev 10287)
+++ trunk/seam-gen/view/login.xhtml 2009-04-03 08:32:14 UTC (rev 10288)
@@ -10,7 +10,7 @@
<ui:define name="body">
- <h:form id="login">
+ <h:form id="loginForm">
<rich:panel>
<f:facet name="header">Login</f:facet>
@@ -38,7 +38,7 @@
</rich:panel>
<div class="actionButtons">
- <h:commandButton value="Login" action="#{identity.login}"/>
+ <h:commandButton id="submit" value="Login" action="#{identity.login}"/>
</div>
</h:form>
15 years, 7 months
Seam SVN: r10287 - branches/community/Seam_2_0/src/main/org/jboss/seam/core.
by seam-commits@lists.jboss.org
Author: dan.j.allen
Date: 2009-04-03 02:14:04 -0400 (Fri, 03 Apr 2009)
New Revision: 10287
Modified:
branches/community/Seam_2_0/src/main/org/jboss/seam/core/BijectionInterceptor.java
Log:
JBSEAM-3361 roll back all changes to BijectionInterceptor in 2.0 branch; too big a change for a point release
Modified: branches/community/Seam_2_0/src/main/org/jboss/seam/core/BijectionInterceptor.java
===================================================================
--- branches/community/Seam_2_0/src/main/org/jboss/seam/core/BijectionInterceptor.java 2009-04-03 05:57:46 UTC (rev 10286)
+++ branches/community/Seam_2_0/src/main/org/jboss/seam/core/BijectionInterceptor.java 2009-04-03 06:14:04 UTC (rev 10287)
@@ -1,9 +1,6 @@
//$Id$
package org.jboss.seam.core;
-import java.lang.reflect.Method;
-import java.util.concurrent.locks.ReentrantLock;
-
import org.jboss.seam.Component;
import org.jboss.seam.annotations.intercept.AroundInvoke;
import org.jboss.seam.annotations.intercept.Interceptor;
@@ -11,128 +8,52 @@
import org.jboss.seam.intercept.InvocationContext;
import org.jboss.seam.log.LogProvider;
import org.jboss.seam.log.Logging;
-import org.jboss.seam.util.Reflections;
/**
* Before invoking the component, inject all dependencies. After
* invoking, outject dependencies back into their context.
*
* @author Gavin King
- * @author Shane Bryzak
*/
@Interceptor
public class BijectionInterceptor extends AbstractInterceptor
{
private static final long serialVersionUID = 4686458105931528659L;
-
+
private static final LogProvider log = Logging.getLogProvider(BijectionInterceptor.class);
- private boolean injected;
+ private boolean reentrant; //OK, since all Seam components are single-threaded
- private boolean injecting;
-
- private int counter = 0;
-
- private ReentrantLock lock = new ReentrantLock();
-
- private String initialMethod;
-
@AroundInvoke
public Object aroundInvoke(InvocationContext invocation) throws Exception
{
- Component component = getComponent();
- Method method = invocation.getMethod();
- boolean enforceRequired = !component.isLifecycleMethod( method );
-
- try
- {
- lock.lock();
- try
+ if (reentrant)
+ {
+ if ( log.isTraceEnabled() )
{
- if (!injected)
- {
- if (injecting)
- {
- log.warn("Injecting dependencies into " + component.getName() + " for the invocation of "
- + initialMethod + " caused the invocation of a reentrant method: " + Reflections.toString(method)
- + ". Some injected dependencies may not be available for the duration of this method invocation.");
- }
- else
- {
- injecting = true;
- try
- {
- initialMethod = Reflections.toString(method);
- component.inject(invocation.getTarget(), enforceRequired);
- }
- finally
- {
- injecting = false;
- initialMethod = null;
- }
- }
- injected = true;
- }
-
- counter++;
+ log.trace("reentrant call to component: " + getComponent().getName() );
}
- finally
- {
- lock.unlock();
- }
-
- Object result = invocation.proceed();
-
- lock.lock();
+ return invocation.proceed();
+ }
+ else
+ {
+ reentrant = true;
try
{
- counter--;
+ Component component = getComponent();
+ boolean enforceRequired = !component.isLifecycleMethod( invocation.getMethod() );
+ component.inject( invocation.getTarget(), enforceRequired );
+ Object result = invocation.proceed();
+ component.outject( invocation.getTarget(), enforceRequired );
+ component.disinject( invocation.getTarget() );
+ return result;
- if (counter == 0)
- {
- try
- {
- component.outject( invocation.getTarget(), enforceRequired );
- }
- finally
- {
- // Avoid an extra lock by disinjecting here instead of the finally block
- if (injected)
- {
- injected = false;
- component.disinject( invocation.getTarget() );
- }
- }
- }
}
finally
{
- lock.unlock();
+ reentrant = false;
}
-
- return result;
}
- finally
- {
- if (injected)
- {
- lock.lock();
- try
- {
- counter--;
-
- if (counter == 0)
- {
- injected = false;
- component.disinject( invocation.getTarget() );
- }
- }
- finally
- {
- lock.unlock();
- }
- }
- }
}
-
+
}
15 years, 7 months
Seam SVN: r10286 - branches/community/Seam_2_0/examples/wiki/src/main/org/jboss/seam/wiki/core/ui.
by seam-commits@lists.jboss.org
Author: dan.j.allen
Date: 2009-04-03 01:57:46 -0400 (Fri, 03 Apr 2009)
New Revision: 10286
Modified:
branches/community/Seam_2_0/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/Converters.java
Log:
add required @BypassInterceptors annotation on converter
Modified: branches/community/Seam_2_0/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/Converters.java
===================================================================
--- branches/community/Seam_2_0/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/Converters.java 2009-04-03 05:21:03 UTC (rev 10285)
+++ branches/community/Seam_2_0/examples/wiki/src/main/org/jboss/seam/wiki/core/ui/Converters.java 2009-04-03 05:57:46 UTC (rev 10286)
@@ -80,6 +80,7 @@
@Name("accessLevelConverter")
@org.jboss.seam.annotations.faces.Converter(forClass = Role.AccessLevel.class)
+ @BypassInterceptors
public static class AccessLevelConverter implements Converter, Serializable {
public Object getAsObject(FacesContext arg0,
15 years, 7 months
Seam SVN: r10285 - in trunk/seam-gen: icefaces/view and 2 other directories.
by seam-commits@lists.jboss.org
Author: dan.j.allen
Date: 2009-04-03 01:21:03 -0400 (Fri, 03 Apr 2009)
New Revision: 10285
Added:
trunk/seam-gen/icefaces/view/useradmin/
trunk/seam-gen/icefaces/view/useradmin/roledetail.xhtml
trunk/seam-gen/icefaces/view/useradmin/rolemanager.xhtml
trunk/seam-gen/icefaces/view/useradmin/userdetail.xhtml
trunk/seam-gen/icefaces/view/useradmin/usermanager.xhtml
Modified:
trunk/seam-gen/build.xml
trunk/seam-gen/view/stylesheet/useradmin.css
Log:
JBSEAM-3717 icefaces support
Modified: trunk/seam-gen/build.xml
===================================================================
--- trunk/seam-gen/build.xml 2009-04-03 05:20:11 UTC (rev 10284)
+++ trunk/seam-gen/build.xml 2009-04-03 05:21:03 UTC (rev 10285)
@@ -600,7 +600,6 @@
<include name="hibernatetools/**"/>
<include name="lib/**"/>
<include name="resources/**"/>
- <exclude name="resources/*identity-management*"/>
<include name="pojo/**"/>
<include name="src/**"/>
<include name="test/**"/>
@@ -613,7 +612,6 @@
<include name="build-scripts/**"/>
<include name="ide-project-files/**"/>
<include name="resources/**"/>
- <exclude name="resources/*identity-management*"/>
<include name="src/**"/>
<include name="view/**"/>
</fileset>
@@ -1201,7 +1199,6 @@
<target name="add-identity-management" depends="validate-project" if="project.exists"
description="Add Seam's identity management components and views to the project.">
- <fail message="Currently the identity management is only configured to support RichFaces projects" if="icefaces.property"/>
<copy todir="${project.home}/view">
<fileset dir="${templates.dir}/view">
<include name="useradmin/**"/>
Added: trunk/seam-gen/icefaces/view/useradmin/roledetail.xhtml
===================================================================
--- trunk/seam-gen/icefaces/view/useradmin/roledetail.xhtml (rev 0)
+++ trunk/seam-gen/icefaces/view/useradmin/roledetail.xhtml 2009-04-03 05:21:03 UTC (rev 10285)
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ice="http://www.icesoft.com/icefaces/component"
+ xmlns:s="http://jboss.com/products/seam/taglib"
+ template="/layout/template.xhtml">
+
+ <ui:define name="head">
+ <link href="../stylesheet/useradmin.css" rel="stylesheet" type="text/css"/>
+ </ui:define>
+
+ <ui:define name="body">
+
+ <h1>Role Details</h1>
+
+ <ice:form id="roleForm">
+
+ <ice:panelGroup>
+ <s:decorate id="roleField" template="/layout/edit.xhtml">
+ <ui:define name="label">Role</ui:define>
+ <ice:inputText id="role" value="#{roleAction.role}" readonly="#{identityManager.userExists(roleAction.role)}"/>
+ </s:decorate>
+
+ <s:decorate id="groupsField" template="/layout/edit.xhtml">
+ <ui:define name="label">Member of groups</ui:define>
+ <div class="selectMany">
+ <ice:selectManyCheckbox id="groups" value="#{roleAction.groups}" layout="pageDirection" styleClass="roles">
+ <s:selectItems value="#{roleAction.assignableRoles}" var="_role" label="#{_role}"/>
+ </ice:selectManyCheckbox>
+ </div>
+ </s:decorate>
+
+ <div style="clear: both;"/>
+
+ </ice:panelGroup>
+
+ <div class="actionButtons">
+ <ice:commandButton id="save" value="Save" action="#{roleAction.save}"/>
+ <s:button id="cancel" view="/useradmin/rolemanager.xhtml" value="Cancel" propagation="end"/>
+ </div>
+
+ </ice:form>
+
+ </ui:define>
+
+</ui:composition>
Added: trunk/seam-gen/icefaces/view/useradmin/rolemanager.xhtml
===================================================================
--- trunk/seam-gen/icefaces/view/useradmin/rolemanager.xhtml (rev 0)
+++ trunk/seam-gen/icefaces/view/useradmin/rolemanager.xhtml 2009-04-03 05:21:03 UTC (rev 10285)
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:s="http://jboss.com/products/seam/taglib"
+ xmlns:ice="http://www.icesoft.com/icefaces/component"
+ template="/layout/template.xhtml">
+
+ <ui:define name="head">
+ <link href="../stylesheet/useradmin.css" rel="stylesheet" type="text/css"/>
+ <script type="text/javascript">
+function confirmDelete()
+{
+ return confirm("Are you sure you wish to delete this role? This action cannot be undone.");
+}
+ </script>
+ </ui:define>
+
+ <ui:define name="body">
+
+ <h1>Role Manager</h1>
+
+ <s:button id="newRole" action="#{roleAction.createRole}" styleClass="newrole" rendered="#{s:hasPermission('seam.role', 'create', null)}"/>
+
+ <ice:form id="rolesCmdForm" prependId="false">
+ <ice:dataTable id="roles" var="_role" value="#{roles}"
+ styleClass="useradmin" headerClass="header" rowClasses="odd,even" columnClasses=",,action">
+ <ice:column id="role">
+ <f:facet name="header">Role</f:facet>
+ #{_role}
+ </ice:column>
+ <ice:column id="groups">
+ <f:facet name="header">Member of groups</f:facet>
+ #{roleSearch.getRoleGroups(_role)}
+ </ice:column>
+ <ice:column id="action">
+ <f:facet name="header">Action</f:facet>
+ <s:fragment rendered="#{s:hasPermission('seam.role', 'update')}">
+ <ice:commandLink id="edit" value="Edit" action="#{roleAction.editRole(roleSearch.selectedRole)}"/><span> | </span>
+ </s:fragment>
+ <ice:commandLink id="delete" value="Delete" action="#{identityManager.deleteRole(roleSearch.selectedRole)}"
+ rendered="#{s:hasPermission('seam.role', 'delete')}" onclick="if (!confirmDelete()) return;"/>
+ </ice:column>
+ </ice:dataTable>
+ </ice:form>
+
+ </ui:define>
+
+</ui:composition>
Added: trunk/seam-gen/icefaces/view/useradmin/userdetail.xhtml
===================================================================
--- trunk/seam-gen/icefaces/view/useradmin/userdetail.xhtml (rev 0)
+++ trunk/seam-gen/icefaces/view/useradmin/userdetail.xhtml 2009-04-03 05:21:03 UTC (rev 10285)
@@ -0,0 +1,64 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ice="http://www.icesoft.com/icefaces/component"
+ xmlns:s="http://jboss.com/products/seam/taglib"
+ template="/layout/template.xhtml">
+
+ <ui:define name="head">
+ <link href="../stylesheet/useradmin.css" rel="stylesheet" type="text/css"/>
+ </ui:define>
+
+ <ui:define name="body">
+
+ <h1>User Details</h1>
+
+ <ice:form id="userForm">
+
+ <ice:panelGroup styleClass="useradmin">
+ <s:decorate id="usernameField" template="/layout/edit.xhtml">
+ <ui:define name="label">Username</ui:define>
+ <ice:inputText id="username" value="#{userAction.username}" readonly="#{identityManager.userExists(userAction.username)}"/>
+ </s:decorate>
+
+ <s:decorate id="passwordField" template="/layout/edit.xhtml">
+ <ui:define name="label">Password</ui:define>
+ <ice:inputSecret id="password" value="#{userAction.password}"/>
+ </s:decorate>
+
+ <s:decorate id="confirmField" template="/layout/edit.xhtml">
+ <ui:define name="label">Confirm password</ui:define>
+ <ice:inputSecret id="confirm" value="#{userAction.confirm}"/>
+ </s:decorate>
+
+ <s:decorate id="rolesField" template="/layout/edit.xhtml">
+ <ui:define name="label">Member of roles</ui:define>
+ <div class="selectMany">
+ <ice:selectManyCheckbox id="roles" value="#{userAction.roles}" layout="pageDirection" styleClass="roles">
+ <s:selectItems value="#{identityManager.listGrantableRoles()}" var="_role" label="#{_role}"/>
+ </ice:selectManyCheckbox>
+ </div>
+ </s:decorate>
+
+ <s:decorate id="enabledField" template="/layout/edit.xhtml">
+ <ui:define name="label">Account enabled</ui:define>
+ <ice:selectBooleanCheckbox id="enabled" value="#{userAction.enabled}"/>
+ </s:decorate>
+
+ <div style="clear:both"/>
+
+ </ice:panelGroup>
+
+ <div class="actionButtons">
+ <ice:commandButton id="save" value="Save" action="#{userAction.save}"/>
+ <s:button id="cancel" view="/useradmin/usermanager.xhtml" value="Cancel" propagation="end"/>
+ </div>
+
+ </ice:form>
+
+ </ui:define>
+
+</ui:composition>
Added: trunk/seam-gen/icefaces/view/useradmin/usermanager.xhtml
===================================================================
--- trunk/seam-gen/icefaces/view/useradmin/usermanager.xhtml (rev 0)
+++ trunk/seam-gen/icefaces/view/useradmin/usermanager.xhtml 2009-04-03 05:21:03 UTC (rev 10285)
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:s="http://jboss.com/products/seam/taglib"
+ xmlns:ice="http://www.icesoft.com/icefaces/component"
+ template="/layout/template.xhtml">
+
+ <ui:define name="head">
+ <link href="../stylesheet/useradmin.css" rel="stylesheet" type="text/css"/>
+
+ <script type="text/javascript">
+function confirmDelete()
+{
+ return confirm("Are you sure you wish to delete this user? This action cannot be undone.");
+}
+ </script>
+ </ui:define>
+
+ <ui:define name="body">
+
+ <h1>User Manager</h1>
+
+ <s:button id="newUser" action="#{userAction.createUser}" styleClass="newuser" rendered="#{s:hasPermission('seam.user', 'create')}"/>
+
+ <ice:form id="usersCmdForm">
+ <ice:dataTable id="users" var="_user" value="#{users}"
+ styleClass="useradmin" headerClass="header" rowClasses="odd,even" columnClasses=",,enabled,action">
+ <ice:column id="username">
+ <f:facet name="header">Username</f:facet>
+ #{_user}
+ </ice:column>
+ <ice:column id="roles">
+ <f:facet name="header">Member of roles</f:facet>
+ #{userSearch.getUserRoles(_user)}
+ </ice:column>
+ <ice:column id="enabled">
+ <f:facet name="header">Enabled</f:facet>
+ <div class="status-#{identityManager.isUserEnabled(_user)}"/>
+ </ice:column>
+ <ice:column id="action">
+ <f:facet name="header">Action</f:facet>
+ <s:fragment rendered="#{s:hasPermission('seam.user', 'update')}">
+ <ice:commandLink id="edit" value="Edit" action="#{userAction.editUser(userSearch.selectedUser)}"/><span> | </span>
+ </s:fragment>
+ <ice:commandLink id="delete" value="Delete" action="#{identityManager.deleteUser(userSearch.selectedUser)}"
+ rendered="#{s:hasPermission('seam.user', 'delete')}" onclick="if (!confirmDelete()) return;"/>
+ </ice:column>
+ </ice:dataTable>
+ </ice:form>
+
+ </ui:define>
+
+</ui:composition>
Modified: trunk/seam-gen/view/stylesheet/useradmin.css
===================================================================
--- trunk/seam-gen/view/stylesheet/useradmin.css 2009-04-03 05:20:11 UTC (rev 10284)
+++ trunk/seam-gen/view/stylesheet/useradmin.css 2009-04-03 05:21:03 UTC (rev 10285)
@@ -102,3 +102,11 @@
td.enabled {
text-align: center;
}
+
+fieldset.roles .roles {
+ border: none;
+}
+
+table.iceSelMnyCb td {
+ text-align: left;
+}
15 years, 7 months
Seam SVN: r10284 - trunk/seam-gen/icefaces/view/layout.
by seam-commits@lists.jboss.org
Author: dan.j.allen
Date: 2009-04-03 01:20:11 -0400 (Fri, 03 Apr 2009)
New Revision: 10284
Modified:
trunk/seam-gen/icefaces/view/layout/template.xhtml
Log:
fix path to stylesheet
update Seam project url
Modified: trunk/seam-gen/icefaces/view/layout/template.xhtml
===================================================================
--- trunk/seam-gen/icefaces/view/layout/template.xhtml 2009-04-03 05:19:45 UTC (rev 10283)
+++ trunk/seam-gen/icefaces/view/layout/template.xhtml 2009-04-03 05:20:11 UTC (rev 10284)
@@ -13,8 +13,8 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>@projectName@</title>
<link rel="shortcut icon" href="#{request.contextPath}/favicon.ico"/>
- <link rel='stylesheet' type='text/css' href='./xmlhttp/css/rime/rime.css'/>
- <link href="stylesheet/theme.css" rel="stylesheet" type="text/css" />
+ <link rel="stylesheet" type="text/css" href="#{request.contextPath}/xmlhttp/css/rime/rime.css"/>
+ <link rel="stylesheet" type="text/css" href="#{request.contextPath}/stylesheet/theme.css"/>
<ui:insert name="head"/>
</head>
<body>
@@ -33,7 +33,7 @@
<div class="footer">
<div style="margin-bottom: 5px;">
Powered by
- #{_}<a href="http://jboss.com/products/seam">Seam</a> and
+ #{_}<a href="http://seamframework.org">Seam</a> #{org.jboss.seam.version} and
#{_}<a href="http://icefaces.org">ICEfaces</a>
- Generated by icefaces-seam-gen
<ice:panelGroup rendered="#{identity.loggedIn}">
15 years, 7 months
Seam SVN: r10283 - trunk/seam-gen/view/layout.
by seam-commits@lists.jboss.org
Author: dan.j.allen
Date: 2009-04-03 01:19:45 -0400 (Fri, 03 Apr 2009)
New Revision: 10283
Modified:
trunk/seam-gen/view/layout/template.xhtml
Log:
update project urls
Modified: trunk/seam-gen/view/layout/template.xhtml
===================================================================
--- trunk/seam-gen/view/layout/template.xhtml 2009-04-03 04:34:41 UTC (rev 10282)
+++ trunk/seam-gen/view/layout/template.xhtml 2009-04-03 05:19:45 UTC (rev 10283)
@@ -27,7 +27,7 @@
<ui:insert name="body"/>
</div>
<div class="footer">
- <p>Powered by <a href="http://jboss.com/products/seam">Seam</a> #{org.jboss.seam.version}. Generated by seam-gen.</p>
+ <p>Powered by <a href="http://seamframework.org">Seam</a> #{org.jboss.seam.version} and <a href="http://www.jboss.org/jbossrichfaces">RichFaces</a>. Generated by seam-gen.</p>
<s:fragment rendered="#{init.debug}">
<a:log hotkey="D"/>
<p style="margin-top: -0.5em;">
15 years, 7 months
Seam SVN: r10282 - trunk/ui/src/main/java/org/jboss/seam/ui/component.
by seam-commits@lists.jboss.org
Author: dan.j.allen
Date: 2009-04-03 00:34:41 -0400 (Fri, 03 Apr 2009)
New Revision: 10282
Modified:
trunk/ui/src/main/java/org/jboss/seam/ui/component/UIToken.java
Log:
fix infinite loop searching for parent form
Modified: trunk/ui/src/main/java/org/jboss/seam/ui/component/UIToken.java
===================================================================
--- trunk/ui/src/main/java/org/jboss/seam/ui/component/UIToken.java 2009-04-03 04:18:49 UTC (rev 10281)
+++ trunk/ui/src/main/java/org/jboss/seam/ui/component/UIToken.java 2009-04-03 04:34:41 UTC (rev 10282)
@@ -1,5 +1,6 @@
package org.jboss.seam.ui.component;
+import javax.faces.component.UIComponent;
import javax.faces.component.UIForm;
import javax.faces.component.UIOutput;
@@ -112,10 +113,12 @@
}
public UIForm getParentForm() {
- while (getParent() != null) {
- if (getParent() instanceof UIForm) {
- return (UIForm) getParent();
+ UIComponent parent = getParent();
+ while (parent != null) {
+ if (parent instanceof UIForm) {
+ return (UIForm) parent;
}
+ parent = parent.getParent();
}
return null;
15 years, 7 months