View Javadoc

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   * User: SMaslyukov
15   * Date: 30.07.2007
16   * Time: 12:08:15
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  }