[weld-commits] Weld SVN: r4778 - in core/trunk/impl/src/main: java/org/jboss/weld/bean/builtin and 4 other directories.

weld-commits at lists.jboss.org weld-commits at lists.jboss.org
Sun Nov 8 07:00:29 EST 2009


Author: dallen6
Date: 2009-11-08 07:00:28 -0500 (Sun, 08 Nov 2009)
New Revision: 4778

Added:
   core/trunk/impl/src/main/java/org/jboss/weld/InvalidObjectException.java
   core/trunk/impl/src/main/java/org/jboss/weld/NullInstanceException.java
Modified:
   core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/CallableMethodHandler.java
   core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InstanceImpl.java
   core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ee/AbstractEEBean.java
   core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ee/EEResourceProducerField.java
   core/trunk/impl/src/main/java/org/jboss/weld/bean/proxy/ClientProxyProvider.java
   core/trunk/impl/src/main/java/org/jboss/weld/logging/messages/BeanMessage.java
   core/trunk/impl/src/main/resources/org/jboss/weld/messages/bean_en.properties
Log:
A couple more new exceptions and conversion of exception generation to localized messages.

Added: core/trunk/impl/src/main/java/org/jboss/weld/InvalidObjectException.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/InvalidObjectException.java	                        (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/InvalidObjectException.java	2009-11-08 12:00:28 UTC (rev 4778)
@@ -0,0 +1,43 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat, Inc. and/or its affiliates, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,  
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jboss.weld;
+
+import static org.jboss.weld.logging.LoggerFactory.loggerFactory;
+import ch.qos.cal10n.IMessageConveyor;
+
+/**
+ * An extended version of {@link java.io.InvalidObjectException} that supports
+ * localization.
+ * 
+ * @author David Allen
+ *
+ */
+public class InvalidObjectException extends java.io.InvalidObjectException
+{
+
+   private static final long serialVersionUID = 1L;
+
+   // Exception messages
+   private static final IMessageConveyor messageConveyer  = loggerFactory().getMessageConveyor();
+
+   public <E extends Enum<?>> InvalidObjectException(E key, Object... args)
+   {
+      super(messageConveyer.getMessage(key, args));
+   }
+
+}


Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/InvalidObjectException.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: core/trunk/impl/src/main/java/org/jboss/weld/NullInstanceException.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/NullInstanceException.java	                        (rev 0)
+++ core/trunk/impl/src/main/java/org/jboss/weld/NullInstanceException.java	2009-11-08 12:00:28 UTC (rev 4778)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat, Inc. and/or its affiliates, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,  
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jboss.weld;
+
+/**
+ * This exception occurs in cases where an object instance was expected, but
+ * the reference was null.  A typical example is with a producer method that
+ * is not allowed to return null.
+ * 
+ * @author David Allen
+ *
+ */
+public class NullInstanceException extends WeldException
+{
+
+   private static final long serialVersionUID = 1L;
+
+   public <E extends Enum<?>> NullInstanceException(E key, Object... args)
+   {
+      super(key, args);
+   }
+
+}


Property changes on: core/trunk/impl/src/main/java/org/jboss/weld/NullInstanceException.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/CallableMethodHandler.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/CallableMethodHandler.java	2009-11-08 10:30:59 UTC (rev 4777)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/CallableMethodHandler.java	2009-11-08 12:00:28 UTC (rev 4778)
@@ -3,6 +3,7 @@
 import static org.jboss.weld.logging.Category.BEAN;
 import static org.jboss.weld.logging.LoggerFactory.loggerFactory;
 import static org.jboss.weld.logging.messages.BeanMessage.CALL_PROXIED_METHOD;
+import static org.jboss.weld.logging.messages.BeanMessage.NULL_INSTANCE;
 
 import java.io.Serializable;
 import java.lang.reflect.InvocationTargetException;
@@ -11,6 +12,7 @@
 
 import javassist.util.proxy.MethodHandler;
 
+import org.jboss.weld.NullInstanceException;
 import org.slf4j.cal10n.LocLogger;
 
 public class CallableMethodHandler implements MethodHandler, Serializable
@@ -37,7 +39,7 @@
       Object instance = callable.call();
       if (instance == null)
       {
-         throw new NullPointerException("Unable to obtain instance. Bean: " + callable);
+         throw new NullInstanceException(NULL_INSTANCE, callable);
       }
       try
       {

Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InstanceImpl.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InstanceImpl.java	2009-11-08 10:30:59 UTC (rev 4777)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/InstanceImpl.java	2009-11-08 12:00:28 UTC (rev 4778)
@@ -16,9 +16,9 @@
  */
 package org.jboss.weld.bean.builtin;
 
+import static org.jboss.weld.logging.messages.BeanMessage.PROXY_REQUIRED;
 import static org.jboss.weld.util.Reflections.EMPTY_ANNOTATIONS;
 
-import java.io.InvalidObjectException;
 import java.io.ObjectInputStream;
 import java.io.ObjectStreamException;
 import java.io.Serializable;
@@ -35,6 +35,7 @@
 import javax.enterprise.util.TypeLiteral;
 
 import org.jboss.weld.BeanManagerImpl;
+import org.jboss.weld.InvalidObjectException;
 import org.jboss.weld.resolution.ResolvableWeldClass;
 import org.jboss.weld.util.Beans;
 import org.jboss.weld.util.Names;
@@ -152,7 +153,7 @@
    
    private void readObject(ObjectInputStream stream) throws InvalidObjectException
    {
-      throw new InvalidObjectException("Proxy required");
+      throw new InvalidObjectException(PROXY_REQUIRED);
    }
    
    private static class SerializationProxy extends AbstractFacadeSerializationProxy

Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ee/AbstractEEBean.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ee/AbstractEEBean.java	2009-11-08 10:30:59 UTC (rev 4777)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ee/AbstractEEBean.java	2009-11-08 12:00:28 UTC (rev 4778)
@@ -1,5 +1,8 @@
 package org.jboss.weld.bean.builtin.ee;
 
+import static org.jboss.weld.logging.messages.BeanMessage.PROXY_INSTANTIATION_BEAN_ACCESS_FAILED;
+import static org.jboss.weld.logging.messages.BeanMessage.PROXY_INSTANTIATION_FAILED;
+
 import java.io.Serializable;
 import java.lang.reflect.Type;
 import java.util.HashSet;
@@ -35,11 +38,11 @@
       }
       catch (InstantiationException e)
       {
-         throw new DefinitionException("Could not instantiate client proxy for " + this, e);
+         throw new DefinitionException(PROXY_INSTANTIATION_FAILED, e, this);
       }
       catch (IllegalAccessException e)
       {
-         throw new DefinitionException("Could not access bean correctly when creating client proxy for " + this, e);
+         throw new DefinitionException(PROXY_INSTANTIATION_BEAN_ACCESS_FAILED, e, this);
       }
    }
 

Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ee/EEResourceProducerField.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ee/EEResourceProducerField.java	2009-11-08 10:30:59 UTC (rev 4777)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/builtin/ee/EEResourceProducerField.java	2009-11-08 12:00:28 UTC (rev 4778)
@@ -16,7 +16,10 @@
  */
 package org.jboss.weld.bean.builtin.ee;
 
