annotate src/main/java/org/mpi/openmind/repository/bo/Relation.java @ 56:467843399e70

Fixs for lost relation, when editing clone entities in parallel
author jurzua <jjjurzua@hotmail.com>
date Mon, 28 Nov 2016 14:26:10 +0100
parents 2d669fdd0a8b
children b5a22b9ab9c6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
jurzua
parents:
diff changeset
1 package org.mpi.openmind.repository.bo;
jurzua
parents:
diff changeset
2
jurzua
parents:
diff changeset
3 import java.io.Serializable;
33
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
4 import java.io.UnsupportedEncodingException;
1
jurzua
parents:
diff changeset
5 import java.util.ArrayList;
jurzua
parents:
diff changeset
6 import java.util.List;
jurzua
parents:
diff changeset
7
jurzua
parents:
diff changeset
8 import javax.persistence.Column;
jurzua
parents:
diff changeset
9 import javax.persistence.DiscriminatorValue;
jurzua
parents:
diff changeset
10 import javax.persistence.Transient;
jurzua
parents:
diff changeset
11
33
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
12 import org.apache.commons.codec.binary.Base64;
1
jurzua
parents:
diff changeset
13 import org.apache.commons.lang.StringUtils;
jurzua
parents:
diff changeset
14 import org.hibernate.annotations.Cache;
jurzua
parents:
diff changeset
15 import org.hibernate.annotations.CacheConcurrencyStrategy;
jurzua
parents:
diff changeset
16 import org.mpi.openmind.cache.WrapperService;
jurzua
parents:
diff changeset
17 import org.mpi.openmind.repository.utils.OMUtils;
jurzua
parents:
diff changeset
18
jurzua
parents:
diff changeset
19 import cl.maps.penta.PentaKey;
jurzua
parents:
diff changeset
20 import cl.maps.utils.RelKey;
jurzua
parents:
diff changeset
21
jurzua
parents:
diff changeset
22 /**
jurzua
parents:
diff changeset
23 *
jurzua
parents:
diff changeset
24 * @author jurzua
jurzua
parents:
diff changeset
25 */
jurzua
parents:
diff changeset
26 @javax.persistence.Entity
jurzua
parents:
diff changeset
27 @DiscriminatorValue("RELATION")
jurzua
parents:
diff changeset
28 @Cache(usage=CacheConcurrencyStrategy.READ_ONLY)
jurzua
parents:
diff changeset
29 public class Relation extends Node implements Serializable, Comparable<Relation> {
jurzua
parents:
diff changeset
30
jurzua
parents:
diff changeset
31 public Relation(){
jurzua
parents:
diff changeset
32 this.setSystemStatus(SYS_STATUS_CURRENT_VERSION);
jurzua
parents:
diff changeset
33 }
jurzua
parents:
diff changeset
34
jurzua
parents:
diff changeset
35
jurzua
parents:
diff changeset
36 public static Relation defRelation(Relation other, WrapperService ws) throws Exception{
jurzua
parents:
diff changeset
37
jurzua
parents:
diff changeset
38 Relation rel = new Relation();
jurzua
parents:
diff changeset
39
jurzua
parents:
diff changeset
40 rel.setOwnValue(other.getOwnValue());
jurzua
parents:
diff changeset
41 rel.setObjectClass(other.getObjectClass());
jurzua
parents:
diff changeset
42 rel.setType(other.getType());
jurzua
parents:
diff changeset
43
jurzua
parents:
diff changeset
44 Entity src = ws.getDefinitionById(other.getSourceId());
jurzua
parents:
diff changeset
45 Entity tar = ws.getDefinitionById(other.getTargetId());
jurzua
parents:
diff changeset
46 if(src == null || tar == null){
jurzua
parents:
diff changeset
47 throw new Exception("src and/or target not found!");
jurzua
parents:
diff changeset
48 }
jurzua
parents:
diff changeset
49 rel.setSource(src);
jurzua
parents:
diff changeset
50 rel.setTarget(tar);
jurzua
parents:
diff changeset
51 return rel;
jurzua
parents:
diff changeset
52 }
jurzua
parents:
diff changeset
53
jurzua
parents:
diff changeset
54 public static Relation entRelation(Relation other, WrapperService ws) throws Exception{
jurzua
parents:
diff changeset
55
jurzua
parents:
diff changeset
56 Relation rel = new Relation();
jurzua
parents:
diff changeset
57
jurzua
parents:
diff changeset
58 rel.setOwnValue(other.getOwnValue());
jurzua
parents:
diff changeset
59 rel.setObjectClass(other.getOwnValue());
jurzua
parents:
diff changeset
60 rel.setType(Node.TYPE_ABOX);
jurzua
parents:
diff changeset
61
jurzua
parents:
diff changeset
62 Entity src = ws.getEntityById(other.getSourceId());
jurzua
parents:
diff changeset
63 Entity tar = ws.getEntityById(other.getTargetId());
jurzua
parents:
diff changeset
64
jurzua
parents:
diff changeset
65 if(src == null || tar == null){
jurzua
parents:
diff changeset
66 throw new Exception("src and/or target not found!");
jurzua
parents:
diff changeset
67 }
jurzua
parents:
diff changeset
68
jurzua
parents:
diff changeset
69 rel.setSource(src);
jurzua
parents:
diff changeset
70 rel.setTarget(tar);
jurzua
parents:
diff changeset
71 return rel;
jurzua
parents:
diff changeset
72 }
jurzua
parents:
diff changeset
73
jurzua
parents:
diff changeset
74 public Relation(Entity source, Entity target){
jurzua
parents:
diff changeset
75 this.setSource(source);
jurzua
parents:
diff changeset
76 this.setTarget(target);
jurzua
parents:
diff changeset
77 source.addSourceRelation(this);
jurzua
parents:
diff changeset
78 target.addTargetRelation(this);
jurzua
parents:
diff changeset
79 this.setSystemStatus(Node.SYS_STATUS_CURRENT_VERSION);
jurzua
parents:
diff changeset
80 }
jurzua
parents:
diff changeset
81
jurzua
parents:
diff changeset
82 public Relation(Entity srcNonLW, Entity tarNonLW, String ownValue){
jurzua
parents:
diff changeset
83 this.setSource(srcNonLW);
jurzua
parents:
diff changeset
84 this.setTarget(tarNonLW);
jurzua
parents:
diff changeset
85 srcNonLW.addSourceRelation(this);
jurzua
parents:
diff changeset
86 tarNonLW.addTargetRelation(this);
jurzua
parents:
diff changeset
87 this.setOwnValue(ownValue);
jurzua
parents:
diff changeset
88 this.setSystemStatus(Node.SYS_STATUS_CURRENT_VERSION);
jurzua
parents:
diff changeset
89 }
jurzua
parents:
diff changeset
90
jurzua
parents:
diff changeset
91 @Column(name="source_id")
jurzua
parents:
diff changeset
92 private Long sourceId;
jurzua
parents:
diff changeset
93
jurzua
parents:
diff changeset
94 @Column(name="source_modif")
jurzua
parents:
diff changeset
95 private Long sourceModif;
jurzua
parents:
diff changeset
96
jurzua
parents:
diff changeset
97 @Column(name="source_obj_class")
jurzua
parents:
diff changeset
98 private String sourceObjectClass;
jurzua
parents:
diff changeset
99
jurzua
parents:
diff changeset
100 @Column(name="target_id")
jurzua
parents:
diff changeset
101 private Long targetId;
jurzua
parents:
diff changeset
102
jurzua
parents:
diff changeset
103 @Column(name="target_modif")
jurzua
parents:
diff changeset
104 private Long targetModif;
jurzua
parents:
diff changeset
105
jurzua
parents:
diff changeset
106 @Column(name="target_obj_class")
jurzua
parents:
diff changeset
107 private String targetObjectClass;
jurzua
parents:
diff changeset
108
jurzua
parents:
diff changeset
109 @Transient
jurzua
parents:
diff changeset
110 private Entity source;
jurzua
parents:
diff changeset
111
jurzua
parents:
diff changeset
112 @Transient
jurzua
parents:
diff changeset
113 private Entity target;
jurzua
parents:
diff changeset
114
jurzua
parents:
diff changeset
115 @Transient
jurzua
parents:
diff changeset
116 private List<Attribute> attributes = new ArrayList<Attribute>();
jurzua
parents:
diff changeset
117
jurzua
parents:
diff changeset
118 public Attribute getAttributeByName(String name) {
jurzua
parents:
diff changeset
119 for (Attribute attribute : this.getAttributes()) {
jurzua
parents:
diff changeset
120 if (attribute.getObjectClass().equals(name)) {
jurzua
parents:
diff changeset
121 return attribute;
jurzua
parents:
diff changeset
122 }
jurzua
parents:
diff changeset
123 }
jurzua
parents:
diff changeset
124 return null;
jurzua
parents:
diff changeset
125 }
jurzua
parents:
diff changeset
126
jurzua
parents:
diff changeset
127 public void addAttribute(Attribute att){
jurzua
parents:
diff changeset
128 if(att != null){
jurzua
parents:
diff changeset
129 att.setSourceId(this.getId());
jurzua
parents:
diff changeset
130 att.setSourceModif(this.getModificationTime());
jurzua
parents:
diff changeset
131 att.setSystemStatus(this.getSystemStatus());
jurzua
parents:
diff changeset
132 this.attributes.add(att);
jurzua
parents:
diff changeset
133 }
jurzua
parents:
diff changeset
134 }
jurzua
parents:
diff changeset
135
jurzua
parents:
diff changeset
136 @Override
jurzua
parents:
diff changeset
137 public void setSystemStatus(String status) {
jurzua
parents:
diff changeset
138 super.setSystemStatus(status);
jurzua
parents:
diff changeset
139 if(this.attributes != null){
jurzua
parents:
diff changeset
140 for(Attribute att : this.attributes){
jurzua
parents:
diff changeset
141 att.setSystemStatus(status);
jurzua
parents:
diff changeset
142 }
jurzua
parents:
diff changeset
143 }
jurzua
parents:
diff changeset
144
jurzua
parents:
diff changeset
145 }
jurzua
parents:
diff changeset
146
jurzua
parents:
diff changeset
147 public List<Attribute> getAttributes() {
jurzua
parents:
diff changeset
148 return attributes;
jurzua
parents:
diff changeset
149 }
jurzua
parents:
diff changeset
150
jurzua
parents:
diff changeset
151 public void setAttributes(List<Attribute> attributes) {
jurzua
parents:
diff changeset
152 this.attributes = attributes;
jurzua
parents:
diff changeset
153 }
jurzua
parents:
diff changeset
154
jurzua
parents:
diff changeset
155 public String getSourceObjectClass() {
jurzua
parents:
diff changeset
156 return sourceObjectClass;
jurzua
parents:
diff changeset
157 }
jurzua
parents:
diff changeset
158
jurzua
parents:
diff changeset
159 public void setSourceObjectClass(String sourceObjectClass) {
jurzua
parents:
diff changeset
160 this.sourceObjectClass = sourceObjectClass;
jurzua
parents:
diff changeset
161 }
jurzua
parents:
diff changeset
162
jurzua
parents:
diff changeset
163 public String getTargetObjectClass() {
jurzua
parents:
diff changeset
164 return targetObjectClass;
jurzua
parents:
diff changeset
165 }
jurzua
parents:
diff changeset
166
jurzua
parents:
diff changeset
167 public void setTargetObjectClass(String targetObjectClass) {
jurzua
parents:
diff changeset
168 this.targetObjectClass = targetObjectClass;
jurzua
parents:
diff changeset
169 }
jurzua
parents:
diff changeset
170
jurzua
parents:
diff changeset
171 public Long getSourceModif() {
jurzua
parents:
diff changeset
172 return sourceModif;
jurzua
parents:
diff changeset
173 }
jurzua
parents:
diff changeset
174
jurzua
parents:
diff changeset
175 public void setSourceModif(Long sourceModif) {
jurzua
parents:
diff changeset
176 this.sourceModif = sourceModif;
jurzua
parents:
diff changeset
177 }
jurzua
parents:
diff changeset
178
jurzua
parents:
diff changeset
179 public Long getTargetModif() {
jurzua
parents:
diff changeset
180 return targetModif;
jurzua
parents:
diff changeset
181 }
jurzua
parents:
diff changeset
182
jurzua
parents:
diff changeset
183 public void setTargetModif(Long targetModif) {
jurzua
parents:
diff changeset
184 this.targetModif = targetModif;
jurzua
parents:
diff changeset
185 }
jurzua
parents:
diff changeset
186
jurzua
parents:
diff changeset
187 public Entity getSource() {
jurzua
parents:
diff changeset
188 return source;
jurzua
parents:
diff changeset
189 }
jurzua
parents:
diff changeset
190
jurzua
parents:
diff changeset
191 public void setSource(Entity src) {
jurzua
parents:
diff changeset
192 this.source = src;
jurzua
parents:
diff changeset
193 if(src != null){
jurzua
parents:
diff changeset
194 this.setSourceId(src.getId());
jurzua
parents:
diff changeset
195 this.setSourceModif(src.getModificationTime());
jurzua
parents:
diff changeset
196 this.setSourceObjectClass(src.getObjectClass());
jurzua
parents:
diff changeset
197 }
jurzua
parents:
diff changeset
198 }
jurzua
parents:
diff changeset
199
jurzua
parents:
diff changeset
200 public Entity getTarget() {
jurzua
parents:
diff changeset
201 return target;
jurzua
parents:
diff changeset
202 }
jurzua
parents:
diff changeset
203
jurzua
parents:
diff changeset
204 public void setTarget(Entity target) {
jurzua
parents:
diff changeset
205 this.target = target;
jurzua
parents:
diff changeset
206 if(target != null){
jurzua
parents:
diff changeset
207 this.setTargetId(target.getId());
jurzua
parents:
diff changeset
208 this.setTargetModif(target.getModificationTime());
jurzua
parents:
diff changeset
209 this.setTargetObjectClass(target.getObjectClass());
jurzua
parents:
diff changeset
210 }
jurzua
parents:
diff changeset
211 }
jurzua
parents:
diff changeset
212
jurzua
parents:
diff changeset
213
jurzua
parents:
diff changeset
214 public Long getSourceId() {
jurzua
parents:
diff changeset
215 return sourceId;
jurzua
parents:
diff changeset
216 }
jurzua
parents:
diff changeset
217
jurzua
parents:
diff changeset
218 public void setSourceId(Long sourceId) {
jurzua
parents:
diff changeset
219 this.sourceId = sourceId;
jurzua
parents:
diff changeset
220 }
jurzua
parents:
diff changeset
221
jurzua
parents:
diff changeset
222 public Long getTargetId() {
jurzua
parents:
diff changeset
223 return targetId;
jurzua
parents:
diff changeset
224 }
jurzua
parents:
diff changeset
225
jurzua
parents:
diff changeset
226 public void setTargetId(Long targetId) {
jurzua
parents:
diff changeset
227 this.targetId = targetId;
jurzua
parents:
diff changeset
228 }
jurzua
parents:
diff changeset
229
40
c181cb6f1761 first version of equalsStructure to test when saving entities.
casties
parents: 34
diff changeset
230 /**
c181cb6f1761 first version of equalsStructure to test when saving entities.
casties
parents: 34
diff changeset
231 * Returns if this Relation is equal to another Relation.
c181cb6f1761 first version of equalsStructure to test when saving entities.
casties
parents: 34
diff changeset
232 *
c181cb6f1761 first version of equalsStructure to test when saving entities.
casties
parents: 34
diff changeset
233 * Compares ownvalue (=type), source id and target id.
c181cb6f1761 first version of equalsStructure to test when saving entities.
casties
parents: 34
diff changeset
234 *
c181cb6f1761 first version of equalsStructure to test when saving entities.
casties
parents: 34
diff changeset
235 * @param other
c181cb6f1761 first version of equalsStructure to test when saving entities.
casties
parents: 34
diff changeset
236 * @return
c181cb6f1761 first version of equalsStructure to test when saving entities.
casties
parents: 34
diff changeset
237 */
c181cb6f1761 first version of equalsStructure to test when saving entities.
casties
parents: 34
diff changeset
238 public boolean equalsContent(Relation other) {
c181cb6f1761 first version of equalsStructure to test when saving entities.
casties
parents: 34
diff changeset
239 if (other == null) {
c181cb6f1761 first version of equalsStructure to test when saving entities.
casties
parents: 34
diff changeset
240 return false;
c181cb6f1761 first version of equalsStructure to test when saving entities.
casties
parents: 34
diff changeset
241 }
c181cb6f1761 first version of equalsStructure to test when saving entities.
casties
parents: 34
diff changeset
242 if (StringUtils.equals(getOwnValue(), other.getOwnValue())
c181cb6f1761 first version of equalsStructure to test when saving entities.
casties
parents: 34
diff changeset
243 && OMUtils.equals(getSourceId(), other.getSourceId())
c181cb6f1761 first version of equalsStructure to test when saving entities.
casties
parents: 34
diff changeset
244 && OMUtils.equals(getTargetId(), other.getTargetId())) {
c181cb6f1761 first version of equalsStructure to test when saving entities.
casties
parents: 34
diff changeset
245 return true;
c181cb6f1761 first version of equalsStructure to test when saving entities.
casties
parents: 34
diff changeset
246 }
c181cb6f1761 first version of equalsStructure to test when saving entities.
casties
parents: 34
diff changeset
247 return false;
c181cb6f1761 first version of equalsStructure to test when saving entities.
casties
parents: 34
diff changeset
248 }
1
jurzua
parents:
diff changeset
249
56
467843399e70 Fixs for lost relation, when editing clone entities in parallel
jurzua <jjjurzua@hotmail.com>
parents: 49
diff changeset
250 public String printSource(){
467843399e70 Fixs for lost relation, when editing clone entities in parallel
jurzua <jjjurzua@hotmail.com>
parents: 49
diff changeset
251 return "Source [sourceObjectClass=" + sourceObjectClass + ", sourceId=" + sourceId + ", sourceModif=" + sourceModif + "]";
467843399e70 Fixs for lost relation, when editing clone entities in parallel
jurzua <jjjurzua@hotmail.com>
parents: 49
diff changeset
252 }
467843399e70 Fixs for lost relation, when editing clone entities in parallel
jurzua <jjjurzua@hotmail.com>
parents: 49
diff changeset
253
467843399e70 Fixs for lost relation, when editing clone entities in parallel
jurzua <jjjurzua@hotmail.com>
parents: 49
diff changeset
254 public String printTarget(){
467843399e70 Fixs for lost relation, when editing clone entities in parallel
jurzua <jjjurzua@hotmail.com>
parents: 49
diff changeset
255 return "Target [targetObjectClass=" + targetObjectClass + ", targetId=" + targetId + ", targetModif=" + targetModif + "]";
467843399e70 Fixs for lost relation, when editing clone entities in parallel
jurzua <jjjurzua@hotmail.com>
parents: 49
diff changeset
256 }
467843399e70 Fixs for lost relation, when editing clone entities in parallel
jurzua <jjjurzua@hotmail.com>
parents: 49
diff changeset
257
1
jurzua
parents:
diff changeset
258 @Override
jurzua
parents:
diff changeset
259 public String toString() {
jurzua
parents:
diff changeset
260 String source = ", Src[id=" + sourceId;
jurzua
parents:
diff changeset
261 if(getSource() != null)
jurzua
parents:
diff changeset
262 source += ", src=" + getSource().getOwnValue();
jurzua
parents:
diff changeset
263 source +="] ";
jurzua
parents:
diff changeset
264 String target = ", Tar[id=" + targetId;
jurzua
parents:
diff changeset
265 if(getTarget() != null)
jurzua
parents:
diff changeset
266 target += ", tar=" + getTarget().getOwnValue();
jurzua
parents:
diff changeset
267 target +="] ";
jurzua
parents:
diff changeset
268 return "Relation[" +
jurzua
parents:
diff changeset
269 "rowId=" + this.getRowId() + ", " +
jurzua
parents:
diff changeset
270 "id=" + getId() +", " +
jurzua
parents:
diff changeset
271 "ownValue=" + getOwnValue() + source + target + ", " +
jurzua
parents:
diff changeset
272 "sysStatus=" + this.getSystemStatus() + "]";
jurzua
parents:
diff changeset
273 }
jurzua
parents:
diff changeset
274
33
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
275 /**
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
276 * Returns a String representation with base64-encoded own-value.
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
277 *
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
278 * To be used for the transaction log.
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
279 *
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
280 * @return
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
281 */
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
282 public String toEncString() {
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
283 try {
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
284 String es = "RELATION["
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
285 + "id=\"" + this.getId() + "\", "
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
286 + "row-id=\"" + this.getRowId() + "\", "
46
fc120c3c6ce4 better transaction logging.
casties
parents: 40
diff changeset
287 + "object-class=\"" + this.getObjectClass() + "\", "
33
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
288 + "source-id=\"" + this.getSourceId() + "\", "
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
289 + "source-mtime=\"" + this.getSourceModif() + "\", "
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
290 + "source-oc=\"" + this.getSourceObjectClass() + "\", "
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
291 + "target-id=\"" + this.getTargetId() + "\", "
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
292 + "target-mtime=\"" + this.getTargetModif() + "\", "
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
293 + "target-oc=\"" + this.getTargetObjectClass() + "\", "
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
294 + "mtime=\"" + this.getModificationTime() + "\", "
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
295 + "version=\"" + this.getVersion() + "\", "
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
296 + "user=\"" + this.getUser() + "\", "
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
297 + "public=\"" + this.getIsPublic() + "\", "
34
5737ab564b94 more transaction logging. logs more attributes and logs nodes.
casties
parents: 33
diff changeset
298 + "system-status=\"" + this.getSystemStatus() + "\", "
5737ab564b94 more transaction logging. logs more attributes and logs nodes.
casties
parents: 33
diff changeset
299 + "status=\"" + this.getStatus() + "\", "
5737ab564b94 more transaction logging. logs more attributes and logs nodes.
casties
parents: 33
diff changeset
300 + "type=\"" + this.getType() + "\", "
33
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
301 + "b64-value=\"" + ((this.getOwnValue() != null) ? Base64.encodeBase64String(this.getOwnValue().getBytes("UTF-8")) : "") + "\"]";
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
302 return es;
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
303 } catch (UnsupportedEncodingException e) {
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
304 // this shouldn't happen
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
305 e.printStackTrace();
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
306 }
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
307 return "!!!ENCODING-ERROR!!!";
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
308 }
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
309
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
310
e52f593f9e0d new transaction logger "openmind.transactionlog" logging entity save actions and their data.
casties
parents: 25
diff changeset
311 @Override
1
jurzua
parents:
diff changeset
312 public int compareTo(Relation e) {
jurzua
parents:
diff changeset
313 if(e == null)
jurzua
parents:
diff changeset
314 return 1;
jurzua
parents:
diff changeset
315 if(StringUtils.isNotEmpty(this.getOwnValue()))
jurzua
parents:
diff changeset
316 return this.getOwnValue().compareTo(e.getOwnValue());
jurzua
parents:
diff changeset
317 else return 0;
jurzua
parents:
diff changeset
318 }
jurzua
parents:
diff changeset
319
jurzua
parents:
diff changeset
320 public PentaKey<RelKey, Long, Long, String, Long> getKey(){
jurzua
parents:
diff changeset
321 return new PentaKey<RelKey, Long, Long, String, Long>(
jurzua
parents:
diff changeset
322 new RelKey(this.getSourceId(), this.getTargetId(), this.getOwnValue()),
jurzua
parents:
diff changeset
323 this.getSourceId(),
jurzua
parents:
diff changeset
324 this.getTargetId(),
jurzua
parents:
diff changeset
325 this.getOwnValue(),
jurzua
parents:
diff changeset
326 this.getId());
jurzua
parents:
diff changeset
327 }
49
2d669fdd0a8b New CsvNodeListReader for import-merge.
casties
parents: 46
diff changeset
328
2d669fdd0a8b New CsvNodeListReader for import-merge.
casties
parents: 46
diff changeset
329 @Override
2d669fdd0a8b New CsvNodeListReader for import-merge.
casties
parents: 46
diff changeset
330 public String getNodeType() {
2d669fdd0a8b New CsvNodeListReader for import-merge.
casties
parents: 46
diff changeset
331 return "RELATION";
2d669fdd0a8b New CsvNodeListReader for import-merge.
casties
parents: 46
diff changeset
332 }
2d669fdd0a8b New CsvNodeListReader for import-merge.
casties
parents: 46
diff changeset
333
1
jurzua
parents:
diff changeset
334 }