1 package org.riverock.dbrevision.manager.config;
2
3 import java.io.InputStream;
4 import java.util.ArrayList;
5 import java.util.List;
6
7 import org.riverock.dbrevision.annotation.schema.db.DbRevision;
8 import org.riverock.dbrevision.exception.ConfigParseException;
9 import org.riverock.dbrevision.manager.Config;
10 import org.riverock.dbrevision.manager.ModuleConfig;
11 import org.riverock.dbrevision.utils.Utils;
12
13
14
15
16
17
18 public class JaxbConfigParserImpl implements ConfigParser {
19 public Config parse(InputStream inputStream) {
20 try {
21 DbRevision dbRevision = Utils.getObjectFromXml(DbRevision.class, inputStream);
22 List<ModuleConfig> modules = new ArrayList<ModuleConfig>();
23 for (DbRevision.Module module : dbRevision.getModules()) {
24 ModuleConfig m = new ModuleConfig();
25 m.setDescription(module.getDescription());
26 m.setName(module.getName());
27 m.setVersions(module.getVersions().getVersions());
28
29 modules.add(m);
30 }
31
32 Config config = new Config();
33 config.setModuleConfigs(modules);
34 return config;
35 }
36 catch (Exception e) {
37 throw new ConfigParseException(e);
38 }
39 }
40 }