+import static org.jboss.weld.logging.messages.BeanMessage.BEAN_NOT_EE_RESOURCE_PRODUCER;
 import static org.jboss.weld.logging.messages.BeanMessage.INVALID_RESOURCE_PRODUCER_FIELD;
+import static org.jboss.weld.logging.messages.BeanMessage.PROXY_INSTANTIATION_BEAN_ACCESS_FAILED;
+import static org.jboss.weld.logging.messages.BeanMessage.PROXY_INSTANTIATION_FAILED;
 
 import java.io.Serializable;
 
@@ -24,14 +27,16 @@
 import javax.enterprise.context.spi.CreationalContext;
 
 import org.jboss.weld.BeanManagerImpl;
+import org.jboss.weld.Container;
 import org.jboss.weld.ForbiddenStateException;
-import org.jboss.weld.Container;
+import org.jboss.weld.WeldException;
 import org.jboss.weld.bean.AbstractClassBean;
 import org.jboss.weld.bean.ProducerField;
 import org.jboss.weld.bean.builtin.CallableMethodHandler;
 import org.jboss.weld.bootstrap.BeanDeployerEnvironment;
 import org.jboss.weld.ejb.EJBApiAbstraction;
 import org.jboss.weld.introspector.WeldField;
+import org.jboss.weld.logging.messages.BeanMessage;
 import org.jboss.weld.persistence.PersistenceApiAbstraction;
 import org.jboss.weld.serialization.spi.ContextualStore;
 import org.jboss.weld.util.Proxies;
@@ -75,7 +80,7 @@
             }
             else
             {
-               throw new IllegalStateException("Bean is not an EE resource producer field. Bean: " + contextual);
+               throw new ForbiddenStateException(BEAN_NOT_EE_RESOURCE_PRODUCER, contextual);
             }
          }
          return instance;
