separate RelationTypeFactory from RelationType
This commit is contained in:
parent
841b5fe2b2
commit
351a246238
|
@ -8,5 +8,4 @@
|
|||
<version>2.0.0-SNAPSHOT</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
</project>
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -8,5 +8,4 @@
|
|||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
</project>
|
||||
|
|
|
@ -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<String, RelationType> 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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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<String, RelationType> registry = new HashMap<>();
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue