diff --git a/features/com.minres.scviewer.database.feature/pom.xml b/features/com.minres.scviewer.database.feature/pom.xml
index 3fc8ae0..ab564f8 100644
--- a/features/com.minres.scviewer.database.feature/pom.xml
+++ b/features/com.minres.scviewer.database.feature/pom.xml
@@ -8,5 +8,4 @@
2.0.0-SNAPSHOT
../..
- 2.0.0-SNAPSHOT
diff --git a/plugins/com.minres.scviewer.database.sqlite/src/com/minres/scviewer/database/sqlite/TxStream.java b/plugins/com.minres.scviewer.database.sqlite/src/com/minres/scviewer/database/sqlite/TxStream.java
index 529bade..324825b 100644
--- a/plugins/com.minres.scviewer.database.sqlite/src/com/minres/scviewer/database/sqlite/TxStream.java
+++ b/plugins/com.minres.scviewer.database.sqlite/src/com/minres/scviewer/database/sqlite/TxStream.java
@@ -24,8 +24,8 @@ import com.minres.scviewer.database.EventKind;
import com.minres.scviewer.database.HierNode;
import com.minres.scviewer.database.IEvent;
import com.minres.scviewer.database.IWaveform;
-import com.minres.scviewer.database.IWaveformDb;
import com.minres.scviewer.database.RelationType;
+import com.minres.scviewer.database.RelationTypeFactory;
import com.minres.scviewer.database.WaveformType;
import com.minres.scviewer.database.sqlite.db.IDatabase;
import com.minres.scviewer.database.sqlite.db.SQLiteDatabaseSelectHandler;
@@ -165,7 +165,7 @@ public class TxStream extends HierNode implements IWaveform {
}
public RelationType getRelationType(String name) {
- RelationType relType=RelationType.create(name);
+ RelationType relType=RelationTypeFactory.create(name);
if(!usedRelationsList.contains(relType)) usedRelationsList.add(relType);
return relType;
}
diff --git a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/IWaveformView.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/IWaveformView.java
index 9830894..d166cc0 100644
--- a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/IWaveformView.java
+++ b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/IWaveformView.java
@@ -22,6 +22,7 @@ import org.eclipse.swt.widgets.Control;
import com.minres.scviewer.database.IWaveform;
import com.minres.scviewer.database.RelationType;
+import com.minres.scviewer.database.RelationTypeFactory;
public interface IWaveformView extends PropertyChangeListener, ISelectionProvider{
@@ -29,7 +30,7 @@ public interface IWaveformView extends PropertyChangeListener, ISelectionProvide
String MARKER_PROPERTY = "marker_time";
- public static final RelationType NEXT_PREV_IN_STREAM = RelationType.create("Prev/Next in stream");
+ public static final RelationType NEXT_PREV_IN_STREAM = RelationTypeFactory.create("Prev/Next in stream");
public void addSelectionChangedListener(ISelectionChangedListener listener);
diff --git a/plugins/com.minres.scviewer.database/pom.xml b/plugins/com.minres.scviewer.database/pom.xml
index 55ca613..f57e4cd 100644
--- a/plugins/com.minres.scviewer.database/pom.xml
+++ b/plugins/com.minres.scviewer.database/pom.xml
@@ -8,5 +8,4 @@
../..
eclipse-plugin
- 2.0.0-SNAPSHOT
diff --git a/plugins/com.minres.scviewer.database/src/com/minres/scviewer/database/RelationType.java b/plugins/com.minres.scviewer.database/src/com/minres/scviewer/database/RelationType.java
index d0b7727..16de19c 100644
--- a/plugins/com.minres.scviewer.database/src/com/minres/scviewer/database/RelationType.java
+++ b/plugins/com.minres.scviewer.database/src/com/minres/scviewer/database/RelationType.java
@@ -11,31 +11,16 @@
package com.minres.scviewer.database;
import java.io.Serializable;
-import java.util.HashMap;
public class RelationType implements Serializable {
-
/**
*
*/
private static final long serialVersionUID = 6394859077558971735L;
- private static HashMap registry = new HashMap<>();
-
private String name;
- public static RelationType create(String name){
- if(registry.containsKey(name)){
- return registry.get(name);
- }else{
- RelationType relType = new RelationType(name);
- registry.put(name, relType);
- return relType;
- }
-
- }
-
- private RelationType(String name) {
+ RelationType(String name) {
super();
this.name = name;
}
@@ -59,6 +44,9 @@ public class RelationType implements Serializable {
@Override
public boolean equals(Object obj) {
- return name.equals(obj);
+ if(obj instanceof RelationType)
+ return name.equals(((RelationType)obj).name);
+ else
+ return false;
}
}
diff --git a/plugins/com.minres.scviewer.database/src/com/minres/scviewer/database/RelationTypeFactory.java b/plugins/com.minres.scviewer.database/src/com/minres/scviewer/database/RelationTypeFactory.java
new file mode 100644
index 0000000..582805b
--- /dev/null
+++ b/plugins/com.minres.scviewer.database/src/com/minres/scviewer/database/RelationTypeFactory.java
@@ -0,0 +1,22 @@
+package com.minres.scviewer.database;
+
+import java.util.HashMap;
+
+public class RelationTypeFactory {
+
+ public static RelationType create(String name){
+ if(registry.containsKey(name)){
+ return registry.get(name);
+ }else{
+ RelationType relType = new RelationType(name);
+ registry.put(name, relType);
+ return relType;
+ }
+
+ }
+
+ private RelationTypeFactory() {}
+
+ private static HashMap registry = new HashMap<>();
+
+}
diff --git a/plugins/com.minres.scviewer.database/src/com/minres/scviewer/database/internal/WaveformDb.java b/plugins/com.minres.scviewer.database/src/com/minres/scviewer/database/internal/WaveformDb.java
index 3c509ab..32d20e8 100644
--- a/plugins/com.minres.scviewer.database/src/com/minres/scviewer/database/internal/WaveformDb.java
+++ b/plugins/com.minres.scviewer.database/src/com/minres/scviewer/database/internal/WaveformDb.java
@@ -11,7 +11,6 @@
package com.minres.scviewer.database.internal;
import java.io.File;
-import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
diff --git a/plugins/com.minres.scviewer.database/src/com/minres/scviewer/database/tx/ITxAttributeType.java b/plugins/com.minres.scviewer.database/src/com/minres/scviewer/database/tx/ITxAttributeType.java
index 355910b..fe21390 100644
--- a/plugins/com.minres.scviewer.database/src/com/minres/scviewer/database/tx/ITxAttributeType.java
+++ b/plugins/com.minres.scviewer.database/src/com/minres/scviewer/database/tx/ITxAttributeType.java
@@ -10,8 +10,6 @@
*******************************************************************************/
package com.minres.scviewer.database.tx;
-import java.io.Serializable;
-
import com.minres.scviewer.database.AssociationType;
import com.minres.scviewer.database.DataType;
diff --git a/plugins/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/elements/RelationTypeToolControl.java b/plugins/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/elements/RelationTypeToolControl.java
index bb38cb6..57b1914 100644
--- a/plugins/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/elements/RelationTypeToolControl.java
+++ b/plugins/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/elements/RelationTypeToolControl.java
@@ -30,6 +30,7 @@ import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import com.minres.scviewer.database.RelationType;
+import com.minres.scviewer.database.RelationTypeFactory;
import com.minres.scviewer.database.tx.ITx;
import com.minres.scviewer.e4.application.Messages;
import com.minres.scviewer.e4.application.parts.PartListener;
@@ -50,7 +51,7 @@ public class RelationTypeToolControl extends PartListener implements ISelectionC
WaveformViewer waveformViewerPart;
/** The dummy. */
- RelationType dummy = RelationType.create(Messages.RelationTypeToolControl_0);
+ RelationType dummy = RelationTypeFactory.create(Messages.RelationTypeToolControl_0);
/**
* Instantiates a new relation type tool control.
diff --git a/plugins/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/parts/WaveformViewer.java b/plugins/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/parts/WaveformViewer.java
index 98bfa41..6d35d7c 100644
--- a/plugins/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/parts/WaveformViewer.java
+++ b/plugins/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/parts/WaveformViewer.java
@@ -87,6 +87,7 @@ import com.minres.scviewer.database.IWaveform;
import com.minres.scviewer.database.IWaveformDb;
import com.minres.scviewer.database.IWaveformDbFactory;
import com.minres.scviewer.database.RelationType;
+import com.minres.scviewer.database.RelationTypeFactory;
import com.minres.scviewer.database.tx.ITx;
import com.minres.scviewer.database.tx.ITxAttribute;
import com.minres.scviewer.database.tx.ITxEvent;
@@ -1237,7 +1238,7 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis
* @param relationName the new navigation relation type
*/
public void setNavigationRelationType(String relationName) {
- setNavigationRelationType(RelationType.create(relationName));
+ setNavigationRelationType(RelationTypeFactory.create(relationName));
}
/**