@@ -120,11 +125,11 @@
       }
       catch (InstantiationException e)
       {
-         throw new RuntimeException("Error creating proxy for resource producer field. Field: " + this, e);
+         throw new WeldException(PROXY_INSTANTIATION_FAILED, e, this);
       }
       catch (IllegalAccessException e)
       {
-         throw new RuntimeException("Error creating proxy for resource field. Field: " + this, e);
+         throw new WeldException(PROXY_INSTANTIATION_BEAN_ACCESS_FAILED, e, this);
       }
    }
    

Modified: core/trunk/impl/src/main/java/org/jboss/weld/bean/proxy/ClientProxyProvider.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/bean/proxy/ClientProxyProvider.java	2009-11-08 10:30:59 UTC (rev 4777)
+++ core/trunk/impl/src/main/java/org/jboss/weld/bean/proxy/ClientProxyProvider.java	2009-11-08 12:00:28 UTC (rev 4778)
@@ -17,6 +17,7 @@
 package org.jboss.weld.bean.proxy;
 
 import static org.jboss.weld.logging.messages.BeanMessage.BEAN_ID_CREATION_FAILED;
+import static org.jboss.weld.logging.messages.BeanMessage.PROXY_INSTANTIATION_BEAN_ACCESS_FAILED;
 import static org.jboss.weld.logging.messages.BeanMessage.PROXY_INSTANTIATION_FAILED;
 
 import java.io.Serializable;
@@ -85,7 +86,7 @@
       }
       catch (IllegalAccessException e)
       {
-         throw new WeldException(BeanMessage.PROXY_INSTANTIATION_BEAN_ACCESS_FAILED, e, bean);
+         throw new WeldException(PROXY_INSTANTIATION_BEAN_ACCESS_FAILED, e, bean);
       }
    }
 

Modified: core/trunk/impl/src/main/java/org/jboss/weld/logging/messages/BeanMessage.java
===================================================================
--- core/trunk/impl/src/main/java/org/jboss/weld/logging/messages/BeanMessage.java	2009-11-08 10:30:59 UTC (rev 4777)
+++ core/trunk/impl/src/main/java/org/jboss/weld/logging/messages/BeanMessage.java	2009-11-08 12:00:28 UTC (rev 4778)
@@ -60,6 +60,9 @@
    @MessageId("000039") TYPED_CLASS_NOT_IN_HIERARCHY,
    @MessageId("000040") MULTIPLE_SCOPES_FOUND_FROM_STEREOTYPES,
    @MessageId("000041") NAME_NOT_ALLOWED_ON_SPECIALIZATION,
-   @MessageId("000042") NON_CONTAINER_DECORATOR
+   @MessageId("000042") NON_CONTAINER_DECORATOR,
+   @MessageId("000043") BEAN_NOT_EE_RESOURCE_PRODUCER,
+   @MessageId("000044") NULL_INSTANCE,
+   @MessageId("000045") PROXY_REQUIRED
    
 }

Modified: core/trunk/impl/src/main/resources/org/jboss/weld/messages/bean_en.properties
===================================================================
--- core/trunk/impl/src/main/resources/org/jboss/weld/messages/bean_en.properties	2009-11-08 10:30:59 UTC (rev 4777)
+++ core/trunk/impl/src/main/resources/org/jboss/weld/messages/bean_en.properties	2009-11-08 12:00:28 UTC (rev 4778)
@@ -22,6 +22,8 @@
 ANNOTATION_NOT_BINDING=The annotation {0} is not a binding for {1}
 DUPLICATE_BINDING=The annotation {0} is already present in the bindings list for {1}
 TYPE_PARAMETER_MUST_BE_CONCRETE=Type parameter must be a concrete type\:  {0}
+BEAN_NOT_EE_RESOURCE_PRODUCER=The following bean is not an EE resource producer\:  {0}
+NULL_INSTANCE=Unable to obtain instance from {0}
 VALIDATION_SERVICE_NOT_AVAILABLE=ValidationServices are not available
 INVALID_RESOURCE_PRODUCER_FIELD=Tried to create an EEResourceProducerField, but no @Resource, @PersistenceContext, @PersistenceUnit, @WebServiceRef or @EJB is present {0}
 SECURITY_SERVICES_NOT_AVAILABLE=SecurityServices not available
@@ -41,3 +43,4 @@
 NON_CONTAINER_DECORATOR=Cannot operate on non container provided decorator {0}
 NAME_NOT_ALLOWED_ON_SPECIALIZATION=Cannot put name on specializing and specialized class {0}
 INTERCEPTION_TYPE_NOT_LIFECYCLE=InterceptionType must be lifecycle, but it is {0}
+PROXY_REQUIRED=Proxy required



More information about the weld-commits mailing list