Seam SVN: r8913 - trunk/src/main/org/jboss/seam/cache.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-09-04 18:34:17 -0400 (Thu, 04 Sep 2008)
New Revision: 8913
Modified:
trunk/src/main/org/jboss/seam/cache/EhCacheProvider.java
trunk/src/main/org/jboss/seam/cache/JbossCacheProvider.java
Log:
JBSEAM-3382, and a couple of minor bits, thanks to Przemyslaw Jaskierski
Modified: trunk/src/main/org/jboss/seam/cache/EhCacheProvider.java
===================================================================
--- trunk/src/main/org/jboss/seam/cache/EhCacheProvider.java 2008-09-04 16:17:19 UTC (rev 8912)
+++ trunk/src/main/org/jboss/seam/cache/EhCacheProvider.java 2008-09-04 22:34:17 UTC (rev 8913)
@@ -1,7 +1,7 @@
package org.jboss.seam.cache;
import static org.jboss.seam.annotations.Install.BUILT_IN;
-import static org.jboss.seam.ScopeType.STATELESS;
+import static org.jboss.seam.ScopeType.APPLICATION;
import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;
@@ -24,7 +24,7 @@
* @author Pete Muir
*/
@Name("org.jboss.seam.cache.cacheProvider")
-@Scope(STATELESS)
+@Scope(APPLICATION)
@BypassInterceptors
@Install(value = false, precedence = BUILT_IN, classDependencies="net.sf.ehcache.Cache")
@AutoCreate
@@ -84,7 +84,10 @@
Cache result = cacheManager.getCache(regionName);
if (result == null)
{
- throw new IllegalArgumentException("Cache region not found");
+ log.warn("Could not find configuration for region [" + regionName + "]; using defaults.");
+ cacheManager.addCache(regionName);
+ result = cacheManager.getCache(regionName);
+ log.debug("EHCache region created: " + regionName);
}
return result;
}
@@ -100,7 +103,6 @@
public void create()
{
log.debug("Starting EhCacheProvider cache");
- // TODO validate if there is any common approach to load resources in Seam
try
{
if (getConfiguration() != null)
Modified: trunk/src/main/org/jboss/seam/cache/JbossCacheProvider.java
===================================================================
--- trunk/src/main/org/jboss/seam/cache/JbossCacheProvider.java 2008-09-04 16:17:19 UTC (rev 8912)
+++ trunk/src/main/org/jboss/seam/cache/JbossCacheProvider.java 2008-09-04 22:34:17 UTC (rev 8913)
@@ -1,7 +1,7 @@
package org.jboss.seam.cache;
import static org.jboss.seam.ScopeType.APPLICATION;
-import static org.jboss.seam.annotations.Install.FRAMEWORK;
+import static org.jboss.seam.annotations.Install.BUILT_IN;
import org.jboss.cache.CacheException;
import org.jboss.cache.Node;
@@ -27,7 +27,7 @@
@Name("org.jboss.seam.cache.cacheProvider")
@Scope(APPLICATION)
@BypassInterceptors
-@Install(precedence = FRAMEWORK, classDependencies={"org.jboss.cache.TreeCache", "org.jgroups.MembershipListener"})
+@Install(precedence = BUILT_IN, classDependencies={"org.jboss.cache.TreeCache", "org.jgroups.MembershipListener"})
@AutoCreate
public class JbossCacheProvider extends AbstractJBossCacheProvider<TreeCache>
{
15 years, 8 months
Seam SVN: r8912 - trunk/src/main/org/jboss/seam/persistence.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-09-04 12:17:19 -0400 (Thu, 04 Sep 2008)
New Revision: 8912
Modified:
trunk/src/main/org/jboss/seam/persistence/ManagedEntityIdentityInterceptor.java
Log:
ws
Modified: trunk/src/main/org/jboss/seam/persistence/ManagedEntityIdentityInterceptor.java
===================================================================
--- trunk/src/main/org/jboss/seam/persistence/ManagedEntityIdentityInterceptor.java 2008-09-04 15:57:45 UTC (rev 8911)
+++ trunk/src/main/org/jboss/seam/persistence/ManagedEntityIdentityInterceptor.java 2008-09-04 16:17:19 UTC (rev 8912)
@@ -10,47 +10,54 @@
import org.jboss.seam.transaction.Transaction;
/**
- * Swizzles entity references around each invocation, maintaining
- * referential integrity even across passivation of the stateful
- * bean or Seam-managed extended persistence context, and allowing
- * for more efficient replication.
+ * Swizzles entity references around each invocation, maintaining referential
+ * integrity even across passivation of the stateful bean or Seam-managed
+ * extended persistence context, and allowing for more efficient replication.
*
* @author Gavin King
- *
+ *
*/
-(a)Interceptor(around=BijectionInterceptor.class)
+@Interceptor(around = BijectionInterceptor.class)
public class ManagedEntityIdentityInterceptor extends AbstractInterceptor
{
-
- private static ManagedEntityStateManager managedEntityStateManager = new ManagedEntityStateManager();
-
- private boolean reentrant;
- //TODO: cache the non-ignored fields, probably on Component
-
- public boolean isInterceptorEnabled()
- {
- return getComponent().getScope() == CONVERSATION;
- }
-
- @AroundInvoke
- public Object aroundInvoke(InvocationContext ctx) throws Exception
- {
- if (reentrant) {
+
+ private static ManagedEntityStateManager managedEntityStateManager = new ManagedEntityStateManager();
+
+ private boolean reentrant;
+
+ // TODO: cache the non-ignored fields, probably on Component
+
+ public boolean isInterceptorEnabled()
+ {
+ return getComponent().getScope() == CONVERSATION;
+ }
+
+ @AroundInvoke
+ public Object aroundInvoke(InvocationContext ctx) throws Exception
+ {
+ if (reentrant)
+ {
+ return ctx.proceed();
+ }
+ else
+ {
+ reentrant = true;
+ managedEntityStateManager.entityIdsToRefs(ctx.getTarget(), getComponent());
+ try
+ {
return ctx.proceed();
- } else {
- reentrant = true;
- managedEntityStateManager.entityIdsToRefs(ctx.getTarget(), getComponent());
- try {
- return ctx.proceed();
- } finally {
- if (!isTransactionRolledBackOrMarkedRollback()) {
- managedEntityStateManager.entityRefsToIds(ctx.getTarget(), getComponent());
- reentrant = false;
- }
+ }
+ finally
+ {
+ if (!isTransactionRolledBackOrMarkedRollback())
+ {
+ managedEntityStateManager.entityRefsToIds(ctx.getTarget(), getComponent());
+ reentrant = false;
}
- }
- }
-
+ }
+ }
+ }
+
private static boolean isTransactionRolledBackOrMarkedRollback()
{
try
@@ -62,6 +69,5 @@
return false;
}
}
-
-
+
}
15 years, 8 months
Seam SVN: r8911 - trunk/src/debug/org/jboss/seam/debug.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-09-04 11:57:45 -0400 (Thu, 04 Sep 2008)
New Revision: 8911
Modified:
trunk/src/debug/org/jboss/seam/debug/Contexts.java
Log:
And commit the changes needed for moving rootCause :(
Modified: trunk/src/debug/org/jboss/seam/debug/Contexts.java
===================================================================
--- trunk/src/debug/org/jboss/seam/debug/Contexts.java 2008-09-04 15:45:22 UTC (rev 8910)
+++ trunk/src/debug/org/jboss/seam/debug/Contexts.java 2008-09-04 15:57:45 UTC (rev 8911)
@@ -12,7 +12,7 @@
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.core.ConversationEntries;
import org.jboss.seam.core.ConversationEntry;
-import org.jboss.seam.util.EJB;
+import org.jboss.seam.util.Exceptions;
@Name("org.jboss.seam.debug.contexts")
@Scope(ScopeType.APPLICATION)
@@ -67,7 +67,7 @@
public List<Exception> getExceptionCauses()
{
List<Exception> causes = new ArrayList<Exception>();
- for (Exception cause=getException(); cause!=null; cause=EJB.getCause(cause))
+ for (Exception cause=getException(); cause!=null; cause=Exceptions.getCause(cause))
{
causes.add(cause);
}
15 years, 8 months
Seam SVN: r8910 - in trunk/src/main/org/jboss/seam: exception and 2 other directories.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-09-04 11:45:22 -0400 (Thu, 04 Sep 2008)
New Revision: 8910
Added:
trunk/src/main/org/jboss/seam/persistence/ManagedEntityStateManager.java
Modified:
trunk/src/main/org/jboss/seam/core/BijectionInterceptor.java
trunk/src/main/org/jboss/seam/exception/Exceptions.java
trunk/src/main/org/jboss/seam/persistence/ManagedEntityIdentityInterceptor.java
trunk/src/main/org/jboss/seam/web/ExceptionFilter.java
Log:
And commit the changes needed for moving rootCause :(
Modified: trunk/src/main/org/jboss/seam/core/BijectionInterceptor.java
===================================================================
--- trunk/src/main/org/jboss/seam/core/BijectionInterceptor.java 2008-09-04 14:04:35 UTC (rev 8909)
+++ trunk/src/main/org/jboss/seam/core/BijectionInterceptor.java 2008-09-04 15:45:22 UTC (rev 8910)
@@ -9,7 +9,7 @@
import org.jboss.seam.annotations.intercept.Interceptor;
import org.jboss.seam.intercept.AbstractInterceptor;
import org.jboss.seam.intercept.InvocationContext;
-import org.jboss.seam.util.EJB;
+import org.jboss.seam.util.Exceptions;
/**
* Before invoking the component, inject all dependencies. After
@@ -108,9 +108,9 @@
catch (Exception e)
{
Exception root = e;
- while (EJB.getCause(root) != null)
+ while (Exceptions.getCause(root) != null)
{
- root = EJB.getCause(root);
+ root = Exceptions.getCause(root);
}
if (root instanceof CyclicDependencyException)
{
Modified: trunk/src/main/org/jboss/seam/exception/Exceptions.java
===================================================================
--- trunk/src/main/org/jboss/seam/exception/Exceptions.java 2008-09-04 14:04:35 UTC (rev 8909)
+++ trunk/src/main/org/jboss/seam/exception/Exceptions.java 2008-09-04 15:45:22 UTC (rev 8910)
@@ -27,7 +27,6 @@
import org.jboss.seam.log.LogProvider;
import org.jboss.seam.log.Logging;
import org.jboss.seam.navigation.Pages;
-import org.jboss.seam.util.EJB;
import org.jboss.seam.util.Reflections;
import org.jboss.seam.util.Strings;
import org.jboss.seam.util.XML;
@@ -56,7 +55,7 @@
//build a list of the nested exceptions
List<Exception> causes = new ArrayList<Exception>();
- for (Exception cause=e; cause!=null; cause=EJB.getCause(cause))
+ for (Exception cause=e; cause!=null; cause=org.jboss.seam.util.Exceptions.getCause(cause))
{
causes.add(cause);
}
Modified: trunk/src/main/org/jboss/seam/persistence/ManagedEntityIdentityInterceptor.java
===================================================================
--- trunk/src/main/org/jboss/seam/persistence/ManagedEntityIdentityInterceptor.java 2008-09-04 14:04:35 UTC (rev 8909)
+++ trunk/src/main/org/jboss/seam/persistence/ManagedEntityIdentityInterceptor.java 2008-09-04 15:45:22 UTC (rev 8910)
@@ -1,26 +1,13 @@
package org.jboss.seam.persistence;
import static org.jboss.seam.ScopeType.CONVERSATION;
-import static org.jboss.seam.util.JSF.DATA_MODEL;
-import static org.jboss.seam.util.JSF.getWrappedData;
-import static org.jboss.seam.util.JSF.setWrappedData;
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.jboss.seam.Seam;
-import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.intercept.AroundInvoke;
import org.jboss.seam.annotations.intercept.Interceptor;
-import org.jboss.seam.contexts.Contexts;
import org.jboss.seam.core.BijectionInterceptor;
import org.jboss.seam.intercept.AbstractInterceptor;
import org.jboss.seam.intercept.InvocationContext;
import org.jboss.seam.transaction.Transaction;
-import org.jboss.seam.util.Reflections;
/**
* Swizzles entity references around each invocation, maintaining
@@ -34,6 +21,9 @@
@Interceptor(around=BijectionInterceptor.class)
public class ManagedEntityIdentityInterceptor extends AbstractInterceptor
{
+
+ private static ManagedEntityStateManager managedEntityStateManager = new ManagedEntityStateManager();
+
private boolean reentrant;
//TODO: cache the non-ignored fields, probably on Component
@@ -49,12 +39,12 @@
return ctx.proceed();
} else {
reentrant = true;
- entityIdsToRefs(ctx);
+ managedEntityStateManager.entityIdsToRefs(ctx.getTarget(), getComponent());
try {
return ctx.proceed();
} finally {
if (!isTransactionRolledBackOrMarkedRollback()) {
- entityRefsToIds(ctx);
+ managedEntityStateManager.entityRefsToIds(ctx.getTarget(), getComponent());
reentrant = false;
}
}
@@ -73,139 +63,5 @@
}
}
- public void entityRefsToIds(InvocationContext ctx) throws Exception
- {
- if ( touchedContextsExist() )
- {
- Object bean = ctx.getTarget();
- Class beanClass = bean.getClass();
- for (; beanClass!=Object.class; beanClass=beanClass.getSuperclass())
- {
- for ( Field field: beanClass.getDeclaredFields() )
- {
- if ( !ignore(field) )
- {
- Object value = getFieldValue(bean, field);
- if (value!=null)
- {
- Object dataModel = null;
- if ( DATA_MODEL.isInstance(value) )
- {
- dataModel = value;
- value = getWrappedData(dataModel);
- }
- if ( isRef(value) )
- {
- saveWrapper(bean, field, dataModel, value);
- }
- else
- {
- clearWrapper(field);
- }
- }
- else
- {
- clearWrapper(field);
- }
- }
- }
- }
- }
- }
-
- public void entityIdsToRefs(InvocationContext ctx) throws Exception
- {
- if ( touchedContextsExist() )
- {
- Object bean = ctx.getTarget();
- Class beanClass = bean.getClass();
- for (; beanClass!=Object.class; beanClass=beanClass.getSuperclass())
- {
- for ( Field field: beanClass.getDeclaredFields() )
- {
- if ( !ignore(field) )
- {
- Object value = getFieldValue(bean, field);
- Object dataModel = null;
- if (value!=null && DATA_MODEL.isInstance(value) )
- {
- dataModel = value;
- }
- //TODO: be more selective
- getFromWrapper(bean, field, dataModel);
- }
- }
- }
- }
- }
-
- private boolean isRef(Object value)
- {
- //TODO: could do better by checking if the
- // collection really contains an entity
- return value instanceof List ||
- value instanceof Map ||
- value instanceof Set ||
- Seam.getEntityClass(value.getClass()) != null;
- }
-
- private Object getFieldValue(Object bean, Field field) throws Exception
- {
- if ( !field.isAccessible() ) field.setAccessible(true);
- Object value = Reflections.get(field, bean);
- return value;
- }
-
- private boolean ignore(Field field)
- {
- return Modifier.isTransient( field.getModifiers() ) ||
- Modifier.isStatic( field.getModifiers() )
- || field.isAnnotationPresent(In.class);
- }
-
- private boolean touchedContextsExist()
- {
- PersistenceContexts touchedContexts = PersistenceContexts.instance();
- return touchedContexts!=null && touchedContexts.getTouchedContexts().size()>0;
- }
-
- private String getFieldId(Field field)
- {
- return getComponent().getName() + '.' + field.getName();
- }
-
- private void saveWrapper(Object bean, Field field, Object dataModel, Object value) throws Exception
- {
- Contexts.getConversationContext().set( getFieldId(field), value );
- if (dataModel==null)
- {
- Reflections.set(field, bean, null);
- }
- else
- {
- setWrappedData(dataModel, null);
- }
- }
-
- private void clearWrapper(Field field) throws Exception
- {
- Contexts.getConversationContext().remove( getFieldId(field) );
- }
-
- private void getFromWrapper(Object bean, Field field, Object dataModel) throws Exception
- {
- Object value = Contexts.getConversationContext().get( getFieldId(field) );
- if (value!=null)
- {
- if (dataModel==null)
- {
- Reflections.set(field, bean, value);
- }
- else
- {
- setWrappedData(dataModel, value);
- }
- }
- }
-
+
}
Added: trunk/src/main/org/jboss/seam/persistence/ManagedEntityStateManager.java
===================================================================
--- trunk/src/main/org/jboss/seam/persistence/ManagedEntityStateManager.java (rev 0)
+++ trunk/src/main/org/jboss/seam/persistence/ManagedEntityStateManager.java 2008-09-04 15:45:22 UTC (rev 8910)
@@ -0,0 +1,162 @@
+package org.jboss.seam.persistence;
+
+import static org.jboss.seam.util.JSF.DATA_MODEL;
+import static org.jboss.seam.util.JSF.getWrappedData;
+import static org.jboss.seam.util.JSF.setWrappedData;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.jboss.seam.Component;
+import org.jboss.seam.Seam;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.contexts.Contexts;
+import org.jboss.seam.util.Reflections;
+
+/**
+ * @author Gavin King
+ * @author Pete Muir
+ * @author Norman Richards
+ *
+ */
+public class ManagedEntityStateManager
+{
+
+ public void entityRefsToIds(Object controllerBean, Component component) throws Exception
+ {
+ if ( touchedContextsExist() )
+ {
+ Class beanClass = controllerBean.getClass();
+ for (; beanClass!=Object.class; beanClass=beanClass.getSuperclass())
+ {
+ for ( Field field: beanClass.getDeclaredFields() )
+ {
+ if ( !ignore(field) )
+ {
+ Object value = getFieldValue(controllerBean, field);
+ if (value!=null)
+ {
+ Object dataModel = null;
+ if ( DATA_MODEL.isInstance(value) )
+ {
+ dataModel = value;
+ value = getWrappedData(dataModel);
+ }
+ if ( isRef(value) )
+ {
+ saveWrapper(controllerBean, component, field, dataModel, value);
+ }
+ else
+ {
+ clearWrapper(component, field);
+ }
+ }
+ else
+ {
+ clearWrapper(component, field);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ public void entityIdsToRefs(Object controllerBean, Component component) throws Exception
+ {
+ if ( touchedContextsExist() )
+ {
+ Class beanClass = controllerBean.getClass();
+ for (; beanClass!=Object.class; beanClass=beanClass.getSuperclass())
+ {
+ for ( Field field: beanClass.getDeclaredFields() )
+ {
+ if ( !ignore(field) )
+ {
+ Object value = getFieldValue(controllerBean, field);
+ Object dataModel = null;
+ if (value!=null && DATA_MODEL.isInstance(value) )
+ {
+ dataModel = value;
+ }
+ //TODO: be more selective
+ getFromWrapper(controllerBean, component, field, dataModel);
+ }
+ }
+ }
+ }
+ }
+
+ private boolean isRef(Object value)
+ {
+ //TODO: could do better by checking if the
+ // collection really contains an entity
+ return value instanceof List ||
+ value instanceof Map ||
+ value instanceof Set ||
+ Seam.getEntityClass(value.getClass()) != null;
+ }
+
+ private Object getFieldValue(Object bean, Field field) throws Exception
+ {
+ if ( !field.isAccessible() ) field.setAccessible(true);
+ Object value = Reflections.get(field, bean);
+ return value;
+ }
+
+ private boolean ignore(Field field)
+ {
+ return Modifier.isTransient( field.getModifiers() ) ||
+ Modifier.isStatic( field.getModifiers() )
+ || field.isAnnotationPresent(In.class);
+ }
+
+ private boolean touchedContextsExist()
+ {
+ PersistenceContexts touchedContexts = PersistenceContexts.instance();
+ return touchedContexts!=null && touchedContexts.getTouchedContexts().size()>0;
+ }
+
+ private String getFieldId(Component component, Field field)
+ {
+ return component.getName() + '.' + field.getName();
+ }
+
+ private void saveWrapper(Object bean, Component component, Field field, Object dataModel, Object value) throws Exception
+ {
+ Contexts.getConversationContext().set( getFieldId(component, field), value );
+ if (dataModel==null)
+ {
+ Reflections.set(field, bean, null);
+ }
+ else
+ {
+ setWrappedData(dataModel, null);
+ }
+ }
+
+ private void clearWrapper(Component component, Field field) throws Exception
+ {
+ Contexts.getConversationContext().remove( getFieldId(component, field) );
+ }
+
+ private void getFromWrapper(Object bean, Component component, Field field, Object dataModel) throws Exception
+ {
+ Object value =Contexts.getConversationContext().get( getFieldId(component, field) );
+ if (value!=null)
+ {
+ if (dataModel==null)
+ {
+ Reflections.set(field, bean, value);
+ }
+ else
+ {
+ setWrappedData(dataModel, value);
+ }
+ }
+ }
+
+
+}
Property changes on: trunk/src/main/org/jboss/seam/persistence/ManagedEntityStateManager.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/src/main/org/jboss/seam/web/ExceptionFilter.java
===================================================================
--- trunk/src/main/org/jboss/seam/web/ExceptionFilter.java 2008-09-04 14:04:35 UTC (rev 8909)
+++ trunk/src/main/org/jboss/seam/web/ExceptionFilter.java 2008-09-04 15:45:22 UTC (rev 8910)
@@ -37,7 +37,6 @@
import org.jboss.seam.mock.MockFacesContext;
import org.jboss.seam.transaction.Transaction;
import org.jboss.seam.transaction.UserTransaction;
-import org.jboss.seam.util.EJB;
/**
* Delegate uncaught exceptions to Seam exception handling.
@@ -66,7 +65,7 @@
catch (Exception e)
{
log.warn( "handling uncaught exception", e );
- log.warn( "exception root cause", EJB.getCause(e) );
+ log.warn( "exception root cause", org.jboss.seam.util.Exceptions.getCause(e) );
endWebRequestAfterException( (HttpServletRequest) request, (HttpServletResponse) response, e);
}
}
15 years, 8 months
Seam SVN: r8908 - trunk/src/main/org/jboss/seam/util.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-09-04 09:55:47 -0400 (Thu, 04 Sep 2008)
New Revision: 8908
Added:
trunk/src/main/org/jboss/seam/util/Exceptions.java
Modified:
trunk/src/main/org/jboss/seam/util/EJB.java
Log:
Move exception utils to own class
Modified: trunk/src/main/org/jboss/seam/util/EJB.java
===================================================================
--- trunk/src/main/org/jboss/seam/util/EJB.java 2008-09-04 13:44:11 UTC (rev 8907)
+++ trunk/src/main/org/jboss/seam/util/EJB.java 2008-09-04 13:55:47 UTC (rev 8908)
@@ -5,7 +5,6 @@
import javax.ejb.EJBContext;
import javax.naming.NameNotFoundException;
import javax.naming.NamingException;
-import javax.servlet.ServletException;
public class EJB
@@ -69,31 +68,6 @@
return (String) Reflections.invokeAndWrap( Reflections.getMethod(annotation, "name"), annotation );
}
- public static Exception getCause(Exception exception)
- {
- Throwable cause = null;
- try
- {
- if ( EJB_EXCEPTION.isInstance(exception) )
- {
- cause = (Throwable) Reflections.getGetterMethod(EJB_EXCEPTION, "causedByException").invoke(exception);
- }
- else if (exception instanceof ServletException)
- {
- cause = ( (ServletException) exception ).getRootCause();
- }
- else
- {
- cause = exception.getCause();
- }
- }
- catch (Exception x)
- {
- return null;
- }
- return cause==exception || !(cause instanceof Exception) ? null : (Exception) cause;
- }
-
public static Class[] value(Annotation annotation)
{
return (Class[]) Reflections.invokeAndWrap( Reflections.getMethod(annotation, "value"), annotation );
Added: trunk/src/main/org/jboss/seam/util/Exceptions.java
===================================================================
--- trunk/src/main/org/jboss/seam/util/Exceptions.java (rev 0)
+++ trunk/src/main/org/jboss/seam/util/Exceptions.java 2008-09-04 13:55:47 UTC (rev 8908)
@@ -0,0 +1,33 @@
+package org.jboss.seam.util;
+
+import javax.servlet.ServletException;
+
+public class Exceptions
+{
+
+ public static Exception getCause(Exception exception)
+ {
+ Throwable cause = null;
+ try
+ {
+ if ( EJB.EJB_EXCEPTION.isInstance(exception) )
+ {
+ cause = (Throwable) Reflections.getGetterMethod(EJB.EJB_EXCEPTION, "causedByException").invoke(exception);
+ }
+ else if (exception instanceof ServletException)
+ {
+ cause = ( (ServletException) exception ).getRootCause();
+ }
+ else
+ {
+ cause = exception.getCause();
+ }
+ }
+ catch (Exception x)
+ {
+ return null;
+ }
+ return cause==exception || !(cause instanceof Exception) ? null : (Exception) cause;
+ }
+
+}
Property changes on: trunk/src/main/org/jboss/seam/util/Exceptions.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
15 years, 8 months
Seam SVN: r8906 - trunk/build.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-09-04 09:31:35 -0400 (Thu, 04 Sep 2008)
New Revision: 8906
Modified:
trunk/build/core.pom.xml
trunk/build/root.pom.xml
trunk/build/ui.pom.xml
Log:
Clean up commons-* dependencies
Modified: trunk/build/core.pom.xml
===================================================================
--- trunk/build/core.pom.xml 2008-09-04 13:24:07 UTC (rev 8905)
+++ trunk/build/core.pom.xml 2008-09-04 13:31:35 UTC (rev 8906)
@@ -25,6 +25,7 @@
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
+ <optional>true</optional>
</dependency>
Modified: trunk/build/root.pom.xml
===================================================================
--- trunk/build/root.pom.xml 2008-09-04 13:24:07 UTC (rev 8905)
+++ trunk/build/root.pom.xml 2008-09-04 13:31:35 UTC (rev 8906)
@@ -431,7 +431,13 @@
<dependency>
<groupId>commons-digester</groupId>
<artifactId>commons-digester</artifactId>
- <version>1.7-brew</version>
+ <version>1.7</version>
+ <exclusions>
+ <exclusion>
+ <groupId>xml-apis</groupId>
+ <artifactId>xml-apis</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
@@ -439,6 +445,31 @@
<artifactId>commons-collections</artifactId>
<version>3.2</version>
</dependency>
+
+ <!-- Should be 1.0.5.GA-jboss, to be in sync with AS but doesn't exist in Maven -->
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>1.1</version>
+ <exclusions>
+ <exclusion>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>logkit</groupId>
+ <artifactId>logkit</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>avalon-framework</groupId>
+ <artifactId>avalon-framework</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
<dependency>
<groupId>javax.persistence</groupId>
@@ -525,20 +556,7 @@
<version>3.8.0.GA</version>
</dependency>
- <!-- Should be 1.0.5.GA-jboss, to be in sync with AS but doesn't exist in Maven -->
<dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>1.1</version>
- <exclusions>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
<groupId>javax.portlet</groupId>
<artifactId>portlet-api</artifactId>
<version>1.0</version>
Modified: trunk/build/ui.pom.xml
===================================================================
--- trunk/build/ui.pom.xml 2008-09-04 13:24:07 UTC (rev 8905)
+++ trunk/build/ui.pom.xml 2008-09-04 13:31:35 UTC (rev 8906)
@@ -104,17 +104,19 @@
<optional>true</optional>
</dependency>
- <!-- Maven's "nearest" dependency resolution doesn't take into account parent dependency management! -->
- <dependency>
- <groupId>commons-collections</groupId>
- <artifactId>commons-collections</artifactId>
- </dependency>
+ <!-- Maven's "nearest" dependency resolution doesn't take into account parent dependency management! -->
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ <optional>true</optional>
+ </dependency>
- <!-- Maven's "nearest" dependency resolution doesn't take into account parent dependency management! -->
- <dependency>
- <groupId>commons-digester</groupId>
- <artifactId>commons-digester</artifactId>
- </dependency>
+ <!-- Maven's "nearest" dependency resolution doesn't take into account parent dependency management! -->
+ <dependency>
+ <groupId>commons-digester</groupId>
+ <artifactId>commons-digester</artifactId>
+ <optional>true</optional>
+ </dependency>
<dependency>
<groupId>javax.faces</groupId>
15 years, 8 months
Seam SVN: r8905 - trunk/src/main/org/jboss/seam/annotations/security/permission.
by seam-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2008-09-04 09:24:07 -0400 (Thu, 04 Sep 2008)
New Revision: 8905
Modified:
trunk/src/main/org/jboss/seam/annotations/security/permission/Identifier.java
Log:
JBSEAM-3379
Modified: trunk/src/main/org/jboss/seam/annotations/security/permission/Identifier.java
===================================================================
--- trunk/src/main/org/jboss/seam/annotations/security/permission/Identifier.java 2008-09-04 12:36:01 UTC (rev 8904)
+++ trunk/src/main/org/jboss/seam/annotations/security/permission/Identifier.java 2008-09-04 13:24:07 UTC (rev 8905)
@@ -1,7 +1,6 @@
package org.jboss.seam.annotations.security.permission;
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Documented;
@@ -17,7 +16,7 @@
*
* @author Shane Bryzak
*/
-@Target({METHOD,FIELD})
+@Target({TYPE})
@Documented
@Retention(RUNTIME)
@Inherited
15 years, 8 months
Seam SVN: r8904 - branches/Seam_2_0/build.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-09-04 08:36:01 -0400 (Thu, 04 Sep 2008)
New Revision: 8904
Modified:
branches/Seam_2_0/build/core.pom.xml
branches/Seam_2_0/build/root.pom.xml
branches/Seam_2_0/build/ui.pom.xml
Log:
JBSEAM-3311
Modified: branches/Seam_2_0/build/core.pom.xml
===================================================================
--- branches/Seam_2_0/build/core.pom.xml 2008-09-04 12:35:31 UTC (rev 8903)
+++ branches/Seam_2_0/build/core.pom.xml 2008-09-04 12:36:01 UTC (rev 8904)
@@ -20,6 +20,12 @@
<artifactId>hibernate</artifactId>
<optional>true</optional>
</dependency>
+
+ <!-- Maven's "nearest" dependency resolution doesn't take into account parent dependency management! -->
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </dependency>
<dependency>
<groupId>org.hibernate</groupId>
Modified: branches/Seam_2_0/build/root.pom.xml
===================================================================
--- branches/Seam_2_0/build/root.pom.xml 2008-09-04 12:35:31 UTC (rev 8903)
+++ branches/Seam_2_0/build/root.pom.xml 2008-09-04 12:36:01 UTC (rev 8904)
@@ -220,6 +220,12 @@
</exclusion>
</exclusions>
</dependency>
+
+ <dependency>
+ <groupId>commons-digester</groupId>
+ <artifactId>commons-digester</artifactId>
+ <version>1.7</version>
+ </dependency>
<dependency>
<groupId>org.jbpm</groupId>
Modified: branches/Seam_2_0/build/ui.pom.xml
===================================================================
--- branches/Seam_2_0/build/ui.pom.xml 2008-09-04 12:35:31 UTC (rev 8903)
+++ branches/Seam_2_0/build/ui.pom.xml 2008-09-04 12:36:01 UTC (rev 8904)
@@ -97,6 +97,18 @@
<artifactId>richfaces-ui</artifactId>
<optional>true</optional>
</dependency>
+
+ <!-- Maven's "nearest" dependency resolution doesn't take into account parent dependency management! -->
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ </dependency>
+
+ <!-- Maven's "nearest" dependency resolution doesn't take into account parent dependency management! -->
+ <dependency>
+ <groupId>commons-digester</groupId>
+ <artifactId>commons-digester</artifactId>
+ </dependency>
<dependency>
<groupId>javax.faces</groupId>
15 years, 8 months