X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.slc.core%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Funit%2FAbstractSpringTestCase.java;h=4ad916d57018f671f5554a3aaab9ea9243118134;hb=3b00f618dbc08ee5f28861d0bcf5079e6c3d8da4;hp=06c6cf6b529b49dd642d11cb7baf391b7bda3878;hpb=4a32164c4b6e1b1fced50f37e503965c0e3843a9;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/unit/AbstractSpringTestCase.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/unit/AbstractSpringTestCase.java index 06c6cf6b5..4ad916d57 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/unit/AbstractSpringTestCase.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/unit/AbstractSpringTestCase.java @@ -5,8 +5,15 @@ import junit.framework.TestCase; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import org.argeo.slc.core.SlcException; +import org.argeo.slc.spring.SpringUtils; + /** Helper for tests using a Spring application co,text. */ public abstract class AbstractSpringTestCase extends TestCase { + protected final Log log = LogFactory.getLog(getClass()); private ApplicationContext context; /** @@ -21,10 +28,20 @@ public abstract class AbstractSpringTestCase extends TestCase { } return context; } - + /** Returns a bean from the underlying context */ - protected T getBean(String beanId){ - return (T)getContext().getBean(beanId); + protected T getBean(String beanId) { + return (T) getContext().getBean(beanId); + } + + protected T getBean(Class clss) { + T bean = SpringUtils.loadSingleFromContext(getContext(), clss); + if (bean == null) { + throw new SlcException("Cannot retrieve a unique bean of type " + + clss); + } else { + return bean; + } } /**