[seam-commits] Seam SVN: r11297 - in modules/trunk: international/src/main/java/org/jboss/seam/international and 2 other directories.
seam-commits at lists.jboss.org
seam-commits at lists.jboss.org
Mon Jul 20 18:51:43 EDT 2009
Author: norman.richards at jboss.com
Date: 2009-07-20 18:51:43 -0400 (Mon, 20 Jul 2009)
New Revision: 11297
Added:
modules/trunk/beans/src/main/java/org/jboss/seam/beans/BeanManagerHelper.java
Modified:
modules/trunk/beans/src/main/java/org/jboss/seam/beans/RuntimeBeanSelector.java
modules/trunk/international/src/main/java/org/jboss/seam/international/SeamResourceBundleAdapter.java
modules/trunk/international/src/main/java/org/jboss/seam/international/StatusMessage.java
modules/trunk/international/src/main/java/org/jboss/seam/international/StatusMessages.java
modules/trunk/resources/src/main/java/org/jboss/seam/resources/ResourceLoadingException.java
modules/trunk/web/src/main/java/org/jboss/seam/web/SeamFilter.java
Log:
some more api updates
Added: modules/trunk/beans/src/main/java/org/jboss/seam/beans/BeanManagerHelper.java
===================================================================
--- modules/trunk/beans/src/main/java/org/jboss/seam/beans/BeanManagerHelper.java (rev 0)
+++ modules/trunk/beans/src/main/java/org/jboss/seam/beans/BeanManagerHelper.java 2009-07-20 22:51:43 UTC (rev 11297)
@@ -0,0 +1,22 @@
+package org.jboss.seam.beans;
+
+import java.lang.annotation.Annotation;
+import java.util.Set;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
+
+public class BeanManagerHelper {
+ public static <T> T getInstanceByType(BeanManager manager, Class<T> beanType, Annotation... bindings)
+ {
+ Set<Bean<?>> beans = manager.getBeans(beanType, bindings);
+ Bean<?> bean = manager.resolve(beans);
+ Object reference = manager.getReference(bean, beanType, manager.createCreationalContext(bean));
+
+ @SuppressWarnings("unchecked")
+ T instance = (T) reference;
+
+ return instance;
+ }
+
+}
Modified: modules/trunk/beans/src/main/java/org/jboss/seam/beans/RuntimeBeanSelector.java
===================================================================
--- modules/trunk/beans/src/main/java/org/jboss/seam/beans/RuntimeBeanSelector.java 2009-07-20 15:49:08 UTC (rev 11296)
+++ modules/trunk/beans/src/main/java/org/jboss/seam/beans/RuntimeBeanSelector.java 2009-07-20 22:51:43 UTC (rev 11297)
@@ -55,17 +55,19 @@
throw new AmbiguousResolutionException("Too many instances active for type " + getType().getTypeParameters()[0]);
}
}
+
+ @SuppressWarnings("unchecked")
protected void registerImplementations()
{
- defaultInstance = manager.getInstanceByType(getType(), new AnnotationLiteral<Default>() {});
+ defaultInstance = BeanManagerHelper.getInstanceByType(manager, getType(), new AnnotationLiteral<Default>() {});
- Set<Bean<T>> implementations = manager.getBeans(getType(), new AnnotationLiteral<RuntimeSelected>() {});
- for (Bean<T> candidate : implementations)
+ Set<Bean<?>> implementations = manager.getBeans(getType(), new AnnotationLiteral<RuntimeSelected>() {});
+ for (Bean<?> candidate : implementations)
{
if (candidate.getTypes().contains(RuntimeSelectedBean.class))
{
- instances.add(manager.getInstance(candidate));
+ instances.add((T) manager.getReference(candidate, getType(), null));
}
}
}
Modified: modules/trunk/international/src/main/java/org/jboss/seam/international/SeamResourceBundleAdapter.java
===================================================================
--- modules/trunk/international/src/main/java/org/jboss/seam/international/SeamResourceBundleAdapter.java 2009-07-20 15:49:08 UTC (rev 11296)
+++ modules/trunk/international/src/main/java/org/jboss/seam/international/SeamResourceBundleAdapter.java 2009-07-20 22:51:43 UTC (rev 11297)
@@ -7,6 +7,7 @@
import javax.enterprise.inject.AnnotationLiteral;
import javax.enterprise.inject.spi.BeanManager;
+import org.jboss.seam.beans.BeanManagerHelper;
import org.jboss.seam.bridge.ManagerBridge;
/**
@@ -39,7 +40,7 @@
protected ResourceBundle getMessages()
{
- return getCurrentManager().getInstanceByType(ResourceBundle.class, new AnnotationLiteral<AutoInterpolatedMessages>(){});
+ return BeanManagerHelper.getInstanceByType(getCurrentManager(), ResourceBundle.class, new AnnotationLiteral<AutoInterpolatedMessages>(){});
}
protected BeanManager getCurrentManager()
Modified: modules/trunk/international/src/main/java/org/jboss/seam/international/StatusMessage.java
===================================================================
--- modules/trunk/international/src/main/java/org/jboss/seam/international/StatusMessage.java 2009-07-20 15:49:08 UTC (rev 11296)
+++ modules/trunk/international/src/main/java/org/jboss/seam/international/StatusMessage.java 2009-07-20 22:51:43 UTC (rev 11297)
@@ -37,6 +37,8 @@
*/
public class StatusMessage implements Serializable
{
+ private static final long serialVersionUID = -177606761939586298L;
+
/**
* The severity of the status message
*/
Modified: modules/trunk/international/src/main/java/org/jboss/seam/international/StatusMessages.java
===================================================================
--- modules/trunk/international/src/main/java/org/jboss/seam/international/StatusMessages.java 2009-07-20 15:49:08 UTC (rev 11296)
+++ modules/trunk/international/src/main/java/org/jboss/seam/international/StatusMessages.java 2009-07-20 22:51:43 UTC (rev 11297)
@@ -42,6 +42,7 @@
import javax.enterprise.inject.spi.BeanManager;
import javax.validation.ConstraintViolation;
+import org.jboss.seam.beans.BeanManagerHelper;
import org.jboss.seam.international.StatusMessage.Severity;
import org.jboss.webbeans.log.Log;
import org.jboss.webbeans.log.Logger;
@@ -457,7 +458,10 @@
// FIXME this is a hack because I can't inject it since ResourceBundle is not proxyable
if (manager.getBeans(ResourceBundle.class, new AnnotationLiteral<Messages>() {}).size() == 1)
{
- ResourceBundle resourceBundle = manager.getInstanceByType(ResourceBundle.class, new AnnotationLiteral<Messages>() {});
+ ResourceBundle resourceBundle =
+ BeanManagerHelper.getInstanceByType(manager,
+ ResourceBundle.class,
+ new AnnotationLiteral<Messages>() {});
try
{
String bundleMessage = resourceBundle.getString(key);
Modified: modules/trunk/resources/src/main/java/org/jboss/seam/resources/ResourceLoadingException.java
===================================================================
--- modules/trunk/resources/src/main/java/org/jboss/seam/resources/ResourceLoadingException.java 2009-07-20 15:49:08 UTC (rev 11296)
+++ modules/trunk/resources/src/main/java/org/jboss/seam/resources/ResourceLoadingException.java 2009-07-20 22:51:43 UTC (rev 11297)
@@ -3,14 +3,14 @@
*/
package org.jboss.seam.resources;
-import javax.inject.ExecutionException;
+//import javax.inject.ExecutionException;
/**
* Exception thrown when errors occur while loading resource
*
* @author Pete Muir
*/
-public class ResourceLoadingException extends ExecutionException
+public class ResourceLoadingException extends RuntimeException // extends ExecutionException
{
private static final long serialVersionUID = 1L;
Modified: modules/trunk/web/src/main/java/org/jboss/seam/web/SeamFilter.java
===================================================================
--- modules/trunk/web/src/main/java/org/jboss/seam/web/SeamFilter.java 2009-07-20 15:49:08 UTC (rev 11296)
+++ modules/trunk/web/src/main/java/org/jboss/seam/web/SeamFilter.java 2009-07-20 22:51:43 UTC (rev 11297)
@@ -2,6 +2,7 @@
import java.io.IOException;
+import javax.enterprise.inject.spi.BeanManager;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
@@ -12,6 +13,7 @@
import javax.servlet.http.HttpServletRequestWrapper;
import javax.servlet.http.HttpSession;
+import org.jboss.seam.beans.BeanManagerHelper;
import org.jboss.seam.bridge.ManagerBridge;
/**
@@ -60,7 +62,9 @@
private void registerSession(HttpSession session)
{
- ManagerBridge.getProvider().getCurrentManager().getInstanceByType(HttpSessionManager.class).setSession(session);
+ BeanManager manager = ManagerBridge.getProvider().getCurrentManager();
+ HttpSessionManager sessionManager = BeanManagerHelper.getInstanceByType(manager, HttpSessionManager.class);
+ sessionManager.setSession(session);
registeredSession = session;
}
More information about the seam-commits
mailing list