Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/datacage/templating/App.java @ 1015:9a1a3080ad98
Bring user specific meta data service to life.
flys-artifacts/trunk@2461 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 03 Aug 2011 16:40:04 +0000 |
parents | b81626b10cb7 |
children | 0a5eff5511b1 |
comparison
equal
deleted
inserted
replaced
1014:66473e72d321 | 1015:9a1a3080ad98 |
---|---|
1 package de.intevation.flys.artifacts.datacage.templating; | 1 package de.intevation.flys.artifacts.datacage.templating; |
2 | |
3 import java.sql.Connection; | |
4 import java.sql.SQLException; | |
5 | 2 |
6 import java.util.Map; | 3 import java.util.Map; |
7 import java.util.HashMap; | 4 import java.util.HashMap; |
8 | 5 |
9 import java.io.IOException; | 6 import java.io.IOException; |
13 | 10 |
14 import de.intevation.flys.backend.SessionFactoryProvider; | 11 import de.intevation.flys.backend.SessionFactoryProvider; |
15 | 12 |
16 import org.hibernate.Session; | 13 import org.hibernate.Session; |
17 | 14 |
18 import org.hibernate.jdbc.Work; | |
19 | |
20 import org.w3c.dom.Document; | 15 import org.w3c.dom.Document; |
21 | 16 |
22 import org.apache.log4j.Logger; | 17 import org.apache.log4j.Logger; |
23 | 18 |
24 import de.intevation.artifacts.common.utils.XMLUtils; | 19 import de.intevation.artifacts.common.utils.XMLUtils; |
25 | 20 |
21 import de.intevation.flys.artifacts.datacage.Recommendations; | |
22 | |
26 public class App | 23 public class App |
27 { | 24 { |
28 private static Logger log = Logger.getLogger(App.class); | 25 private static Logger log = Logger.getLogger(App.class); |
29 | 26 |
30 public static final String template = | 27 public static final String systemTemplate = |
31 System.getProperty("meta.data.template", "meta-data-template.xml"); | 28 System.getProperty("meta.data.template", "meta-data-system.xml"); |
29 | |
30 public static final String userTemplate = | |
31 System.getProperty("meta.data.template", "meta-data-user.xml"); | |
32 | |
33 public static final String userId = | |
34 System.getProperty("user.id"); | |
32 | 35 |
33 public static final String PARAMETERS = | 36 public static final String PARAMETERS = |
34 System.getProperty("meta.data.parameters", ""); | 37 System.getProperty("meta.data.parameters", ""); |
35 | 38 |
36 public static final String OUTPUT = | 39 public static final String OUTPUT = |
50 return map; | 53 return map; |
51 } | 54 } |
52 | 55 |
53 public static void main(String [] args) { | 56 public static void main(String [] args) { |
54 | 57 |
55 NoneUserSpecific dc = new NoneUserSpecific( | 58 Recommendations rec = Recommendations.createRecommendations( |
56 NoneUserSpecific.createBuilder(new File(template))); | 59 new File(systemTemplate), |
60 new File(userTemplate)); | |
61 | |
62 if (rec == null) { | |
63 System.err.println("No recommendations created"); | |
64 return; | |
65 } | |
57 | 66 |
58 final Document result = XMLUtils.newDocument(); | 67 final Document result = XMLUtils.newDocument(); |
59 final Builder builder = dc.getBuilder(); | |
60 | |
61 if (builder == null) { | |
62 System.err.println("No builder created"); | |
63 return; | |
64 } | |
65 | 68 |
66 final Map<String, Object> parameters = getParameters(); | 69 final Map<String, Object> parameters = getParameters(); |
67 | 70 |
68 Session session = SessionFactoryProvider | 71 Session session = SessionFactoryProvider |
69 .createSessionFactory() | 72 .createSessionFactory() |
70 .openSession(); | 73 .openSession(); |
71 | 74 |
72 try { | 75 try { |
73 session.doWork(new Work() { | 76 rec.recommend(parameters, userId, result, session); |
74 @Override | |
75 public void execute(Connection connection) | |
76 throws SQLException | |
77 { | |
78 builder.build(connection, result, parameters); | |
79 } | |
80 | |
81 }); | |
82 } | 77 } |
83 finally { | 78 finally { |
84 session.close(); | 79 session.close(); |
85 } | 80 } |
86 | 81 |