Seam SVN: r13074 - in modules/security/trunk: impl/src/main/java/org/jboss/seam/security/management and 1 other directory.
by seam-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2010-06-07 01:38:30 -0400 (Mon, 07 Jun 2010)
New Revision: 13074
Modified:
modules/security/trunk/api/src/main/java/org/jboss/seam/security/annotations/management/IdentityProperty.java
modules/security/trunk/api/src/main/java/org/jboss/seam/security/annotations/management/PropertyType.java
modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/JpaIdentityStore.java
Log:
allow credentials to be annotated multiple ways
Modified: modules/security/trunk/api/src/main/java/org/jboss/seam/security/annotations/management/IdentityProperty.java
===================================================================
--- modules/security/trunk/api/src/main/java/org/jboss/seam/security/annotations/management/IdentityProperty.java 2010-06-07 04:12:51 UTC (rev 13073)
+++ modules/security/trunk/api/src/main/java/org/jboss/seam/security/annotations/management/IdentityProperty.java 2010-06-07 05:38:30 UTC (rev 13074)
@@ -19,4 +19,5 @@
@Inherited
public @interface IdentityProperty {
PropertyType value();
+ String attributeName() default "";
}
Modified: modules/security/trunk/api/src/main/java/org/jboss/seam/security/annotations/management/PropertyType.java
===================================================================
--- modules/security/trunk/api/src/main/java/org/jboss/seam/security/annotations/management/PropertyType.java 2010-06-07 04:12:51 UTC (rev 13073)
+++ modules/security/trunk/api/src/main/java/org/jboss/seam/security/annotations/management/PropertyType.java 2010-06-07 05:38:30 UTC (rev 13074)
@@ -6,5 +6,5 @@
*/
public enum PropertyType {
NAME, TYPE, VALUE, RELATIONSHIP_FROM, RELATIONSHIP_TO, CREDENTIAL,
- CREDENTIAL_TYPE
+ CREDENTIAL_TYPE, ATTRIBUTE
}
Modified: modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/JpaIdentityStore.java
===================================================================
--- modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/JpaIdentityStore.java 2010-06-07 04:12:51 UTC (rev 13073)
+++ modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/JpaIdentityStore.java 2010-06-07 05:38:30 UTC (rev 13074)
@@ -292,17 +292,51 @@
}
else
{
- Property<Object> p = findNamedProperty(credentialClass, "credentialValue",
- "password", "passwordHash", "credential", "value");
- if (p != null) modelProperties.put(PROPERTY_CREDENTIAL_VALUE, p);
+ // Try scanning for a credential property also
+ props = PropertyQueries.createQuery(credentialClass)
+ .addCriteria(new PropertyTypeCriteria(PropertyType.CREDENTIAL))
+ .getResultList();
+ if (props.size() == 1)
+ {
+ modelProperties.put(PROPERTY_CREDENTIAL_VALUE, props.get(0));
+ }
+ else if (props.size() > 1)
+ {
+ throw new IdentityManagementException(
+ "Ambiguous credential value property in credential class " +
+ credentialClass.getName());
+ }
+ else
+ {
+ Property<Object> p = findNamedProperty(credentialClass, "credentialValue",
+ "password", "passwordHash", "credential", "value");
+ if (p != null) modelProperties.put(PROPERTY_CREDENTIAL_VALUE, p);
+ }
}
}
else
{
- // The credentials may be stored in the identity class - let's search for it by name
- Property<Object> p = findNamedProperty(identityClass, "credentialValue",
- "password", "passwordHash", "credential", "value");
- if (p != null) modelProperties.put(PROPERTY_CREDENTIAL_VALUE, p);
+ // The credentials may be stored in the identity class
+ List<Property<Object>> props = PropertyQueries.createQuery(identityClass)
+ .addCriteria(new PropertyTypeCriteria(PropertyType.CREDENTIAL))
+ .getResultList();
+
+ if (props.size() == 1)
+ {
+ modelProperties.put(PROPERTY_CREDENTIAL_VALUE, props.get(0));
+ }
+ else if (props.size() > 1)
+ {
+ throw new IdentityManagementException(
+ "Ambiguous credential property in identity class " +
+ identityClass.getName());
+ }
+ else
+ {
+ Property<Object> p = findNamedProperty(identityClass, "credentialValue",
+ "password", "passwordHash", "credential", "value");
+ if (p != null) modelProperties.put(PROPERTY_CREDENTIAL_VALUE, p);
+ }
}
if (!modelProperties.containsKey(PROPERTY_CREDENTIAL_VALUE))
@@ -327,9 +361,26 @@
}
else
{
- Property<Object> p = findNamedProperty(credentialClass, "credentialType",
- "identityObjectCredentialType", "type");
- if (p != null) modelProperties.put(PROPERTY_CREDENTIAL_TYPE, p);
+ props = PropertyQueries.createQuery(credentialClass)
+ .addCriteria(new PropertyTypeCriteria(PropertyType.CREDENTIAL_TYPE))
+ .getResultList();
+
+ if (props.size() == 1)
+ {
+ modelProperties.put(PROPERTY_CREDENTIAL_TYPE, props.get(0));
+ }
+ else if (props.size() > 1)
+ {
+ throw new IdentityManagementException(
+ "Ambiguous credential type property in credential class " +
+ credentialClass.getName());
+ }
+ else
+ {
+ Property<Object> p = findNamedProperty(credentialClass, "credentialType",
+ "identityObjectCredentialType", "type");
+ if (p != null) modelProperties.put(PROPERTY_CREDENTIAL_TYPE, p);
+ }
}
Property<?> typeProp = modelProperties.get(PROPERTY_CREDENTIAL_TYPE);
@@ -565,6 +616,19 @@
protected void configureAttributes()
{
+ if (attributeClass != null)
+ {
+
+
+ }
+ else
+ {
+
+ }
+ }
+
+ protected void configureRoleTypeNames()
+ {
}
14 years
Seam SVN: r13073 - modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management.
by seam-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2010-06-07 00:12:51 -0400 (Mon, 07 Jun 2010)
New Revision: 13073
Modified:
modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/JpaIdentityStore.java
Log:
relationship configuration, cleanup
Modified: modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/JpaIdentityStore.java
===================================================================
--- modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/JpaIdentityStore.java 2010-06-05 17:38:46 UTC (rev 13072)
+++ modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/JpaIdentityStore.java 2010-06-07 04:12:51 UTC (rev 13073)
@@ -58,12 +58,17 @@
private static final String PROPERTY_CREDENTIAL_VALUE = "CREDENTIAL_VALUE";
private static final String PROPERTY_CREDENTIAL_TYPE = "CREDENTIAL_TYPE";
private static final String PROPERTY_CREDENTIAL_TYPE_NAME = "CREDENTIAL_TYPE_NAME";
+ private static final String PROPERTY_RELATIONSHIP_FROM = "RELATIONSHIP_FROM";
+ private static final String PROPERTY_RELATIONSHIP_TO = "RELATIONSHIP_TO";
+ private static final String PROPERTY_RELATIONSHIP_TYPE = "RELATIONSHIP_TYPE";
+ private static final String PROPERTY_RELATIONSHIP_TYPE_NAME = "RELATIONSHIP_TYPE_NAME";
+ private static final String PROPERTY_RELATIONSHIP_NAME = "RELATIONSHIP_NAME";
// Entity classes
private Class<?> identityClass;
- private Class<?> relationshipClass;
private Class<?> credentialClass;
+ private Class<?> relationshipClass;
private Class<?> attributeClass;
private Class<?> roleTypeClass;
@@ -138,33 +143,11 @@
}
else
{
- // No name property explicitly configured, let's query by property name
- String[] allowedNames = new String[] { "username", "userName", "name" };
- props = PropertyQueries.createQuery(identityClass)
- .addCriteria(new TypedPropertyCriteria(String.class))
- .addCriteria(new NamedPropertyCriteria(allowedNames))
- .getResultList();
-
- if (props.size() == 1)
+ Property<Object> p = findNamedProperty(identityClass, "username", "userName", "name");
+ if (p != null)
{
- // Bingo, use the name property
modelProperties.put(PROPERTY_IDENTITY_NAME, props.get(0));
}
- else if (props.size() > 1)
- {
- // multiple "name" properties found
- search: for (String name : allowedNames)
- {
- for (Property<Object> p : props)
- {
- if (name.equals(p.getName()))
- {
- modelProperties.put(PROPERTY_IDENTITY_NAME, p);
- break search;
- }
- }
- }
- }
else
{
// Last resort - check whether the entity class exposes a single String property
@@ -202,35 +185,15 @@
}
else
{
- // No type property explicitly configured, query by property name
- String[] allowedNames = new String[] { "identityObjectType",
+ Property<Object> p = findNamedProperty(identityClass, "identityObjectType",
"identityType", "identityObjectTypeName", "identityTypeName",
- "typeName", "discriminator", "accountType", "userType", "type" };
- props = PropertyQueries.createQuery(identityClass)
- .addCriteria(new NamedPropertyCriteria(allowedNames))
- .getResultList();
-
- if (props.size() == 1)
+ "typeName", "discriminator", "accountType", "userType", "type");
+ if (p != null)
{
modelProperties.put(PROPERTY_IDENTITY_TYPE, props.get(0));
}
- else if (props.size() > 1)
+ else
{
- search: for (String name : allowedNames)
- {
- for (Property<Object> p : props)
- {
- if (name.equals(p.getName()))
- {
- modelProperties.put(PROPERTY_IDENTITY_TYPE, p);
- break search;
- }
- }
- }
-
- }
- else if (props.isEmpty())
- {
// Last resort - let's check all properties, and try to find one
// with an entity type that has "type" in its name
props = PropertyQueries.createQuery(identityClass).getResultList();
@@ -241,7 +204,8 @@
typeProp.getJavaClass().getSimpleName().contains("Type")))
{
// we have a potential match, let's check if this entity has a name property
- Property<Object> nameProp = findIdentityTypeNameProperty(typeProp.getJavaClass());
+ Property<Object> nameProp = findNamedProperty(typeProp.getJavaClass(),
+ "identityObjectTypeName", "identityTypeName", "typeName", "name");
if (nameProp != null)
{
modelProperties.put(PROPERTY_IDENTITY_TYPE, typeProp);
@@ -264,7 +228,8 @@
!modelProperties.containsKey(PROPERTY_IDENTITY_TYPE_NAME))
{
// We're not dealing with a simple type name - validate the lookup type
- Property<Object> nameProp = findIdentityTypeNameProperty(typeProp.getJavaClass());
+ Property<Object> nameProp = findNamedProperty(typeProp.getJavaClass(),
+ "identityObjectTypeName", "identityTypeName", "typeName", "name");
if (nameProp != null)
{
modelProperties.put(PROPERTY_IDENTITY_TYPE_NAME, nameProp);
@@ -276,9 +241,9 @@
}
}
- protected Property<Object> findIdentityTypeNameProperty(Class<?> identityTypeClass)
+ protected Property<Object> findNamedProperty(Class<?> targetClass, String... allowedNames)
{
- List<Property<Object>> props = PropertyQueries.createQuery(identityTypeClass)
+ List<Property<Object>> props = PropertyQueries.createQuery(targetClass)
.addCriteria(new TypedPropertyCriteria(String.class))
.addCriteria(new PropertyTypeCriteria(PropertyType.NAME))
.getResultList();
@@ -289,8 +254,7 @@
}
else
{
- String[] allowedNames = new String[] { "identityObjectTypeName", "identityTypeName", "typeName", "name" };
- props = PropertyQueries.createQuery(identityTypeClass)
+ props = PropertyQueries.createQuery(targetClass)
.addCriteria(new TypedPropertyCriteria(String.class))
.addCriteria(new NamedPropertyCriteria(allowedNames))
.getResultList();
@@ -307,37 +271,6 @@
return null;
}
- protected Property<Object> findCredentialTypeNameProperty(Class<?> credentialTypeClass)
- {
- List<Property<Object>> props = PropertyQueries.createQuery(credentialTypeClass)
- .addCriteria(new TypedPropertyCriteria(String.class))
- .addCriteria(new PropertyTypeCriteria(PropertyType.NAME))
- .getResultList();
-
- if (props.size() == 1)
- {
- return props.get(0);
- }
- else
- {
- String[] allowedNames = new String[] { "credentialObjectTypeName", "credentialTypeName", "typeName", "name" };
- props = PropertyQueries.createQuery(credentialTypeClass)
- .addCriteria(new TypedPropertyCriteria(String.class))
- .addCriteria(new NamedPropertyCriteria(allowedNames))
- .getResultList();
-
- for (String name : allowedNames)
- {
- for (Property<Object> prop : props)
- {
- if (name.equals(prop.getName())) return prop;
- }
- }
- }
-
- return null;
- }
-
protected void configureCredentials()
{
// If a credential entity has been explicitly configured, scan it
@@ -359,29 +292,17 @@
}
else
{
- // Search for the value property by name
- String[] allowedNames = new String[] { "credentialValue", "password",
- "passwordHash", "credential", "value"};
- props = PropertyQueries.createQuery(credentialClass)
- .addCriteria(new NamedPropertyCriteria(allowedNames))
- .getResultList();
-
- search: for (String name : allowedNames)
- {
- for (Property<Object> prop : props)
- {
- if (name.equals(prop.getName()))
- {
- modelProperties.put(PROPERTY_CREDENTIAL_VALUE, prop);
- break search;
- }
- }
- }
+ Property<Object> p = findNamedProperty(credentialClass, "credentialValue",
+ "password", "passwordHash", "credential", "value");
+ if (p != null) modelProperties.put(PROPERTY_CREDENTIAL_VALUE, p);
}
}
else
{
- // TODO the credentials are stored somewhere else...
+ // The credentials may be stored in the identity class - let's search for it by name
+ Property<Object> p = findNamedProperty(identityClass, "credentialValue",
+ "password", "passwordHash", "credential", "value");
+ if (p != null) modelProperties.put(PROPERTY_CREDENTIAL_VALUE, p);
}
if (!modelProperties.containsKey(PROPERTY_CREDENTIAL_VALUE))
@@ -406,24 +327,9 @@
}
else
{
- // Search for the type property by name
- String[] allowedNames = new String[] { "credentialType",
- "identityObjectCredentialType", "type"};
- props = PropertyQueries.createQuery(credentialClass)
- .addCriteria(new NamedPropertyCriteria(allowedNames))
- .getResultList();
-
- search: for (String name : allowedNames)
- {
- for (Property<Object> prop : props)
- {
- if (name.equals(prop.getName()))
- {
- modelProperties.put(PROPERTY_CREDENTIAL_TYPE, prop);
- break search;
- }
- }
- }
+ Property<Object> p = findNamedProperty(credentialClass, "credentialType",
+ "identityObjectCredentialType", "type");
+ if (p != null) modelProperties.put(PROPERTY_CREDENTIAL_TYPE, p);
}
Property<?> typeProp = modelProperties.get(PROPERTY_CREDENTIAL_TYPE);
@@ -431,7 +337,8 @@
// If the credential type property isn't a String, then validate the lookup type
if (!String.class.equals(typeProp.getJavaClass()))
{
- Property<Object> nameProp = findCredentialTypeNameProperty(typeProp.getJavaClass());
+ Property<Object> nameProp = findNamedProperty(typeProp.getJavaClass(),
+ "credentialObjectTypeName", "credentialTypeName", "typeName", "name");
if (nameProp != null)
{
modelProperties.put(PROPERTY_CREDENTIAL_TYPE_NAME, nameProp);
@@ -440,14 +347,220 @@
{
throw new IdentityManagementException("Error initializing JpaIdentityStore - no valid credential type name property found.");
}
- }
-
+ }
}
protected void configureRelationships()
{
-
+ if (relationshipClass == null)
+ {
+ throw new IdentityManagementException("Error initializing JpaIdentityStore - relationshipClass not set.");
+ }
+
+ List<Property<Object>> props = PropertyQueries.createQuery(relationshipClass)
+ .addCriteria(new TypedPropertyCriteria(identityClass))
+ .addCriteria(new PropertyTypeCriteria(PropertyType.RELATIONSHIP_FROM))
+ .getResultList();
+
+ if (props.size() == 1)
+ {
+ modelProperties.put(PROPERTY_RELATIONSHIP_FROM, props.get(0));
+ }
+ else if (props.size() > 1)
+ {
+ throw new IdentityManagementException(
+ "Ambiguous relationshipFrom property in relationship class " +
+ relationshipClass.getName());
+ }
+ else
+ {
+ Property<Object> p = findNamedProperty(relationshipClass, "relationshipFrom",
+ "fromIdentityObject", "fromIdentity");
+ if (p != null)
+ {
+ modelProperties.put(PROPERTY_RELATIONSHIP_FROM, p);
+ }
+ else
+ {
+ // Last resort - search for a property with a type of identityClass
+ // and a "from" in its name
+ props = PropertyQueries.createQuery(relationshipClass)
+ .addCriteria(new TypedPropertyCriteria(identityClass))
+ .getResultList();
+
+ for (Property<Object> prop : props)
+ {
+ if (prop.getName().contains("from"))
+ {
+ modelProperties.put(PROPERTY_RELATIONSHIP_FROM, prop);
+ break;
+ }
+ }
+ }
+ }
+
+ props = PropertyQueries.createQuery(relationshipClass)
+ .addCriteria(new TypedPropertyCriteria(identityClass))
+ .addCriteria(new PropertyTypeCriteria(PropertyType.RELATIONSHIP_TO))
+ .getResultList();
+
+ if (props.size() == 1)
+ {
+ modelProperties.put(PROPERTY_RELATIONSHIP_TO, props.get(0));
+ }
+ else if (props.size() > 1)
+ {
+ throw new IdentityManagementException(
+ "Ambiguous relationshipTo property in relationship class " +
+ relationshipClass.getName());
+ }
+ else
+ {
+ Property<Object> p = findNamedProperty(relationshipClass, "relationshipTo",
+ "toIdentityObject", "toIdentity");
+ if (p != null)
+ {
+ modelProperties.put(PROPERTY_RELATIONSHIP_TO, p);
+ }
+ else
+ {
+ // Last resort - search for a property with a type of identityClass
+ // and a "to" in its name
+ props = PropertyQueries.createQuery(relationshipClass)
+ .addCriteria(new TypedPropertyCriteria(identityClass))
+ .getResultList();
+
+ for (Property<Object> prop : props)
+ {
+ if (prop.getName().contains("to"))
+ {
+ modelProperties.put(PROPERTY_RELATIONSHIP_TO, prop);
+ break;
+ }
+ }
+ }
+ }
+
+ props = PropertyQueries.createQuery(relationshipClass)
+ .addCriteria(new PropertyTypeCriteria(PropertyType.TYPE))
+ .getResultList();
+ if (props.size() == 1)
+ {
+ modelProperties.put(PROPERTY_RELATIONSHIP_TYPE, props.get(0));
+ }
+ else if (props.size() > 1)
+ {
+ throw new IdentityManagementException(
+ "Ambiguous relationshipType property in relationship class " +
+ relationshipClass.getName());
+ }
+ else
+ {
+ Property<Object> p = findNamedProperty(relationshipClass,
+ "identityRelationshipType", "relationshipType", "type");
+ if (p != null)
+ {
+ modelProperties.put(PROPERTY_RELATIONSHIP_TYPE, p);
+ }
+ else
+ {
+ props = PropertyQueries.createQuery(relationshipClass)
+ .getResultList();
+ for (Property<Object> prop : props)
+ {
+ if (prop.getName().contains("type"))
+ {
+ modelProperties.put(PROPERTY_RELATIONSHIP_TYPE, prop);
+ break;
+ }
+ }
+ }
+ }
+
+ props = PropertyQueries.createQuery(relationshipClass)
+ .addCriteria(new PropertyTypeCriteria(PropertyType.NAME))
+ .addCriteria(new TypedPropertyCriteria(String.class))
+ .getResultList();
+
+ if (props.size() == 1)
+ {
+ modelProperties.put(PROPERTY_RELATIONSHIP_NAME, props.get(0));
+ }
+ else if (props.size() > 1)
+ {
+ throw new IdentityManagementException(
+ "Ambiguous relationship name property in relationship class " +
+ relationshipClass.getName());
+ }
+ else
+ {
+ Property<Object> p = findNamedProperty(relationshipClass,
+ "relationshipName", "name");
+ if (p != null)
+ {
+ modelProperties.put(PROPERTY_RELATIONSHIP_NAME, p);
+ }
+ }
+
+ if (!modelProperties.containsKey(PROPERTY_RELATIONSHIP_FROM))
+ {
+ throw new IdentityManagementException(
+ "Error initializing JpaIdentityStore - no valid relationship from property found.");
+ }
+
+ if (!modelProperties.containsKey(PROPERTY_RELATIONSHIP_TO))
+ {
+ throw new IdentityManagementException(
+ "Error initializing JpaIdentityStore - no valid relationship to property found.");
+ }
+
+ if (!modelProperties.containsKey(PROPERTY_RELATIONSHIP_TYPE))
+ {
+ throw new IdentityManagementException(
+ "Error initializing JpaIdentityStore - no valid relationship type property found.");
+ }
+
+ if (!modelProperties.containsKey(PROPERTY_RELATIONSHIP_NAME))
+ {
+ throw new IdentityManagementException(
+ "Error initializing JpaIdentityStore - no valid relationship name property found.");
+ }
+
+ Class<?> typeClass = modelProperties.get(PROPERTY_RELATIONSHIP_TYPE).getJavaClass();
+ if (!String.class.equals(typeClass))
+ {
+ props = PropertyQueries.createQuery(typeClass)
+ .addCriteria(new PropertyTypeCriteria(PropertyType.NAME))
+ .addCriteria(new TypedPropertyCriteria(String.class))
+ .getResultList();
+
+ if (props.size() == 1)
+ {
+ modelProperties.put(PROPERTY_RELATIONSHIP_TYPE_NAME, props.get(0));
+ }
+ else if (props.size() > 1)
+ {
+ throw new IdentityManagementException(
+ "Ambiguous relationship type name property in class " +
+ typeClass.getName());
+ }
+ else
+ {
+ Property<Object> p = findNamedProperty(typeClass, "relationshipTypeName",
+ "typeName", "name");
+ if (p != null)
+ {
+ modelProperties.put(PROPERTY_RELATIONSHIP_TYPE_NAME, p);
+ }
+ }
+
+ if (!modelProperties.containsKey(PROPERTY_RELATIONSHIP_TYPE_NAME))
+ {
+ throw new IdentityManagementException(
+ "Error initializing JpaIdentityStore - no valid relationship type name property found");
+ }
+ }
}
protected void configureAttributes()
14 years
Seam SVN: r13072 - in dist/trunk: docs/src/main/docbook/en-US and 1 other directory.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-06-05 13:38:46 -0400 (Sat, 05 Jun 2010)
New Revision: 13072
Modified:
dist/trunk/dist/src/main/assembly/assembly.xml
dist/trunk/dist/src/main/assembly/readme.txt
dist/trunk/docs/src/main/docbook/en-US/intro.xml
Log:
shane's bugs
Modified: dist/trunk/dist/src/main/assembly/assembly.xml
===================================================================
--- dist/trunk/dist/src/main/assembly/assembly.xml 2010-06-05 03:32:54 UTC (rev 13071)
+++ dist/trunk/dist/src/main/assembly/assembly.xml 2010-06-05 17:38:46 UTC (rev 13072)
@@ -60,6 +60,7 @@
<useTransitiveDependencies>true</useTransitiveDependencies>
<excludes>
<exclude>org.jboss.seam.*</exclude>
+ <exclude>org.jboss.seam:*</exclude>
</excludes>
<outputFileNameMapping>${artifact.artifactId}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
</dependencySet>
Modified: dist/trunk/dist/src/main/assembly/readme.txt
===================================================================
--- dist/trunk/dist/src/main/assembly/readme.txt 2010-06-05 03:32:54 UTC (rev 13071)
+++ dist/trunk/dist/src/main/assembly/readme.txt 2010-06-05 17:38:46 UTC (rev 13072)
@@ -24,11 +24,11 @@
examples/
- Seam Remoting Examples
+ Seam Examples
lib/
- Seam Remoting jar files
+ Seam's dependencies
Licensing
=========
Modified: dist/trunk/docs/src/main/docbook/en-US/intro.xml
===================================================================
--- dist/trunk/docs/src/main/docbook/en-US/intro.xml 2010-06-05 03:32:54 UTC (rev 13071)
+++ dist/trunk/docs/src/main/docbook/en-US/intro.xml 2010-06-05 17:38:46 UTC (rev 13072)
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
-<chapter id="security">
+<chapter id="seam.intro">
<title>Seam</title>
<section>
14 years
Seam SVN: r13071 - in modules/faces/branches/exception_handling: api/src/main/java/org/jboss/seam/exceptionhandling and 2 other directories.
by seam-commits@lists.jboss.org
Author: lightguard
Date: 2010-06-04 23:32:54 -0400 (Fri, 04 Jun 2010)
New Revision: 13071
Added:
modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/
modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/ExceptionHandler.java
modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/FacesState.java
modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/HandlerChain.java
modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/State.java
modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/package-info.java
modules/faces/branches/exception_handling/impl/src/main/java/org/jboss/seam/exceptionhandling/
modules/faces/branches/exception_handling/impl/src/main/java/org/jboss/seam/exceptionhandling/FacesStateImpl.java
modules/faces/branches/exception_handling/impl/src/main/java/org/jboss/seam/exceptionhandling/HandlerChainImpl.java
modules/faces/branches/exception_handling/impl/src/main/java/org/jboss/seam/exceptionhandling/SeamExceptionHandler.java
modules/faces/branches/exception_handling/impl/src/main/java/org/jboss/seam/exceptionhandling/SeamExceptionHandlerFactory.java
Log:
Initial checkin of exception handling code.
Main blocker right now is determining how to find the handler classes.
Secondary blocker is creating tests :)
Added: modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/ExceptionHandler.java
===================================================================
--- modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/ExceptionHandler.java (rev 0)
+++ modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/ExceptionHandler.java 2010-06-05 03:32:54 UTC (rev 13071)
@@ -0,0 +1,43 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.seam.exceptionhandling;
+
+/**
+ * Registers an exception handler for a specific exception and state, this
+ * is the main entry point for using Seam's exception handling infrastructure.
+ */
+public interface ExceptionHandler<E extends Class<Throwable>, S extends State>
+{
+ /**
+ * @return the numeric priority of this handler in relationship to
+ * other handlers, 1 being top priority
+ */
+ int getPriority();
+
+ /**
+ * Method called to execute logic for an uncaught exception.
+ * @param chain Chain object used to continue handling chain
+ * @param state container for any useful application state
+ * @param e uncaught exception
+ */
+ void handle(HandlerChain chain, S state, E e);
+}
Property changes on: modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/ExceptionHandler.java
___________________________________________________________________
Name: svn:mime-type
+ text/x-java-source
Name: svn:keywords
+ Author Date Id Revision URL
Name: svn:eol-style
+ native
Added: modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/FacesState.java
===================================================================
--- modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/FacesState.java (rev 0)
+++ modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/FacesState.java 2010-06-05 03:32:54 UTC (rev 13071)
@@ -0,0 +1,43 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.seam.exceptionhandling;
+
+import javax.faces.context.FacesContext;
+
+/**
+ * Java Server Faces implementation of {@link State}.
+ */
+public interface FacesState extends State
+{
+ /**
+ * @return the currently active Faces Context object
+ */
+ FacesContext getFacesContext();
+
+ /**
+ * Convenience method to facilitate navigation to a view id in an
+ * {@link ExceptionHandler}.
+ * @param viewId JSF view to navigate
+ */
+ void navigate(String viewId);
+}
Property changes on: modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/FacesState.java
___________________________________________________________________
Name: svn:mime-type
+ text/x-java-source
Name: svn:keywords
+ Author Date Id Revision URL
Name: svn:eol-style
+ native
Added: modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/HandlerChain.java
===================================================================
--- modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/HandlerChain.java (rev 0)
+++ modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/HandlerChain.java 2010-06-05 03:32:54 UTC (rev 13071)
@@ -0,0 +1,34 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.seam.exceptionhandling;
+
+/**
+ * Provides the developer methods to affect the traversal of the
+ * chain of {@link ExceptionHandler} instances.
+ */
+public interface HandlerChain
+{
+ /**
+ * Continue with the chain.
+ */
+ void next();
+}
Property changes on: modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/HandlerChain.java
___________________________________________________________________
Name: svn:mime-type
+ text/x-java-source
Name: svn:keywords
+ Author Date Id Revision URL
Name: svn:eol-style
+ native
Added: modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/State.java
===================================================================
--- modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/State.java (rev 0)
+++ modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/State.java 2010-06-05 03:32:54 UTC (rev 13071)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.seam.exceptionhandling;
+
+import javax.enterprise.inject.spi.BeanManager;
+
+/**
+ * The State object is meant to provide any state that may be helpful for the developer
+ * in determining what to do with a particular exceptionhandling. It may include and application
+ * state, active processes, or other convenience methods for the {@link ExceptionHandler}
+ * developer.
+ * <p>
+ * A servlet state may include methods to retrieve the HttpServletRequest, HttpServletResponse
+ * and possibly a navigation convenience method.
+ */
+public interface State
+{
+ /**
+ * @return current BeanManager.
+ */
+ public BeanManager getBeanManager();
+}
Property changes on: modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/State.java
___________________________________________________________________
Name: svn:mime-type
+ text/x-java-source
Name: svn:keywords
+ Author Date Id Revision URL
Name: svn:eol-style
+ native
Added: modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/package-info.java
===================================================================
--- modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/package-info.java (rev 0)
+++ modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/package-info.java 2010-06-05 03:32:54 UTC (rev 13071)
@@ -0,0 +1,26 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+/**
+ * An extensible exception handling handling framework.
+ */
+package org.jboss.seam.exceptionhandling;
Property changes on: modules/faces/branches/exception_handling/api/src/main/java/org/jboss/seam/exceptionhandling/package-info.java
___________________________________________________________________
Name: svn:mime-type
+ text/x-java-source
Name: svn:keywords
+ Author Date Id Revision URL
Name: svn:eol-style
+ native
Added: modules/faces/branches/exception_handling/impl/src/main/java/org/jboss/seam/exceptionhandling/FacesStateImpl.java
===================================================================
--- modules/faces/branches/exception_handling/impl/src/main/java/org/jboss/seam/exceptionhandling/FacesStateImpl.java (rev 0)
+++ modules/faces/branches/exception_handling/impl/src/main/java/org/jboss/seam/exceptionhandling/FacesStateImpl.java 2010-06-05 03:32:54 UTC (rev 13071)
@@ -0,0 +1,67 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.seam.exceptionhandling;
+
+import javax.enterprise.inject.spi.BeanManager;
+import javax.faces.application.NavigationHandler;
+import javax.faces.context.FacesContext;
+import javax.inject.Inject;
+
+public class FacesStateImpl implements FacesState
+{
+ @Inject
+ private BeanManager beanManager;
+
+ @Inject
+ private FacesContext facesContext;
+
+ @Inject
+ private NavigationHandler navigationHandler;
+
+ /**
+ * @return the currently active Faces Context object
+ */
+ public FacesContext getFacesContext()
+ {
+ return this.facesContext;
+ }
+
+ /**
+ * Convenience method to facilitate navigation to a view id in an
+ * {@link ExceptionHandler}.
+ *
+ * @param viewId JSF view to navigate
+ */
+ public void navigate(String viewId)
+ {
+ this.navigationHandler.handleNavigation(this.facesContext, null, viewId);
+ }
+
+ /**
+ * @return current BeanManager.
+ */
+ public BeanManager getBeanManager()
+ {
+ return this.beanManager;
+ }
+}
Property changes on: modules/faces/branches/exception_handling/impl/src/main/java/org/jboss/seam/exceptionhandling/FacesStateImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/x-java-source
Name: svn:keywords
+ Author Date Id Revision URL
Name: svn:eol-style
+ native
Added: modules/faces/branches/exception_handling/impl/src/main/java/org/jboss/seam/exceptionhandling/HandlerChainImpl.java
===================================================================
--- modules/faces/branches/exception_handling/impl/src/main/java/org/jboss/seam/exceptionhandling/HandlerChainImpl.java (rev 0)
+++ modules/faces/branches/exception_handling/impl/src/main/java/org/jboss/seam/exceptionhandling/HandlerChainImpl.java 2010-06-05 03:32:54 UTC (rev 13071)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.seam.exceptionhandling;
+
+import javax.enterprise.inject.spi.BeanManager;
+import javax.inject.Inject;
+
+public class HandlerChainImpl implements HandlerChain
+{
+ private boolean continueChain;
+
+ /**
+ * Continue with the chain.
+ */
+ public void next()
+ {
+ this.continueChain = true;
+ }
+
+ boolean isContinueChain()
+ {
+ return this.continueChain;
+ }
+}
Property changes on: modules/faces/branches/exception_handling/impl/src/main/java/org/jboss/seam/exceptionhandling/HandlerChainImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/x-java-source
Name: svn:keywords
+ Author Date Id Revision URL
Name: svn:eol-style
+ native
Added: modules/faces/branches/exception_handling/impl/src/main/java/org/jboss/seam/exceptionhandling/SeamExceptionHandler.java
===================================================================
--- modules/faces/branches/exception_handling/impl/src/main/java/org/jboss/seam/exceptionhandling/SeamExceptionHandler.java (rev 0)
+++ modules/faces/branches/exception_handling/impl/src/main/java/org/jboss/seam/exceptionhandling/SeamExceptionHandler.java 2010-06-05 03:32:54 UTC (rev 13071)
@@ -0,0 +1,88 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.seam.exceptionhandling;
+
+import javax.enterprise.inject.spi.BeanManager;
+import javax.faces.FacesException;
+import javax.faces.context.*;
+import javax.faces.context.ExceptionHandler;
+import javax.faces.event.ExceptionQueuedEvent;
+import javax.inject.Inject;
+import java.lang.reflect.Type;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+public class SeamExceptionHandler extends ExceptionHandlerWrapper
+{
+ @Inject
+ private BeanManager beanManager;
+
+ private ExceptionHandler wrapped;
+
+ public SeamExceptionHandler()
+ {
+ }
+
+ public SeamExceptionHandler(ExceptionHandler wrappedHandler)
+ {
+ this.wrapped = wrappedHandler;
+ }
+
+ @Override
+ public void handle() throws FacesException
+ {
+ Set<?> beans;
+ ExceptionQueuedEvent event;
+ Throwable exception;
+ Throwable realException;
+
+ for (Iterator<ExceptionQueuedEvent> i = this.getUnhandledExceptionQueuedEvents().iterator(); i.hasNext();)
+ {
+ event = i.next();
+ exception = event.getContext().getException();
+
+ realException = this.getRootCause(exception);
+
+ if (realException == null)
+ {
+ realException = exception;
+ }
+
+ // TODO: Find handlers for the exception type
+ // TODO: Create handler chain
+ // TODO: execute handler
+ }
+
+ if (this.wrapped != null)
+ {
+ this.wrapped.handle();
+ }
+ }
+
+ @Override
+ public javax.faces.context.ExceptionHandler getWrapped()
+ {
+ return this.wrapped;
+ }
+}
Property changes on: modules/faces/branches/exception_handling/impl/src/main/java/org/jboss/seam/exceptionhandling/SeamExceptionHandler.java
___________________________________________________________________
Name: svn:mime-type
+ text/x-java-source
Name: svn:keywords
+ Author Date Id Revision URL
Name: svn:eol-style
+ native
Added: modules/faces/branches/exception_handling/impl/src/main/java/org/jboss/seam/exceptionhandling/SeamExceptionHandlerFactory.java
===================================================================
--- modules/faces/branches/exception_handling/impl/src/main/java/org/jboss/seam/exceptionhandling/SeamExceptionHandlerFactory.java (rev 0)
+++ modules/faces/branches/exception_handling/impl/src/main/java/org/jboss/seam/exceptionhandling/SeamExceptionHandlerFactory.java 2010-06-05 03:32:54 UTC (rev 13071)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc., and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.seam.exceptionhandling;
+
+import javax.faces.context.ExceptionHandler;
+import javax.faces.context.ExceptionHandlerFactory;
+
+public class SeamExceptionHandlerFactory extends ExceptionHandlerFactory
+{
+ private ExceptionHandlerFactory parent;
+
+ public SeamExceptionHandlerFactory(ExceptionHandlerFactory parent)
+ {
+ this.parent = parent;
+ }
+
+ @Override
+ public javax.faces.context.ExceptionHandler getExceptionHandler()
+ {
+ ExceptionHandler result = this.parent.getExceptionHandler();
+ result = new SeamExceptionHandler(result);
+ return result;
+ }
+}
Property changes on: modules/faces/branches/exception_handling/impl/src/main/java/org/jboss/seam/exceptionhandling/SeamExceptionHandlerFactory.java
___________________________________________________________________
Name: svn:mime-type
+ text/x-java-source
Name: svn:keywords
+ Author Date Id Revision URL
Name: svn:eol-style
+ native
14 years
Seam SVN: r13070 - in dist/trunk/dist: src/main/assembly and 1 other directory.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-06-04 18:42:09 -0400 (Fri, 04 Jun 2010)
New Revision: 13070
Modified:
dist/trunk/dist/pom.xml
dist/trunk/dist/src/main/assembly/assembly.xml
Log:
add docs to dist
Modified: dist/trunk/dist/pom.xml
===================================================================
--- dist/trunk/dist/pom.xml 2010-06-04 22:38:45 UTC (rev 13069)
+++ dist/trunk/dist/pom.xml 2010-06-04 22:42:09 UTC (rev 13070)
@@ -260,6 +260,14 @@
<version>${project.version}</version>
<optional>true</optional>
</dependency>
+
+ <dependency>
+ <groupId>org.jboss.seam</groupId>
+ <artifactId>seam-reference-guide</artifactId>
+ <version>${project.version}</version>
+ <optional>true</optional>
+ <type>war</type>
+ </dependency>
</dependencies>
Modified: dist/trunk/dist/src/main/assembly/assembly.xml
===================================================================
--- dist/trunk/dist/src/main/assembly/assembly.xml 2010-06-04 22:38:45 UTC (rev 13069)
+++ dist/trunk/dist/src/main/assembly/assembly.xml 2010-06-04 22:42:09 UTC (rev 13070)
@@ -83,6 +83,20 @@
<include>org.jboss.seam.remoting:seam-remoting-helloworld-example</include>
</includes>
</dependencySet>
+ <!-- Pull in docbook artifacts -->
+ <dependencySet>
+ <outputDirectory>doc/reference</outputDirectory>
+ <unpack>true</unpack>
+ <useProjectArtifact>false</useProjectArtifact>
+ <includes>
+ <include>org.jboss.seam:seam-reference-guide</include>
+ </includes>
+ <unpackOptions>
+ <excludes>
+ <exclude>META-INF/</exclude>
+ </excludes>
+ </unpackOptions>
+ </dependencySet>
</dependencySets>
</assembly>
14 years, 1 month
Seam SVN: r13069 - dist/trunk/seam.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-06-04 18:38:45 -0400 (Fri, 04 Jun 2010)
New Revision: 13069
Modified:
dist/trunk/seam/pom.xml
Log:
don't trigger javadoc error!
Modified: dist/trunk/seam/pom.xml
===================================================================
--- dist/trunk/seam/pom.xml 2010-06-04 22:25:51 UTC (rev 13068)
+++ dist/trunk/seam/pom.xml 2010-06-04 22:38:45 UTC (rev 13069)
@@ -86,7 +86,8 @@
<configuration>
<includeDependencySources>true</includeDependencySources>
<dependencySourceIncludes>
- <dependencySourceInclude>org.jboss.seam:*</dependencySourceInclude>
+ <!-- COnfiguration correctly selects javadocs but triggers a classpath bug in Javadoc :-/ -->
+<!-- <dependencySourceInclude>org.jboss.seam:*</dependencySourceInclude>-->
<dependencySourceInclude>org.jboss.seam.*:*</dependencySourceInclude>
</dependencySourceIncludes>
</configuration>
14 years, 1 month
Seam SVN: r13068 - in dist/trunk: seam and 1 other directory.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-06-04 18:25:51 -0400 (Fri, 04 Jun 2010)
New Revision: 13068
Modified:
dist/trunk/pom.xml
dist/trunk/seam/pom.xml
Log:
add docs
Modified: dist/trunk/pom.xml
===================================================================
--- dist/trunk/pom.xml 2010-06-04 22:25:30 UTC (rev 13067)
+++ dist/trunk/pom.xml 2010-06-04 22:25:51 UTC (rev 13068)
@@ -271,6 +271,7 @@
</activation>
<modules>
<module>dist</module>
+ <module>docs</module>
</modules>
</profile>
</profiles>
Modified: dist/trunk/seam/pom.xml
===================================================================
--- dist/trunk/seam/pom.xml 2010-06-04 22:25:30 UTC (rev 13067)
+++ dist/trunk/seam/pom.xml 2010-06-04 22:25:51 UTC (rev 13068)
@@ -86,7 +86,8 @@
<configuration>
<includeDependencySources>true</includeDependencySources>
<dependencySourceIncludes>
- <dependencySourceInclude>org.jboss.seam.*</dependencySourceInclude>
+ <dependencySourceInclude>org.jboss.seam:*</dependencySourceInclude>
+ <dependencySourceInclude>org.jboss.seam.*:*</dependencySourceInclude>
</dependencySourceIncludes>
</configuration>
</execution>
14 years, 1 month
Seam SVN: r13067 - dist/trunk/docs.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-06-04 18:25:30 -0400 (Fri, 04 Jun 2010)
New Revision: 13067
Modified:
dist/trunk/docs/
Log:
ignores
Property changes on: dist/trunk/docs
___________________________________________________________________
Name: svn:ignore
- target
+ target
.classpath
.settings
.project
14 years, 1 month
Seam SVN: r13066 - modules/international/trunk/docs/reference/src/main/docbook/en-US.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-06-04 18:24:02 -0400 (Fri, 04 Jun 2010)
New Revision: 13066
Modified:
modules/international/trunk/docs/reference/src/main/docbook/en-US/messages.xml
Log:
namespace conflicting ids
Modified: modules/international/trunk/docs/reference/src/main/docbook/en-US/messages.xml
===================================================================
--- modules/international/trunk/docs/reference/src/main/docbook/en-US/messages.xml 2010-06-04 22:23:53 UTC (rev 13065)
+++ modules/international/trunk/docs/reference/src/main/docbook/en-US/messages.xml 2010-06-04 22:24:02 UTC (rev 13066)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" []>
-<chapter id="messages">
+<chapter id="international.messages">
<title>Messages</title>
</chapter>
\ No newline at end of file
14 years, 1 month
Seam SVN: r13065 - modules/faces/trunk/docs/reference/src/main/docbook/en-US.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2010-06-04 18:23:53 -0400 (Fri, 04 Jun 2010)
New Revision: 13065
Modified:
modules/faces/trunk/docs/reference/src/main/docbook/en-US/installation.xml
modules/faces/trunk/docs/reference/src/main/docbook/en-US/messages.xml
Log:
namespace conflicting ids
Modified: modules/faces/trunk/docs/reference/src/main/docbook/en-US/installation.xml
===================================================================
--- modules/faces/trunk/docs/reference/src/main/docbook/en-US/installation.xml 2010-06-04 21:46:16 UTC (rev 13064)
+++ modules/faces/trunk/docs/reference/src/main/docbook/en-US/installation.xml 2010-06-04 22:23:53 UTC (rev 13065)
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" []>
-<chapter id="installation">
+<chapter id="faces.installation">
<title>Installation</title>
<para>
Most features of Seam Faces are installed automatically by including the seam-faces.jar and seam-faces-api.jar
Modified: modules/faces/trunk/docs/reference/src/main/docbook/en-US/messages.xml
===================================================================
--- modules/faces/trunk/docs/reference/src/main/docbook/en-US/messages.xml 2010-06-04 21:46:16 UTC (rev 13064)
+++ modules/faces/trunk/docs/reference/src/main/docbook/en-US/messages.xml 2010-06-04 22:23:53 UTC (rev 13065)
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" []>
-<chapter id="messages">
+<chapter id="faces.messages">
<title>Messages API</title>
<para>
While JSF already has the concept of adding <literal>FacesMessage</literal> objects to the FacesContext in order for those messages to be
14 years, 1 month