1
2
3
4
5
6
7 package org.asyrinx.joey.gen.command.rdb;
8
9 import java.util.HashMap;
10 import java.util.Iterator;
11 import java.util.Map;
12
13 import org.asyrinx.joey.gen.model.rdb.Database;
14 import org.asyrinx.joey.gen.model.rdb.Databases;
15
16 /***
17 * @author takeshi
18 */
19 public class MergeDatabases extends RdbCommand {
20
21 /***
22 *
23 */
24 public MergeDatabases() {
25 super();
26 }
27
28
29
30
31
32
33 public void visit(Databases databases) {
34 final Map dbMap = new HashMap();
35
36 for (final Iterator i = databases.getDatabases().iterator(); i.hasNext();) {
37 final Database db = (Database) i.next();
38 final Database committed = (Database) dbMap.get(db.getName());
39 if (committed == null) {
40 dbMap.put(db.getName(), db);
41 } else {
42 db.moveTables(committed);
43 db.moveEnumerations(committed);
44 i.remove();
45 }
46 }
47 }
48 }