You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ke...@apache.org on 2012/10/26 03:22:50 UTC

git commit: Test of using Spring DI to implement Basic/Premium configuration

Updated Branches:
  refs/heads/javelin dcf3790e8 -> 16ed8701d


Test of using Spring DI to implement Basic/Premium configuration


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/16ed8701
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/16ed8701
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/16ed8701

Branch: refs/heads/javelin
Commit: 16ed8701dac6115708a2ac653d95d778da7f1af5
Parents: dcf3790
Author: Kelven Yang <ke...@gmail.com>
Authored: Thu Oct 25 18:22:19 2012 -0700
Committer: Kelven Yang <ke...@gmail.com>
Committed: Thu Oct 25 18:22:32 2012 -0700

----------------------------------------------------------------------
 utils/test/com/cloud/utils/DummyImpl.java          |   28 +++++++++++
 utils/test/com/cloud/utils/DummyInterface.java     |   21 +++++++++
 utils/test/com/cloud/utils/DummyPremiumImpl.java   |   30 ++++++++++++
 utils/test/com/cloud/utils/QualifierTest.java      |   36 +++++++++++++++
 utils/test/com/cloud/utils/db/DbAnnotatedBase.java |   10 ++++
 .../utils/db/TransactionContextBuilderTest.java    |    2 +-
 .../com/cloud/utils/QualifierTestContext.xml       |   19 ++++++++
 .../utils/db/transactionContextBuilderTest.xml     |   29 ++++++++++++
 .../resources/transactionContextBuilderTest.xml    |   30 ------------
 9 files changed, 174 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/16ed8701/utils/test/com/cloud/utils/DummyImpl.java
