Skip to content

Commit

Permalink
Refactor to remove *Model and *Constructor and xmlAnnotatedItem, part 2
Browse files Browse the repository at this point in the history
git-svn-id: http://anonsvn.jboss.org/repos/weld/ri/trunk@285 1c488680-804c-0410-94cd-c6b725194a0e
  • Loading branch information
pmuir committed Nov 9, 2008
1 parent ea93232 commit 1df06cf
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 109 deletions.
12 changes: 6 additions & 6 deletions webbeans-ri/src/test/java/org/jboss/webbeans/examples/Tests.java
Expand Up @@ -26,8 +26,8 @@ public void testGameGenerator() throws Exception {

private void setupGameGenerator() throws NoSuchMethodException
{
SimpleBean<Game> gameBean = Util.createSimpleWebBean(Game.class, manager);
SimpleBean<Generator> generatorBean = Util.createSimpleWebBean(Generator.class, manager);
SimpleBean<Game> gameBean = Util.createSimpleBean(Game.class, manager);
SimpleBean<Generator> generatorBean = Util.createSimpleBean(Generator.class, manager);
Method method = Generator.class.getDeclaredMethod("next");
method.setAccessible(true);
ProducerMethodBean<Integer> nextBean = Util.createProducerMethodBean(int.class, method, manager, generatorBean);
Expand Down Expand Up @@ -65,10 +65,10 @@ public void testSentenceTranslator() throws Exception {

private void setupTextTranslator()
{
SimpleBean<SentenceParser> spBean = Util.createSimpleWebBean(SentenceParser.class, manager);
SimpleBean<SentenceTranslator> stBean = Util.createSimpleWebBean(SentenceTranslator.class, manager);
SimpleBean<MockSentenceTranslator> mstBean = Util.createSimpleWebBean(MockSentenceTranslator.class, manager);
SimpleBean<TextTranslator> ttBean = Util.createSimpleWebBean(TextTranslator.class, manager);
SimpleBean<SentenceParser> spBean = Util.createSimpleBean(SentenceParser.class, manager);
SimpleBean<SentenceTranslator> stBean = Util.createSimpleBean(SentenceTranslator.class, manager);
SimpleBean<MockSentenceTranslator> mstBean = Util.createSimpleBean(MockSentenceTranslator.class, manager);
SimpleBean<TextTranslator> ttBean = Util.createSimpleBean(TextTranslator.class, manager);

manager.addBean(spBean);
manager.addBean(stBean);
Expand Down
Expand Up @@ -68,7 +68,7 @@ public void testStatefulEnterpriseBeanWithoutRemoveMethodInRequestScopeFails()
public void testAnnotationDefinedEnterpriseBeanWithoutDestructorUsesRemoveMethodWithoutParamsAsWebBeansRemoveMethod()
{
EnterpriseBean<Armant> whippet = Util.createEnterpriseBean(Armant.class, manager);
assert whippet.getRemoveMethod().getAnnotatedItem().getDelegate().getName().equals("destroy");
assert whippet.getRemoveMethod().getAnnotatedItem().getName().equals("destroy");
}

@Test
Expand Down
@@ -1,38 +1,38 @@
package org.jboss.webbeans.test.mock;

import org.jboss.webbeans.event.ObserverImpl;
import org.jboss.webbeans.injectable.InjectableMethod;
import org.jboss.webbeans.model.bean.BeanModel;

/**
* An implementation used for unit testing only.
* @author David Allen
*
*/
public class MockObserverImpl<T> extends ObserverImpl<T> {

private Object specializedInstance;

public MockObserverImpl(BeanModel<?, ?> beanModel,
InjectableMethod<Object> observer, Class<T> eventType)
{
super(beanModel, observer, eventType);
}

@Override
protected final Object getInstance() {
return specializedInstance;
}

/**
* The most specialized instance of this observer type.
* @param instance The instance to use for testing
*/
public final void setInstance(Object instance)
{
specializedInstance = instance;
}

}
package org.jboss.webbeans.test.mock;

import org.jboss.webbeans.bean.EventBean;
import org.jboss.webbeans.event.ObserverImpl;
import org.jboss.webbeans.introspector.impl.InjectableMethod;

/**
* An implementation used for unit testing only.
* @author David Allen
*
*/
public class MockObserverImpl<T> extends ObserverImpl<T> {

private Object specializedInstance;

public MockObserverImpl(EventBean<T> beanModel,
InjectableMethod<Object> observer, Class<T> eventType)
{
super(beanModel, observer, eventType);
}

@Override
protected final Object getInstance() {
return specializedInstance;
}

/**
* The most specialized instance of this observer type.
* @param instance The instance to use for testing
*/
public final void setInstance(Object instance)
{
specializedInstance = instance;
}

}
70 changes: 6 additions & 64 deletions webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java
@@ -1,86 +1,28 @@
package org.jboss.webbeans.test.util;

import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.util.HashMap;

import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.bean.AbstractBean;
import org.jboss.webbeans.bean.AbstractClassBean;
import org.jboss.webbeans.bean.EnterpriseBean;
import org.jboss.webbeans.bean.ProducerMethodBean;
import org.jboss.webbeans.bean.SimpleBean;
import org.jboss.webbeans.introspector.AnnotatedClass;
import org.jboss.webbeans.introspector.AnnotatedMethod;
import org.jboss.webbeans.introspector.impl.SimpleAnnotatedClass;
import org.jboss.webbeans.introspector.impl.SimpleAnnotatedMethod;
import org.jboss.webbeans.model.bean.EnterpriseBeanModel;
import org.jboss.webbeans.model.bean.ProducerMethodBeanModel;
import org.jboss.webbeans.model.bean.SimpleBeanModel;

public class Util
{
public static <T> SimpleBean<T> createSimpleWebBean(Class<T> clazz, ManagerImpl manager)
public static <T> SimpleBean<T> createSimpleBean(Class<T> clazz, ManagerImpl manager)
{
return new SimpleBean<T>(createSimpleModel(clazz, manager), manager);
return new SimpleBean<T>(clazz, manager);
}

public static <T> EnterpriseBean<T> createEnterpriseBean(Class<T> clazz, ManagerImpl manager)
{
return new EnterpriseBean<T>(createEnterpriseBeanModel(clazz, manager), manager);
return new EnterpriseBean<T>(clazz, manager);
}

public static <T> SimpleBeanModel<T> createSimpleModel(Class<T> clazz, ManagerImpl manager)
public static <T> ProducerMethodBean<T> createProducerMethodBean(Class<T> type, Method method, ManagerImpl manager, AbstractClassBean<?> declaringBean)
{
return new SimpleBeanModel<T>(new SimpleAnnotatedClass<T>(clazz), null, manager);
return new ProducerMethodBean<T>(method, declaringBean, manager);
}

public static <T> SimpleBeanModel<T> createSimpleModel(Class<T> clazz, AnnotatedClass<T> xmlAnnotatedType, ManagerImpl manager)
{
return new SimpleBeanModel<T>(new SimpleAnnotatedClass<T>(clazz), xmlAnnotatedType, manager);
}

private static <T> EnterpriseBeanModel<T> createEnterpriseBeanModel(Class<T> clazz, ManagerImpl manager)
{
return new EnterpriseBeanModel<T>(new SimpleAnnotatedClass<T>(clazz), null, manager);
}

private static <T> EnterpriseBeanModel<T> createEnterpriseBeanModel(Class<T> clazz, AnnotatedClass<T> xmlAnnotatedType, ManagerImpl manager)
{
return new EnterpriseBeanModel<T>(new SimpleAnnotatedClass<T>(clazz), xmlAnnotatedType, manager);
}

public static <T> ProducerMethodBean<T> createProducerMethodBean(Class<T> type, Method method, ManagerImpl manager, AbstractBean<?> declaringBean)
{
return new ProducerMethodBean<T>(createProducerMethodBeanModel(type, method, null, manager, declaringBean), manager);
}

public static <T> ProducerMethodBean<T> createProducerMethodBean(Class<T> type, Method method, ManagerImpl manager)
{
return createProducerMethodBean(type, method, manager, null);
}

private static <T> ProducerMethodBeanModel<T> createProducerMethodBeanModel(Class<T> type, Method method, ManagerImpl manager)
{
return createProducerMethodBeanModel(type, method, null, manager);
}

private static <T> ProducerMethodBeanModel<T> createProducerMethodBeanModel(Class<T> type, Method method, AnnotatedMethod<T> xmlAnnotatedMethod, ManagerImpl manager, AbstractBean<?> declaringBean)
{
return new ProducerMethodBeanModel<T>(new SimpleAnnotatedMethod<T>(method), xmlAnnotatedMethod, manager, declaringBean);
}

@Deprecated
public static <T> ProducerMethodBeanModel<T> createProducerMethodBeanModel(Class<T> type, Method method, AnnotatedMethod<T> xmlAnnotatedMethod, ManagerImpl manager)
{
return createProducerMethodBeanModel(type, method, xmlAnnotatedMethod, manager, null);
}

@Deprecated
public static <T> AnnotatedClass<T> getEmptyAnnotatedType(Class<T> type)
{
return new SimpleAnnotatedClass<T>(type, new HashMap<Class<? extends Annotation>, Annotation>());
}



}

0 comments on commit 1df06cf

Please sign in to comment.