1
2
3
4
5
6
7 package org.asyrinx.joey.gen.ant;
8
9 import java.io.IOException;
10 import java.util.Collections;
11 import java.util.List;
12 import java.util.Map;
13
14 import org.apache.tools.ant.Project;
15 import org.asyrinx.joey.gen.command.rdb2java.Rdb2JavaBuilder;
16 import org.asyrinx.joey.gen.model.java.AppDomain;
17 import org.asyrinx.joey.gen.model.rdb.Databases;
18 import org.xml.sax.SAXException;
19
20 /***
21 * @author takeshi
22 */
23 public class ModelLoaderImpl implements ModelLoader {
24
25 /***
26 *
27 */
28 public ModelLoaderImpl(DatabasesLoader databasesLoader, Rdb2JavaBuilder builder) {
29 super();
30 this.databasesLoader = databasesLoader;
31 this.builder = builder;
32 }
33
34 final Rdb2JavaBuilder builder;
35
36 final DatabasesLoader databasesLoader;
37
38 /***
39 * @param filesets
40 * @param project
41 * @return
42 * @throws SAXException
43 * @throws IOException
44 */
45 public Databases loadDatabaseModels(List filesets, Project project) throws IOException, SAXException {
46 final Databases result = databasesLoader.load(filesets, project);
47 return result;
48 }
49
50 /***
51 * @param databases
52 * @param project
53 * @return
54 */
55 public AppDomain loadAppDomainModel(Databases databases, Project project) {
56 builder.setProperties(Collections.unmodifiableMap(project.getProperties()));
57 final AppDomain domain = builder.execute(databases);
58 return domain;
59 }
60
61 /***
62 * @return
63 */
64 public Map getRdb2Java() {
65 return builder.getRdb2Java();
66 }
67
68 }