----------------------------------------------------------------------
diff --git a/utils/test/com/cloud/utils/DummyImpl.java b/utils/test/com/cloud/utils/DummyImpl.java
new file mode 100644
index 0000000..467d8e2
--- /dev/null
+++ b/utils/test/com/cloud/utils/DummyImpl.java
@@ -0,0 +1,28 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// 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 com.cloud.utils;
+
+import org.springframework.stereotype.Component;
+
+@Component
+public class DummyImpl implements DummyInterface {
+
+	@Override
+	public void foo() {
+		System.out.println("Basic foo implementation");
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/16ed8701/utils/test/com/cloud/utils/DummyInterface.java
----------------------------------------------------------------------
diff --git a/utils/test/com/cloud/utils/DummyInterface.java b/utils/test/com/cloud/utils/DummyInterface.java
new file mode 100644
index 0000000..f79a53e
--- /dev/null
+++ b/utils/test/com/cloud/utils/DummyInterface.java
@@ -0,0 +1,21 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// 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 com.cloud.utils;
+
+public interface DummyInterface {
+	void foo();
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/16ed8701/utils/test/com/cloud/utils/DummyPremiumImpl.java
----------------------------------------------------------------------
diff --git a/utils/test/com/cloud/utils/DummyPremiumImpl.java b/utils/test/com/cloud/utils/DummyPremiumImpl.java
new file mode 100644
index 0000000..111f087
--- /dev/null
+++ b/utils/test/com/cloud/utils/DummyPremiumImpl.java
@@ -0,0 +1,30 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// 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 com.cloud.utils;
+
+import org.springframework.context.annotation.Primary;
+import org.springframework.stereotype.Component;
+
+@Component
+@Primary
+public class DummyPremiumImpl implements DummyInterface {
+
+	@Override
+	public void foo() {
+		System.out.println("Premium foo implementation");
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/16ed8701/utils/test/com/cloud/utils/QualifierTest.java
----------------------------------------------------------------------
diff --git a/utils/test/com/cloud/utils/QualifierTest.java b/utils/test/com/cloud/utils/QualifierTest.java
new file mode 100644
index 0000000..10c0e81
--- /dev/null
+++ b/utils/test/com/cloud/utils/QualifierTest.java
@@ -0,0 +1,36 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// 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 com.cloud.utils;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations="classpath:/com/cloud/utils/QualifierTestContext.xml")
+public class QualifierTest {
+
+	@Autowired
+	DummyInterface _dummy;
+	
+	@Test
+	public void test() {
+		_dummy.foo();
+	}
+}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/16ed8701/utils/test/com/cloud/utils/db/DbAnnotatedBase.java
----------------------------------------------------------------------
diff --git a/utils/test/com/cloud/utils/db/DbAnnotatedBase.java b/utils/test/com/cloud/utils/db/DbAnnotatedBase.java
index c9b77b7..2160a35 100644
--- a/utils/test/com/cloud/utils/db/DbAnnotatedBase.java
+++ b/utils/test/com/cloud/utils/db/DbAnnotatedBase.java
@@ -16,6 +16,11 @@
 // under the License.
 package com.cloud.utils.db;
 
+
+import javax.annotation.PostConstruct;
+
+import junit.framework.Assert;
+
 import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
@@ -24,6 +29,11 @@ import org.springframework.stereotype.Component;
 public class DbAnnotatedBase {
     private static final Logger s_logger = Logger.getLogger(DbAnnotatedBase.class);
 
+    @PostConstruct
+    public void initTest() {
+    	Assert.assertTrue(true);
+    }
+    
     public void MethodWithClassDbAnnotated() {
     	s_logger.info("called");
     }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/16ed8701/utils/test/com/cloud/utils/db/TransactionContextBuilderTest.java
----------------------------------------------------------------------
diff --git a/utils/test/com/cloud/utils/db/TransactionContextBuilderTest.java b/utils/test/com/cloud/utils/db/TransactionContextBuilderTest.java
index 74e0ab9..ca9d47a 100644
--- a/utils/test/com/cloud/utils/db/TransactionContextBuilderTest.java
+++ b/utils/test/com/cloud/utils/db/TransactionContextBuilderTest.java
@@ -8,7 +8,7 @@ import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
 @RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(locations="classpath:/transactioncontextBuilderTest.xml")
+@ContextConfiguration(locations="classpath:/com/cloud/utils/db/transactioncontextBuilderTest.xml")
 public class TransactionContextBuilderTest {
 
 	@Inject

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/16ed8701/utils/test/resources/com/cloud/utils/QualifierTestContext.xml
----------------------------------------------------------------------
diff --git a/utils/test/resources/com/cloud/utils/QualifierTestContext.xml b/utils/test/resources/com/cloud/utils/QualifierTestContext.xml
new file mode 100644
index 0000000..c045f98
--- /dev/null
+++ b/utils/test/resources/com/cloud/utils/QualifierTestContext.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+  xmlns:context="http://www.springframework.org/schema/context"
+  xmlns:tx="http://www.springframework.org/schema/tx" 
+  xmlns:aop="http://www.springframework.org/schema/aop"
+  xsi:schemaLocation="http://www.springframework.org/schema/beans
+                      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+                      http://www.springframework.org/schema/tx 
+                      http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
+                      http://www.springframework.org/schema/aop
+                      http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
+                      http://www.springframework.org/schema/context
+                      http://www.springframework.org/schema/context/spring-context-3.0.xsd">                     
+  <context:annotation-config />
+  <context:component-scan base-package="org.apache.cloudstack, com.cloud" />
+
+</beans>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/16ed8701/utils/test/resources/com/cloud/utils/db/transactionContextBuilderTest.xml
----------------------------------------------------------------------
diff --git a/utils/test/resources/com/cloud/utils/db/transactionContextBuilderTest.xml b/utils/test/resources/com/cloud/utils/db/transactionContextBuilderTest.xml
new file mode 100644
index 0000000..8a34670
--- /dev/null
+++ b/utils/test/resources/com/cloud/utils/db/transactionContextBuilderTest.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+  xmlns:context="http://www.springframework.org/schema/context"
+  xmlns:tx="http://www.springframework.org/schema/tx" 
+  xmlns:aop="http://www.springframework.org/schema/aop"
+  xsi:schemaLocation="http://www.springframework.org/schema/beans
+                      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+                      http://www.springframework.org/schema/tx 
+                      http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
+                      http://www.springframework.org/schema/aop
+                      http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
+                      http://www.springframework.org/schema/context
+                      http://www.springframework.org/schema/context/spring-context-3.0.xsd">                     
+  <context:annotation-config />
+  <context:component-scan base-package="org.apache.cloudstack, com.cloud" />
+
+  <aop:config proxy-target-class="true">
+    <aop:aspect id="dbContextBuilder" ref="transactionContextBuilder">
+    <aop:pointcut id="captureAnyMethod"
+      expression="execution(* *(..))" />
+      <aop:around pointcut-ref="captureAnyMethod" method="AroundAnyMethod"/> 
+    </aop:aspect>
+  </aop:config>
+
+  <bean id="transactionContextBuilder" class="com.cloud.utils.db.TransactionContextBuilder" />
+  
+</beans>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/16ed8701/utils/test/resources/transactionContextBuilderTest.xml
----------------------------------------------------------------------
diff --git a/utils/test/resources/transactionContextBuilderTest.xml b/utils/test/resources/transactionContextBuilderTest.xml
deleted file mode 100644
index 4672343..0000000
--- a/utils/test/resources/transactionContextBuilderTest.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<beans xmlns="http://www.springframework.org/schema/beans"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-  xmlns:context="http://www.springframework.org/schema/context"
-  xmlns:tx="http://www.springframework.org/schema/tx" 
-  xmlns:aop="http://www.springframework.org/schema/aop"
-  xsi:schemaLocation="http://www.springframework.org/schema/beans
-                      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
-                      http://www.springframework.org/schema/tx 
-                      http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
-                      http://www.springframework.org/schema/aop
-                      http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
-                      http://www.springframework.org/schema/context
-                      http://www.springframework.org/schema/context/spring-context-3.0.xsd">                     
-  <context:annotation-config />
-           
-  <context:component-scan base-package="org.apache.cloudstack, com.cloud" />
-
-  <aop:config proxy-target-class="true">
-    <aop:aspect id="dbContextBuilder" ref="transactionContextBuilder">
-    <aop:pointcut id="captureAnyMethod"
-      expression="execution(* *(..))" />
-      <aop:around pointcut-ref="captureAnyMethod" method="AroundAnyMethod"/> 
-    </aop:aspect>
-  </aop:config>
-
-  <bean id="transactionContextBuilder" class="com.cloud.utils.db.TransactionContextBuilder" />
-  
-</beans>