]> git.argeo.org Git - gpl/argeo-slc.git/commitdiff
Start using Spring
authorMathieu Baudier <mbaudier@argeo.org>
Thu, 25 Sep 2008 17:14:04 +0000 (17:14 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Thu, 25 Sep 2008 17:14:04 +0000 (17:14 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@1636 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.slc.autoui.launcher/pom.xml
org.argeo.slc.autoui.launcher/src/main/java/org/argeo/slc/autoui/launcher/Main.java
org.argeo.slc.autoui.launcher/src/main/resources/org/argeo/slc/autoui/launcher/felix.properties

index f49c9168d5256e9e36f17f01bb8aed34783b2539..76d65cc15a1c3036e2cdc12b00dc2f7eac50d2db 100644 (file)
                        <groupId>org.apache.felix</groupId>
                        <artifactId>org.apache.felix.main</artifactId>
                </dependency>
+               <!-- Spring -->
+               <dependency>
+                       <groupId>org.springframework</groupId>
+                       <artifactId>spring-core</artifactId>
+                       <version>2.0.8</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.springframework</groupId>
+                       <artifactId>spring-context</artifactId>
+                       <version>2.0.8</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.springframework</groupId>
+                       <artifactId>spring-beans</artifactId>
+                       <version>2.0.8</version>
+               </dependency>
        </dependencies>
 </project>
\ No newline at end of file
index cf5ec37902c965558773ce6bffa86fe62b42e4d4..987a675e66c0a3135b58f7fc63e6a5d16edd29e2 100644 (file)
@@ -3,6 +3,7 @@ package org.argeo.slc.autoui.launcher;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
+import java.net.URL;
 import java.util.ArrayList;
 import java.util.Enumeration;
 import java.util.List;
@@ -15,8 +16,13 @@ import org.apache.felix.main.AutoActivator;
 import org.argeo.slc.autoui.AutoUiActivator;
 import org.argeo.slc.autoui.AutoUiApplication;
 import org.netbeans.jemmy.ClassReference;
+import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
+import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.support.GenericApplicationContext;
+import org.springframework.core.io.UrlResource;
 
 public class Main {
 
@@ -26,12 +32,28 @@ public class Main {
                        Properties config = prepareConfig();
                        Felix felix = startSystem(config);
 
+                       // GenericApplicationContext context = new
+                       // GenericApplicationContext();
+                       // XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(
+                       // context);
+                       // Bundle[] bundles = felix.getBundleContext().getBundles();
+                       // for (int i = 0; i < bundles.length; i++) {
+                       // Bundle bundle = bundles[i];
+                       // URL url = bundle
+                       // .getResource("META-INF/slc/conf/applicationContext.xml");
+                       // if (url != null) {
+                       // System.out.println("Loads application context from bundle "
+                       // + bundle.getSymbolicName());
+                       // xmlReader.loadBeanDefinitions(new UrlResource(url));
+                       // }
+                       // }
+
                        // Start UI (in main class loader)
                        startUi(config);
 
                        // Automate
                        automateUi(felix.getBundleContext());
-                       
+
                        felix.stop();
                } catch (Exception e) {
                        e.printStackTrace();
@@ -104,11 +126,14 @@ public class Main {
                classReference.startApplication(uiArgs);
        }
 
-       protected static void automateUi(BundleContext context) throws Exception {
+       protected static void automateUi(BundleContext bundleContext)
+                       throws Exception {
                // Retrieve service and execute it
-               ServiceReference ref = context
+               ServiceReference ref = bundleContext
                                .getServiceReference("org.argeo.slc.autoui.AutoUiApplication");
-               Object service = context.getService(ref);
+               Object service = bundleContext.getService(ref);
+
+               // Object service = applicationContext.getBean("jemmyTest");
                AutoUiActivator.stdOut("service.class=" + service.getClass());
                AutoUiApplication app = (AutoUiApplication) service;
                app.execute(null);
index e89217cadb66a51dc3c372adeeaed72620f11a83..d3b0220659b3fe4756b93baa1dd4521c5d31cedb 100644 (file)
@@ -14,7 +14,12 @@ org.osgi.framework.system.packages=org.osgi.framework; version=1.4.0, \
  org.osgi.service.url; version=1.0.0, \
  org.osgi.util.tracker; version=1.3.3, \
  org.argeo.slc.autoui; version=0.10.3.SNAPSHOT, \
- org.argeo.slc.testui \
+ org.argeo.slc.testui, \
+ org.springframework.beans.factory.support,\
+ org.springframework.beans.factory.xml,\
+ org.springframework.context,\
+ org.springframework.context.support,\
+ org.springframework.core.io \
  ${jre-${java.specification.version}} 
 
 #org.osgi.framework.bootdelegation=sun.*,com.sun.*