]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.core/src/main/java/org/argeo/slc/unit/AbstractSpringTestCase.java
Create separate Hibernate project
[gpl/argeo-slc.git] / org.argeo.slc.core / src / main / java / org / argeo / slc / unit / AbstractSpringTestCase.java
index 06c6cf6b529b49dd642d11cb7baf391b7bda3878..4ad916d57018f671f5554a3aaab9ea9243118134 100644 (file)
@@ -5,8 +5,15 @@ import junit.framework.TestCase;
 import org.springframework.context.ApplicationContext;\r
 import org.springframework.context.support.ClassPathXmlApplicationContext;\r
 \r
+import org.apache.commons.logging.Log;\r
+import org.apache.commons.logging.LogFactory;\r
+\r
+import org.argeo.slc.core.SlcException;\r
+import org.argeo.slc.spring.SpringUtils;\r
+\r
 /** Helper for tests using a Spring application co,text. */\r
 public abstract class AbstractSpringTestCase extends TestCase {\r
+       protected final Log log = LogFactory.getLog(getClass());\r
        private ApplicationContext context;\r
 \r
        /**\r
@@ -21,10 +28,20 @@ public abstract class AbstractSpringTestCase extends TestCase {
                }\r
                return context;\r
        }\r
-       \r
+\r
        /** Returns a bean from the underlying context */\r
-       protected <T> T getBean(String beanId){\r
-               return (T)getContext().getBean(beanId);\r
+       protected <T> T getBean(String beanId) {\r
+               return (T) getContext().getBean(beanId);\r
+       }\r
+\r
+       protected <T> T getBean(Class<? extends T> clss) {\r
+               T bean = SpringUtils.loadSingleFromContext(getContext(), clss);\r
+               if (bean == null) {\r
+                       throw new SlcException("Cannot retrieve a unique bean of type "\r
+                                       + clss);\r
+               } else {\r
+                       return bean;\r
+               }\r
        }\r
 \r
        /**\r