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>