[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