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)); } /**