X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=inline;f=org.argeo.slc.autoui.launcher%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fautoui%2Flauncher%2FMain.java;fp=org.argeo.slc.autoui.launcher%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fautoui%2Flauncher%2FMain.java;h=987a675e66c0a3135b58f7fc63e6a5d16edd29e2;hb=670599a6d8f4973ed32be513d3de9269b08c9b21;hp=cf5ec37902c965558773ce6bffa86fe62b42e4d4;hpb=f2c8d34fdf6ba4103b1226b50ce132fe98ff24bf;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.autoui.launcher/src/main/java/org/argeo/slc/autoui/launcher/Main.java b/org.argeo.slc.autoui.launcher/src/main/java/org/argeo/slc/autoui/launcher/Main.java index cf5ec3790..987a675e6 100644 --- a/org.argeo.slc.autoui.launcher/src/main/java/org/argeo/slc/autoui/launcher/Main.java +++ b/org.argeo.slc.autoui.launcher/src/main/java/org/argeo/slc/autoui/launcher/Main.java @@ -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);