[jboss-cvs] JBossAS SVN: r70415 - in projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3: lang and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Mar 5 07:20:28 EST 2008
Author: wolfc
Date: 2008-03-05 07:20:28 -0500 (Wed, 05 Mar 2008)
New Revision: 70415
Modified:
projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/Ejb3Deployment.java
projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/lang/ClassHelper.java
Log:
EJBTHREE-1174: more descriptive ClassCastException
Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/Ejb3Deployment.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/Ejb3Deployment.java 2008-03-05 12:09:44 UTC (rev 70414)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/Ejb3Deployment.java 2008-03-05 12:20:28 UTC (rev 70415)
@@ -40,7 +40,6 @@
import javax.naming.NamingException;
import javax.persistence.Entity;
import javax.security.jacc.PolicyConfiguration;
-import javax.security.jacc.PolicyConfigurationFactory;
import org.hibernate.ejb.packaging.PersistenceMetadata;
import org.jboss.deployers.spi.DeploymentException;
@@ -54,6 +53,7 @@
import org.jboss.ejb3.javaee.JavaEEApplication;
import org.jboss.ejb3.javaee.JavaEEComponent;
import org.jboss.ejb3.javaee.JavaEEModule;
+import org.jboss.ejb3.lang.ClassHelper;
import org.jboss.ejb3.metadata.jpa.spec.PersistenceUnitMetaData;
import org.jboss.ejb3.metadata.jpa.spec.PersistenceUnitsMetaData;
import org.jboss.ejb3.pool.PoolFactoryRegistry;
@@ -810,7 +810,7 @@
{
if(metaData == null)
return null;
- return enterpriseBeanMetaDataClass.cast(metaData.getEnterpriseBean(ejbName));
+ return ClassHelper.cast(enterpriseBeanMetaDataClass, metaData.getEnterpriseBean(ejbName));
}
/**
Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/lang/ClassHelper.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/lang/ClassHelper.java 2008-03-05 12:09:44 UTC (rev 70414)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/lang/ClassHelper.java 2008-03-05 12:20:28 UTC (rev 70415)
@@ -35,6 +35,31 @@
public class ClassHelper
{
/**
+ * Casts an object to the class or interface represented
+ * by the targetClass <tt>Class</tt> object.
+ * The ClassCastException thrown is more descriptive than
+ * the original.
+ *
+ * @param obj the object to be cast
+ * @return the object after casting, or null if obj is null
+ *
+ * @throws ClassCastException if the object is not
+ * null and is not assignable to the type T.
+ */
+ public static <T> T cast(Class<T> targetClass, Object obj)
+ {
+ try
+ {
+ return targetClass.cast(obj);
+ }
+ catch(ClassCastException e)
+ {
+ assert obj != null : "a null can always be cast, it should never throw a ClassCastException";
+ throw new ClassCastException("Unable to cast " + obj.getClass() + " to " + targetClass);
+ }
+ }
+
+ /**
* @see Class#argumentTypesToString
*/
private static String argumentTypesToString(Class<?>[] argTypes)
More information about the jboss-cvs-commits
mailing list