]> git.argeo.org Git - gpl/argeo-slc.git/blob - sandbox/argeo.slc.executionflow/src/main/java/org/argeo/slc/executionflow/EfLauncher.java
98c191a3d26f24849d356bc05cdd49851f8e76b8
[gpl/argeo-slc.git] / sandbox / argeo.slc.executionflow / src / main / java / org / argeo / slc / executionflow / EfLauncher.java
1 package org.argeo.slc.executionflow;
2
3 import java.io.FileInputStream;
4 import java.io.FileNotFoundException;
5 import java.io.IOException;
6 import java.util.List;
7 import java.util.Map;
8 import java.util.Properties;
9
10 import org.apache.commons.io.IOUtils;
11 import org.apache.commons.logging.Log;
12 import org.apache.commons.logging.LogFactory;
13 import org.argeo.slc.logging.Log4jUtils;
14 import org.springframework.beans.MutablePropertyValues;
15 import org.springframework.beans.PropertyValue;
16 import org.springframework.beans.factory.config.BeanDefinition;
17 import org.springframework.beans.factory.support.BeanDefinitionRegistry;
18 import org.springframework.beans.factory.support.SimpleBeanDefinitionRegistry;
19 import org.springframework.beans.factory.xml.XmlBeanDefinitionParser;
20 import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
21 import org.springframework.context.support.FileSystemXmlApplicationContext;
22
23 public class EfLauncher {
24 private static Log log;
25
26 public static void main(String[] args) {
27 init();
28
29 String script = "src/slc/conf/main.xml";
30 //describe(script);
31
32 FileSystemXmlApplicationContext context = new FileSystemXmlApplicationContext(
33 script);
34 // context.start();
35
36 ExecutionFlow main = (ExecutionFlow)context.getBean("main");
37 main.execute();
38 /*
39 Map<String, ExecutionFlow> eFlows = context
40 .getBeansOfType(ExecutionFlow.class);
41 for (String name : eFlows.keySet()) {
42 log.info("##\n## Execute ExecutionFlow " + name);
43 ExecutionFlow eFlow = eFlows.get(name);
44 eFlow.execute();
45
46 }*/
47 }
48
49 private static void describe(String script){
50 SimpleBeanDefinitionRegistry registry = new SimpleBeanDefinitionRegistry();
51 XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(registry);
52 reader.loadBeanDefinitions("file:" + script);
53 new ConsoleContextDescriber().describeContext(registry);
54 }
55
56 private static void init() {
57 Properties userProperties = new Properties();
58 FileInputStream in = null;
59 try {
60 in = new FileInputStream("src/slc/conf/slc.properties");
61 userProperties.load(in);
62 } catch (Exception e) {
63 e.printStackTrace();
64 } finally {
65 IOUtils.closeQuietly(in);
66 }
67
68 // Set as System properties
69 for (Object obj : userProperties.keySet()) {
70 String key = obj.toString();
71 System.setProperty(key, userProperties.getProperty(key));
72 }
73
74 // Logging
75 System.setProperty("log4j.defaultInitOverride", "true");
76
77 Log4jUtils.initLog4j(null);
78 log = LogFactory.getLog(EfLauncher.class);
79
80 }
81
82 }