annotate src/main/java/de/mpiwg/itgroup/ismi/merge/ImportMerge.java @ 97:13b313ae1af8

new import-merge works now.
author casties
date Fri, 28 Oct 2016 18:21:07 +0200
parents 895bf7494d17
children 9b02c9af49b0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
1 package de.mpiwg.itgroup.ismi.merge;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
2
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
3 import java.io.File;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
4 import java.io.FileInputStream;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
5 import java.io.InputStreamReader;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
6 import java.io.Reader;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
7 import java.io.Serializable;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
8 import java.util.ArrayList;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
9 import java.util.HashMap;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
10 import java.util.List;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
11 import java.util.Map;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
12
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
13 import javax.faces.event.ActionEvent;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
14 import javax.faces.model.SelectItem;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
15
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
16 import org.apache.commons.lang.StringUtils;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
17 import org.apache.log4j.Logger;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
18 import org.mpi.openmind.repository.bo.Attribute;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
19 import org.mpi.openmind.repository.bo.Entity;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
20 import org.mpi.openmind.repository.bo.Node;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
21 import org.mpi.openmind.repository.bo.Relation;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
22 import org.mpi.openmind.repository.utils.CsvNodeListReader;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
23
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
24 import de.mpiwg.itgroup.ismi.entry.beans.AbstractISMIBean;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
25
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
26 public class ImportMerge extends AbstractISMIBean implements Serializable {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
27
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
28 private static Logger logger = Logger.getLogger(ImportMerge.class);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
29
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
30 private static final long serialVersionUID = 1L;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
31
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
32 private String importFilename = "/var/tmp/ismi-import.csv";
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
33 private String importFileMsg = null;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
34
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
35 private List<Node> importNodeList;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
36 private int importNodeIdx;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
37 private int importNodeListLength = 0;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
38 private Node importNode;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
39 private String importNodeMsg;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
40
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
41 public static String FIRST_VALUE = "old value";
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
42 public static String SECOND_VALUE = "new value";
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
43 public static String IGNORE = "ignore";
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
44 public static String TAKE = "take";
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
45
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
46 private boolean showAttributeMapping = false;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
47 private boolean showSrcRelationMapping = false;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
48 private boolean showTarRelationMapping = false;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
49
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
50 private boolean entitiesLoaded = false;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
51
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
52 private Map<String, String> firstAttMap = new HashMap<String, String>();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
53 private Map<String, String> secondAttMap = new HashMap<String, String>();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
54
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
55 private Entity firstEntity;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
56 private Entity secondEntity;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
57
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
58 private String firstId;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
59 private String secondId;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
60
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
61 private Entity entResult;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
62 private List<Attribute> resultAtts;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
63 private List<Relation> resultSrcRels;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
64 private List<Relation> resultTarRels;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
65
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
66 private List<String> attLabels;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
67 private Map<String, String> selectedAtts;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
68
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
69 Map<Long, String> selectedFirstSrcRelations;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
70 Map<Long, String> selectedSecondSrcRelations;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
71 Map<Long, String> selectedFirstTarRelations;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
72 Map<Long, String> selectedSecondTarRelations;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
73
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
74
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
75 public ImportMerge() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
76 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
77
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
78 /**
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
79 * Action that loads the import file and parses it into the Nodes list.
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
80 *
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
81 * @param event
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
82 */
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
83 public void loadImportFile(ActionEvent event) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
84 reset();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
85 try {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
86 File importFile = new File(this.importFilename);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
87 if (!importFile.canRead()) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
88 this.importFileMsg = "File missing!";
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
89 return;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
90 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
91 Reader importReader = new InputStreamReader(new FileInputStream(importFile), "UTF-8");
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
92 importNodeList = CsvNodeListReader.readCsv(importReader);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
93
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
94 this.importNodeListLength = importNodeList.size();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
95 this.importFileMsg = importNodeListLength + " Nodes";
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
96 this.importNodeIdx = 0;
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
97 loadImportNode();
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
98
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
99 } catch (Exception e) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
100 addErrorMsg("The import file could no be loaded.");
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
101 addErrorMsg("Error: "+e);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
102 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
103 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
104
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
105 /**
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
106 * Load the current Node from the import list.
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
107 *
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
108 * @param event
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
109 */
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
110 public void loadImportNode() {
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
111 reset();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
112 try {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
113 importNode = importNodeList.get(importNodeIdx);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
114 importNodeMsg = null;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
115 firstEntity = null;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
116 secondEntity = null;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
117
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
118 if (importNode.getNodeType().equals("ATTRIBUTE")) {
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
119 /*
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
120 * Attribute
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
121 */
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
122 Attribute att = (Attribute) importNode;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
123 String attName = att.getName();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
124 if (attName == null) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
125 importNodeMsg = "Attribute has no name!";
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
126 return;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
127 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
128 Long source_id = att.getSourceId();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
129 if (source_id == null) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
130 importNodeMsg = "Attribute has no source_id to attach to!";
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
131 return;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
132 } else {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
133 Entity systemEnt = getWrapper().getEntityById(source_id);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
134 if (systemEnt != null) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
135 if (systemEnt.isLightweight()) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
136 systemEnt = getWrapper().getEntityContent(systemEnt);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
137 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
138 Attribute systemAtt = systemEnt.getAttributeByName(attName);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
139 if ((systemAtt != null) && (systemAtt.getOwnValue().equals(att.getOwnValue()))) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
140 importNodeMsg = "Same attribute exists already!";
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
141 return;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
142 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
143 // create new Entity with this Attribute
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
144 Entity newEnt = (Entity) systemEnt.clone();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
145 newEnt.addAttribute(att);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
146 this.secondEntity = newEnt;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
147 // compare with old version
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
148 this.firstEntity = systemEnt;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
149 } else {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
150 importNodeMsg = "Entity for Attribute does not exist!";
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
151 return;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
152 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
153 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
154 } else if (importNode.getNodeType().equals("ENTITY")) {
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
155 /*
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
156 * Entity
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
157 */
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
158 Entity ent = (Entity) importNode;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
159 Long id = ent.getId();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
160 if (id == null) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
161 // new Entity
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
162 this.secondEntity = ent;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
163 // what to use to compare?
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
164 this.firstEntity = new Entity();
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
165 this.firstEntity.setLightweight(false);
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
166
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
167 } else {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
168 // entity exists
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
169 Entity systemEnt = getWrapper().getEntityById(id);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
170 if (systemEnt != null) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
171 if (systemEnt.isLightweight()) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
172 systemEnt = getWrapper().getEntityContent(systemEnt);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
173 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
174 importNodeMsg = "Entity exists (but may be different).";
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
175 // TODO: does it make sense to check for equality?
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
176 this.secondEntity = ent;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
177 // compare with old version
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
178 this.firstEntity = systemEnt;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
179 } else {
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
180 importNodeMsg = "Entity does not exist!";
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
181 // TODO: try to undelete?
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
182 this.firstEntity = new Entity();
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
183 this.firstEntity.setLightweight(false);
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
184 this.secondEntity = ent;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
185 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
186 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
187 } else if (importNode.getNodeType().equals("RELATION")) {
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
188 /*
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
189 * Relation
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
190 */
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
191 Relation rel = (Relation) importNode;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
192 String relName = rel.getObjectClass();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
193 if (relName == null) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
194 importNodeMsg = "Relation has no name!";
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
195 return;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
196 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
197 Long source_id = rel.getSourceId();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
198 Long target_id = rel.getTargetId();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
199 if (source_id == null) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
200 importNodeMsg = "Relation has no source_id!";
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
201 return;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
202 } else if (target_id == null) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
203 importNodeMsg = "Relation has no target_id!";
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
204 return;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
205 } else {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
206 Entity sourceEnt = getWrapper().getEntityById(source_id);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
207 Entity targetEnt = getWrapper().getEntityById(target_id);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
208 if (sourceEnt == null) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
209 importNodeMsg = "Relation source does not exist!";
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
210 } else if (targetEnt == null) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
211 importNodeMsg = "Relation target does not exist!";
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
212 } else {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
213 if (sourceEnt.isLightweight()) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
214 sourceEnt = getWrapper().getEntityContent(sourceEnt);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
215 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
216 Relation systemRel = sourceEnt.getSourceRelation(relName, target_id);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
217 if ((systemRel != null) && (systemRel.getObjectClass().equals(rel.getObjectClass()))) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
218 // TODO: also check Relation attributes
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
219 importNodeMsg = "Same Relation exists already!";
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
220 return;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
221 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
222 // create new Entity with this Relation
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
223 Entity newEnt = new Entity();
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
224 newEnt.setLightweight(false);
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
225 newEnt.addSourceRelation(rel);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
226 this.secondEntity = newEnt;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
227 // compare with old version
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
228 this.firstEntity = sourceEnt;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
229 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
230 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
231 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
232 } catch (Exception e) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
233 addErrorMsg("The import Node could no be loaded.");
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
234 addErrorMsg("Error: "+e);
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
235 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
236 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
237
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
238 public void skipCurrentNode(ActionEvent event) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
239 importNodeIdx += 1;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
240 if (importNodeIdx >= importNodeList.size()) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
241 importNodeIdx = importNodeList.size() - 1;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
242 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
243 if (importNodeIdx < 0) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
244 importNodeIdx = 0;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
245 }
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
246 loadImportNode();
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
247 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
248
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
249 public void loadFirstEntity(ActionEvent event) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
250 reset();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
251 try {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
252 if (firstEntity != null && secondEntity != null) {
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
253 // create list of differences
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
254 deployDifferences();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
255 } else {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
256 if (importNodeMsg != null) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
257 addErrorMsg(importNodeMsg);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
258 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
259 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
260 } catch (Exception e) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
261 addErrorMsg("The first entity could no be loaded.");
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
262 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
263 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
264
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
265 @Override
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
266 public void reset() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
267 this.attLabels = new ArrayList<String>();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
268 this.selectedAtts = new HashMap<String, String>();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
269 this.selectedFirstSrcRelations = new HashMap<Long, String>();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
270 this.selectedSecondSrcRelations = new HashMap<Long, String>();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
271 this.selectedFirstTarRelations = new HashMap<Long, String>();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
272 this.selectedSecondTarRelations = new HashMap<Long, String>();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
273 this.entResult = null;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
274
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
275 this.entitiesLoaded = false;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
276 this.showAttributeMapping = false;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
277 this.showSrcRelationMapping = false;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
278 this.showTarRelationMapping = false;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
279 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
280
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
281 /**
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
282 * Create list of differences in attributes and relations for display.
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
283 */
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
284 private void deployDifferences() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
285 this.showAttributeMapping = true;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
286 this.showSrcRelationMapping = true;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
287 this.showTarRelationMapping = true;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
288 this.entitiesLoaded = true;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
289 if (this.firstEntity != null && this.secondEntity != null) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
290 /*
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
291 if (firstEntity.isLightweight()) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
292 this.firstEntity = getWrapper().getEntityContent(this.firstEntity);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
293 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
294 if (secondEntity.isLightweight()) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
295 this.secondEntity = getWrapper().getEntityContent(this.secondEntity);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
296 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
297
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
298 this.firstEntity = (Entity) firstEntity.clone();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
299 this.secondEntity = (Entity) secondEntity.clone();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
300 */
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
301
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
302 /*
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
303 * attributes
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
304 */
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
305 this.attLabels = new ArrayList<String>();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
306 this.selectedAtts = new HashMap<String, String>();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
307 this.firstAttMap = new HashMap<String, String>();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
308 this.secondAttMap = new HashMap<String, String>();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
309
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
310 for (Attribute att : this.firstEntity.getAttributes()) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
311 firstAttMap.put(att.getName(), att.getValue());
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
312 if (!attLabels.contains(att.getName())) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
313 attLabels.add(att.getName());
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
314 selectedAtts.put(att.getName(), FIRST_VALUE);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
315 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
316 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
317
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
318 for (Attribute att : this.secondEntity.getAttributes()) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
319 secondAttMap.put(att.getName(), att.getValue());
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
320 if (!attLabels.contains(att.getName())) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
321 attLabels.add(att.getName());
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
322 selectedAtts.put(att.getName(), FIRST_VALUE);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
323 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
324 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
325
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
326 /*
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
327 * source relations
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
328 */
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
329 this.selectedFirstSrcRelations = new HashMap<Long, String>();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
330 this.selectedSecondSrcRelations = new HashMap<Long, String>();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
331
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
332 for (Relation rel : this.firstEntity.getSourceRelations()) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
333 rel.setTarget(getWrapper().getEntityById(rel.getTargetId()));
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
334 selectedFirstSrcRelations.put(rel.getId(), TAKE);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
335 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
336
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
337 for (Relation rel : this.secondEntity.getSourceRelations()) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
338 rel.setTarget(getWrapper().getEntityById(rel.getTargetId()));
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
339 selectedSecondSrcRelations.put(rel.getId(), TAKE);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
340 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
341
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
342 /*
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
343 * target relations
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
344 */
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
345 this.selectedFirstTarRelations = new HashMap<Long, String>();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
346 this.selectedSecondTarRelations = new HashMap<Long, String>();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
347
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
348 for (Relation rel : this.firstEntity.getTargetRelations()) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
349 rel.setSource(getWrapper().getEntityById(rel.getSourceId()));
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
350 selectedFirstTarRelations.put(rel.getId(), TAKE);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
351 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
352
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
353 for (Relation rel : this.secondEntity.getTargetRelations()) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
354 rel.setSource(getWrapper().getEntityById(rel.getSourceId()));
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
355 selectedSecondTarRelations.put(rel.getId(), TAKE);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
356 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
357
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
358 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
359 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
360
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
361 /**
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
362 * Preview merged Entity as text.
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
363 *
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
364 * @param event
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
365 */
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
366 public void preview(ActionEvent event) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
367 this.generateResultEntity();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
368 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
369
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
370 /**
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
371 * Execute Merge action from UI.
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
372 */
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
373 public void listenerExecuteMerge() {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
374 this.executeMerge();
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
375 getAppBean().getSimpleSearchCache().setMapDirty(true);
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
376 }
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
377
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
378 /**
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
379 * Merge Entities.
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
380 *
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
381 * firstEntity is current one. secondEntity is imported.
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
382 */
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
383 private void executeMerge() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
384
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
385 logger.info("Starting merge import " + firstEntity.getObjectClass() + " [" + getUserName() + "]"
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
386 + "[firstEntity=" + firstEntity.getId() + ", secondEntity=" + secondEntity.getId() + "]");
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
387
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
388 try {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
389 this.generateResultEntity();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
390 if (this.entResult != null) {
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
391 // print to log
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
392 this.printMergeInfo(entResult);
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
393 // save the new Entity
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
394 this.getWrapper().saveEntity(this.entResult, getSessionUser().getEmail() + "_merge");
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
395 // update generated ownvalues
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
396 this.updateRelatedOW(this.entResult, getSessionUser().getEmail() + "_merge");
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
397
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
398 logger.info("Merge import successful " + firstEntity.getObjectClass() + " [" + getUserName() + "]"
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
399 + "[firstEntity=" + firstEntity.getId() + ", secondEntity=" + secondEntity.getId()
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
400 + ", generatedEntity=" + entResult.getId() + "]");
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
401
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
402 this.firstEntity = null;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
403 this.secondEntity = null;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
404
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
405 addGeneralMsg("The imported entity was merged successfully");
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
406 addGeneralMsg("The new entity has the id " + this.entResult.getId());
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
407 this.reset();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
408 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
409 } catch (Exception e) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
410 printInternalError(e);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
411 logger.error("[" + getUserName() + "] " + e.getMessage(), e);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
412 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
413 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
414
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
415 private void printMergeInfo(Entity ent) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
416 StringBuilder sb = new StringBuilder("\n\n");
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
417
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
418 sb.append("-----------------------------------------\n");
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
419 sb.append("Merging result [" + getUserName() + "]\n");
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
420 sb.append(ent.toString() + "\n");
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
421 sb.append("Attributes:\n");
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
422 for (Attribute att : ent.getAttributes()) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
423 sb.append("\t" + att.toString() + "\n");
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
424 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
425
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
426 sb.append("Src Relations:\n");
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
427 for (Relation src : ent.getSourceRelations()) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
428 sb.append("\t" + src.toString() + "\n");
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
429 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
430
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
431 sb.append("Tar Relations:\n");
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
432 for (Relation tar : ent.getTargetRelations()) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
433 sb.append("\t" + tar.toString() + "\n");
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
434 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
435
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
436 sb.append("-----------------------------------------\n");
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
437 logger.info(sb.toString());
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
438 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
439
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
440 /**
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
441 * Generate new Entity taking selected Attributes and Relations from both Entities.
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
442 *
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
443 * Uses id from firstEntity, creating a new version of this entity.
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
444 */
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
445 private void generateResultEntity() {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
446 // create new Entity
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
447 this.entResult = new Entity();
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
448 this.entResult.setLightweight(false);
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
449 // use id from firstEntity
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
450 Long newId = this.firstEntity.getId();
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
451 if (newId == null) {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
452 // Entity is new -- try imported id
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
453 newId = secondEntity.getId();
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
454 }
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
455 this.entResult.setId(newId);
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
456 // use object_class from firstEntity
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
457 String oc = this.firstEntity.getObjectClass();
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
458 if (oc == null) {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
459 // Entity is new -- try imported object_class
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
460 oc = secondEntity.getObjectClass();
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
461 }
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
462 this.entResult.setObjectClass(oc);
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
463
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
464 /*
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
465 * generating attributes
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
466 */
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
467 try {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
468 for (String attName : this.selectedAtts.keySet()) {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
469 String selected = this.selectedAtts.get(attName);
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
470 String value = "";
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
471 if (selected.equals(FIRST_VALUE)) {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
472 value = (firstEntity.getAttributeByName(attName) == null) ? ""
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
473 : firstEntity.getAttributeByName(attName).getOwnValue();
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
474 } else if (selected.equals(SECOND_VALUE)) {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
475 value = (secondEntity.getAttributeByName(attName) == null) ? ""
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
476 : secondEntity.getAttributeByName(attName).getOwnValue();
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
477 }
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
478 this.entResult.addAttribute(new Attribute(attName, "text", value));
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
479 }
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
480 } catch (Exception e) {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
481 logger.error(e);
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
482 addErrorMsg("Please inform support of this exception: " + e.getMessage());
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
483 }
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
484
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
485 /*
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
486 * generating source relations
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
487 */
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
488 for (Relation rel : firstEntity.getSourceRelations()) {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
489 String selectedValue = this.selectedFirstSrcRelations.get(rel.getId());
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
490 if (StringUtils.isNotEmpty(selectedValue) && selectedValue.equals(TAKE)) {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
491 if (!this.entResult.containsSourceRelation(rel.getOwnValue(), rel.getTargetId())) {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
492 this.entResult.addSourceRelation(generateSrcRelation(rel));
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
493 }
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
494 }
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
495 }
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
496
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
497 for (Relation rel : secondEntity.getSourceRelations()) {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
498 String selectedValue = this.selectedSecondSrcRelations.get(rel.getId());
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
499 if (StringUtils.isNotEmpty(selectedValue) && selectedValue.equals(TAKE)) {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
500 if (!this.entResult.containsSourceRelation(rel.getOwnValue(), rel.getTargetId())) {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
501 this.entResult.addSourceRelation(generateSrcRelation(rel));
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
502 }
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
503 }
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
504 }
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
505
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
506 /*
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
507 * generating target relations
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
508 */
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
509 for (Relation rel : firstEntity.getTargetRelations()) {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
510 String selectedValue = this.selectedFirstTarRelations.get(rel.getId());
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
511 if (StringUtils.isNotEmpty(selectedValue) && selectedValue.equals(TAKE)) {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
512 // ensuring that there is no two equals relations.
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
513 if (!this.entResult.containsTargetRelation(rel.getOwnValue(), rel.getSourceId())) {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
514 this.entResult.addTargetRelation(generateTarRelation(rel));
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
515 }
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
516 }
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
517 }
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
518
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
519 for (Relation rel : secondEntity.getTargetRelations()) {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
520 String selectedValue = this.selectedSecondTarRelations.get(rel.getId());
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
521 if (StringUtils.isNotEmpty(selectedValue) && selectedValue.equals(TAKE)) {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
522 if (!this.entResult.containsTargetRelation(rel.getOwnValue(), rel.getSourceId())) {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
523 this.entResult.addTargetRelation(generateTarRelation(rel));
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
524 }
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
525 }
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
526 }
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
527 }
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
528
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
529 private Relation generateSrcRelation(Relation rel) {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
530 Relation newRel = new Relation();
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
531 newRel.setOwnValue(rel.getOwnValue());
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
532 newRel.setTarget(getWrapper().getEntityById(rel.getTargetId()));
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
533 return newRel;
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
534 }
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
535
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
536 private Relation generateTarRelation(Relation rel) {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
537 Relation newRel = new Relation();
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
538 newRel.setOwnValue(rel.getOwnValue());
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
539 newRel.setSource(getWrapper().getEntityById(rel.getSourceId()));
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
540 return newRel;
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
541 }
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
542
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
543 public List<SelectItem> getAttSelectItems() {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
544 List<SelectItem> items = new ArrayList<SelectItem>();
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
545 items.add(new SelectItem(FIRST_VALUE));
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
546 items.add(new SelectItem(SECOND_VALUE));
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
547 items.add(new SelectItem(IGNORE));
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
548 return items;
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
549 }
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
550
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
551 public List<SelectItem> getRelSelectItems() {
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
552 List<SelectItem> items = new ArrayList<SelectItem>();
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
553 items.add(new SelectItem(TAKE));
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
554 items.add(new SelectItem(IGNORE));
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
555 return items;
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
556 }
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
557
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
558 public void actionShowTarRelationMapping(ActionEvent event) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
559 this.showTarRelationMapping = true;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
560 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
561
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
562 public void actionHideTarRelationMapping(ActionEvent event) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
563 this.showTarRelationMapping = false;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
564 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
565
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
566 public void actionShowSrcRelationMapping(ActionEvent event) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
567 this.showSrcRelationMapping = true;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
568 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
569
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
570 public void actionHideSrcRelationMapping(ActionEvent event) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
571 this.showSrcRelationMapping = false;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
572 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
573
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
574 public void actionShowAttributeMapping(ActionEvent event) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
575 this.showAttributeMapping = true;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
576 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
577
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
578 public void actionHideAttributeMapping(ActionEvent event) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
579 this.showAttributeMapping = false;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
580 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
581
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
582 public Entity getEntResult() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
583 return entResult;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
584 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
585
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
586 public void setEntResult(Entity entResult) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
587 this.entResult = entResult;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
588 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
589
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
590 public List<Attribute> getResultAtts() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
591 return resultAtts;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
592 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
593
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
594 public void setResultAtts(List<Attribute> resultAtts) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
595 this.resultAtts = resultAtts;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
596 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
597
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
598 public List<Relation> getResultSrcRels() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
599 return resultSrcRels;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
600 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
601
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
602 public void setResultSrcRels(List<Relation> resultSrcRels) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
603 this.resultSrcRels = resultSrcRels;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
604 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
605
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
606 public List<Relation> getResultTarRels() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
607 return resultTarRels;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
608 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
609
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
610 public void setResultTarRels(List<Relation> resultTarRels) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
611 this.resultTarRels = resultTarRels;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
612 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
613
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
614 public Entity getFirstEntity() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
615 return firstEntity;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
616 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
617
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
618 public void setFirstEntity(Entity firstEntity) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
619 this.firstEntity = firstEntity;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
620 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
621
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
622 public Entity getSecondEntity() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
623 return secondEntity;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
624 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
625
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
626 public void setSecondEntity(Entity secondEntity) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
627 this.secondEntity = secondEntity;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
628 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
629
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
630 public String getFirstId() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
631 return firstId;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
632 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
633
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
634 public void setFirstId(String firstId) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
635 this.firstId = firstId;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
636 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
637
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
638 public String getSecondId() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
639 return secondId;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
640 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
641
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
642 public void setSecondId(String secondId) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
643 this.secondId = secondId;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
644 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
645
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
646 public List<String> getAttLabels() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
647 return attLabels;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
648 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
649
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
650 public void setAttLabels(List<String> attLabels) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
651 this.attLabels = attLabels;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
652 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
653
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
654 public Map<String, String> getFirstAttMap() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
655 return firstAttMap;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
656 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
657
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
658 public void setFirstAttMap(Map<String, String> firstAttMap) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
659 this.firstAttMap = firstAttMap;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
660 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
661
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
662 public Map<String, String> getSecondAttMap() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
663 return secondAttMap;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
664 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
665
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
666 public void setSecondAttMap(Map<String, String> secondAttMap) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
667 this.secondAttMap = secondAttMap;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
668 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
669
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
670 public Map<String, String> getSelectedAtts() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
671 return selectedAtts;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
672 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
673
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
674 public void setSelectedAtts(Map<String, String> selectedAtts) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
675 this.selectedAtts = selectedAtts;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
676 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
677
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
678 public boolean isShowAttributeMapping() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
679 return showAttributeMapping;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
680 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
681
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
682 public void setShowAttributeMapping(boolean showAttributeMapping) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
683 this.showAttributeMapping = showAttributeMapping;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
684 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
685
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
686 public boolean isEntitiesLoaded() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
687 return entitiesLoaded;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
688 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
689
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
690 public void setEntitiesLoaded(boolean entitiesLoaded) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
691 this.entitiesLoaded = entitiesLoaded;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
692 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
693
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
694 public Map<Long, String> getSelectedFirstSrcRelations() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
695 return selectedFirstSrcRelations;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
696 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
697
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
698 public void setSelectedFirstSrcRelations(Map<Long, String> selectedFirstSrcRelations) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
699 this.selectedFirstSrcRelations = selectedFirstSrcRelations;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
700 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
701
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
702 public Map<Long, String> getSelectedSecondSrcRelations() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
703 return selectedSecondSrcRelations;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
704 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
705
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
706 public void setSelectedSecondSrcRelations(Map<Long, String> selectedSecondSrcRelations) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
707 this.selectedSecondSrcRelations = selectedSecondSrcRelations;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
708 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
709
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
710 public boolean isShowSrcRelationMapping() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
711 return showSrcRelationMapping;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
712 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
713
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
714 public void setShowSrcRelationMapping(boolean showSrcRelationMapping) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
715 this.showSrcRelationMapping = showSrcRelationMapping;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
716 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
717
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
718 public boolean isShowTarRelationMapping() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
719 return showTarRelationMapping;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
720 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
721
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
722 public void setShowTarRelationMapping(boolean showTarRelationMapping) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
723 this.showTarRelationMapping = showTarRelationMapping;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
724 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
725
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
726 public Map<Long, String> getSelectedFirstTarRelations() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
727 return selectedFirstTarRelations;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
728 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
729
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
730 public void setSelectedFirstTarRelations(Map<Long, String> selectedFirstTarRelations) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
731 this.selectedFirstTarRelations = selectedFirstTarRelations;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
732 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
733
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
734 public Map<Long, String> getSelectedSecondTarRelations() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
735 return selectedSecondTarRelations;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
736 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
737
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
738 public void setSelectedSecondTarRelations(Map<Long, String> selectedSecondTarRelations) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
739 this.selectedSecondTarRelations = selectedSecondTarRelations;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
740 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
741
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
742 /**
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
743 * @return the importFilename
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
744 */
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
745 public String getImportFilename() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
746 return importFilename;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
747 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
748
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
749 /**
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
750 * @param importFilename
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
751 * the importFilename to set
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
752 */
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
753 public void setImportFilename(String importFilename) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
754 this.importFilename = importFilename;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
755 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
756
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
757 /**
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
758 * @return the importFileMsg
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
759 */
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
760 public String getImportFileMsg() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
761 return importFileMsg;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
762 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
763
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
764 /**
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
765 * @param importFileMsg
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
766 * the importFileMsg to set
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
767 */
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
768 public void setImportFileMsg(String importFileMsg) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
769 this.importFileMsg = importFileMsg;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
770 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
771
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
772 /**
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
773 * @return the importNode
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
774 */
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
775 public Node getImportNode() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
776 return importNode;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
777 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
778
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
779 public String getImportNodeAsText() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
780 String s = "";
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
781 try {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
782 String nt = importNode.getNodeType();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
783 if (nt.equals("ATTRIBUTE")) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
784 Attribute att = (Attribute) importNode;
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
785 s = "ATTRIBUTE " + att.getName() + " [" + att.getSourceObjectClass() + " " + att.getSourceId() + "] = " + att.getOwnValue();
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
786 } else if (nt.equals("ENTITY")) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
787 Entity ent = (Entity) importNode;
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
788 s = "ENTITY " + ent.getObjectClass() + " [" + ent.getId() + "] : " + ent.getOwnValue();
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
789 } else if (nt.equals("RELATION")) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
790 Relation rel = (Relation) importNode;
97
13b313ae1af8 new import-merge works now.
casties
parents: 96
diff changeset
791 s = "RELATION " + rel.getObjectClass() + " [" + rel.getId() + "] : "
96
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
792 + "source=[" + rel.getSourceObjectClass() + " " + rel.getSourceId() + "] "
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
793 + "target=[" + rel.getTargetObjectClass() + " " + rel.getTargetId() + "]";
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
794 } else {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
795 s = importNode.toString();
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
796 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
797 } catch (Exception e) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
798 logger.error(e);
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
799 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
800 return s;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
801 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
802
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
803 /**
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
804 * @param importNode the importNode to set
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
805 */
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
806 public void setImportNode(Node importNode) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
807 this.importNode = importNode;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
808 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
809
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
810 /**
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
811 * @return the importNodeListLength
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
812 */
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
813 public int getImportNodeListLength() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
814 return importNodeListLength;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
815 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
816
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
817 /**
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
818 * @return the importNodeIdx
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
819 */
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
820 public int getImportNodeIdx() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
821 return importNodeIdx;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
822 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
823
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
824 /**
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
825 * @param importNodeIdx the importNodeIdx to set
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
826 */
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
827 public void setImportNodeIdx(int importNodeIdx) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
828 this.importNodeIdx = importNodeIdx;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
829 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
830
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
831 /**
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
832 * @return the importNodeMsg
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
833 */
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
834 public String getImportNodeMsg() {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
835 return importNodeMsg;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
836 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
837
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
838 /**
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
839 * @param importNodeMsg the importNodeMsg to set
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
840 */
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
841 public void setImportNodeMsg(String importNodeMsg) {
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
842 this.importNodeMsg = importNodeMsg;
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
843 }
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
844
895bf7494d17 first version of new import-merge.
casties
parents:
diff changeset
845 }