Compare commits
19 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 33c58983e3 | |||
| 2ffcbe1fa3 | |||
| 360df27a53 | |||
| 17015f1bbc | |||
| e4ba753f82 | |||
| 97d6062c3f | |||
| 92428a3859 | |||
| 5f244dc03a | |||
| 64cc09d207 | |||
| 7af8b73bdd | |||
| 61bc407fb3 | |||
| f6a3da013e | |||
| c4fafae029 | |||
| 819e549d87 | |||
| e472a092c3 | |||
| 523c266e8d | |||
| db640808f2 | |||
| 09a55f1513 | |||
| 088500afff |
@@ -9,7 +9,7 @@
|
||||
<listAttribute key="M2_PROPERTIES"/>
|
||||
<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
|
||||
<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
|
||||
<intAttribute key="M2_THREADS" value="1"/>
|
||||
<intAttribute key="M2_THREADS" value="4"/>
|
||||
<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
|
||||
<stringAttribute key="M2_USER_SETTINGS" value=""/>
|
||||
<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="true"/>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
||||
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<version>3.0.0-SNAPSHOT</version>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<version>1.1.0-SNAPSHOT</version>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
||||
@@ -2,7 +2,7 @@
|
||||
<feature
|
||||
id="com.minres.scviewer.feature"
|
||||
label="%featureName"
|
||||
version="1.1.0.qualifier"
|
||||
version="2.19.5"
|
||||
provider-name="%providerName">
|
||||
|
||||
<description>
|
||||
@@ -46,22 +46,14 @@ http://www.eclipse.org/legal/epl-v10.html
|
||||
|
||||
<plugin
|
||||
id="org.junit"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="org.hamcrest.core"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="com.minres.scviewer.ui"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
version="0.0.0"/>
|
||||
|
||||
</feature>
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<version>1.1.0-SNAPSHOT</version>
|
||||
</project>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<version>1.1.0-SNAPSHOT</version>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11">
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
|
||||
<attributes>
|
||||
<attribute name="module" value="true"/>
|
||||
</attributes>
|
||||
|
||||
@@ -4,7 +4,7 @@ Bundle-Name: FST signal database
|
||||
Bundle-SymbolicName: com.minres.scviewer.database.fst
|
||||
Bundle-Version: 1.0.0.qualifier
|
||||
Bundle-Vendor: MINRES Technologies GmbH
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-11
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||
Require-Bundle: com.minres.scviewer.database;bundle-version="1.0.0",
|
||||
org.eclipse.osgi.services;bundle-version="3.4.0",
|
||||
com.google.guava;bundle-version="15.0.0"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11">
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
|
||||
<attributes>
|
||||
<attribute name="module" value="true"/>
|
||||
</attributes>
|
||||
|
||||
@@ -2,9 +2,9 @@ Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: CBOR transaction database
|
||||
Bundle-SymbolicName: com.minres.scviewer.database.ftr
|
||||
Bundle-Version: 1.0.0.qualifier
|
||||
Bundle-Version: 1.0.2.qualifier
|
||||
Bundle-Vendor: MINRES Technologies GmbH
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-11
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||
Import-Package: org.osgi.framework;version="1.3.0",
|
||||
org.slf4j;version="1.7.2"
|
||||
Require-Bundle: com.minres.scviewer.database,
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>com.minres.scviewer.database.ftr</artifactId>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
<version>1.0.2-SNAPSHOT</version>
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
||||
@@ -153,8 +153,11 @@ abstract class AbstractTxStream extends HierNode implements IWaveform {
|
||||
switch(evt.getKind()) {
|
||||
case END: //TODO: might throw NPE in concurrent execution
|
||||
Long txId = txEvt.getTransaction().getId();
|
||||
txEvt.setConcurrencyIndex(rowByTxId.get(txId));
|
||||
rowByTxId.remove(txId);
|
||||
Integer row = rowByTxId.get(txId);
|
||||
if(row!=null) {
|
||||
txEvt.setConcurrencyIndex(row);
|
||||
rowByTxId.remove(txId);
|
||||
}
|
||||
break;
|
||||
case SINGLE:
|
||||
for (; rowIdx < rowEndTime.size() && rowEndTime.get(rowIdx)>tx.getBeginTime(); rowIdx++);
|
||||
|
||||
@@ -178,7 +178,6 @@ public class FtrDbLoader implements IWaveformDbLoader {
|
||||
*/
|
||||
@Override
|
||||
public void load(File file) throws InputFormatException {
|
||||
dispose();
|
||||
this.file=file;
|
||||
try {
|
||||
fis = new FileInputStream(file);
|
||||
@@ -239,10 +238,12 @@ public class FtrDbLoader implements IWaveformDbLoader {
|
||||
genId = cborDecoder.readInt();
|
||||
long startTime = cborDecoder.readInt()*time_scale_factor;
|
||||
long endTime = cborDecoder.readInt()*time_scale_factor;
|
||||
if(endTime<startTime) // fix buggy recording, end time needs to be later or equal start time
|
||||
endTime=startTime;
|
||||
TxGenerator gen = txGenerators.get(genId);
|
||||
FtrTx scvTx = new FtrTx(txId, gen.stream.getId(), genId, startTime, endTime, blockId, blockOffset);
|
||||
TxStream stream = gen.stream;
|
||||
FtrTx scvTx = new FtrTx(txId, stream.getId(), genId, startTime, endTime, blockId, blockOffset);
|
||||
updateTransactions(txId, scvTx);
|
||||
TxStream stream = txStreams.get(gen.stream.getId());
|
||||
if (scvTx.beginTime == scvTx.endTime) {
|
||||
stream.addEvent(new TxEvent(this, EventKind.SINGLE, txId, scvTx.beginTime));
|
||||
gen.addEvent(new TxEvent(this, EventKind.SINGLE, txId, scvTx.beginTime));
|
||||
@@ -298,10 +299,10 @@ public class FtrDbLoader implements IWaveformDbLoader {
|
||||
case 6: // id/generator/start/end
|
||||
long len = cborDecoder.readArrayLength();
|
||||
assert(len==4);
|
||||
cborDecoder.readInt();
|
||||
cborDecoder.readInt();
|
||||
cborDecoder.readInt();
|
||||
cborDecoder.readInt();
|
||||
cborDecoder.readInt(); //txid
|
||||
cborDecoder.readInt(); // genId
|
||||
cborDecoder.readInt(); // startTime
|
||||
cborDecoder.readInt(); // endTime
|
||||
break;
|
||||
default: { // skip over 7:begin attr, 8:record attr, 9:end attr
|
||||
long sz = cborDecoder.readArrayLength();
|
||||
|
||||
@@ -77,8 +77,8 @@ class FtrTx implements Serializable {
|
||||
public List<ITxAttribute> getAttributes(FtrDbLoader loader) {
|
||||
if(attributes.size()==0)
|
||||
try {
|
||||
TxStream stream = loader.txStreams.get(streamId);
|
||||
byte[] chunk = stream.getChunks().get((int)blockId);
|
||||
final TxStream stream = loader.txStreams.get(streamId);
|
||||
final byte[] chunk = stream.getChunks().get((int)blockId);
|
||||
attributes.addAll(loader.parseAtrributes(chunk, blockOffset));
|
||||
} catch (InputFormatException e) {
|
||||
// TODO Auto-generated catch block
|
||||
|
||||
@@ -65,12 +65,12 @@ class TxGenerator extends AbstractTxStream {
|
||||
*/
|
||||
@Override
|
||||
public IEventList getEvents() {
|
||||
if(events.size()==0) {
|
||||
if(stream.events.size()==0) {
|
||||
try {
|
||||
List<byte[]> chunks = stream.getChunks();
|
||||
int blockid = 0;
|
||||
for (byte[] bs : chunks) {
|
||||
loader.parseTx(stream, blockid, bs);
|
||||
loader.parseTx(stream, blockid++, bs);
|
||||
}
|
||||
} catch (InputFormatException e) {
|
||||
// TODO Auto-generated catch block
|
||||
|
||||
@@ -105,7 +105,7 @@ class TxRelation implements ITxRelation {
|
||||
TxStream fiber = loader.txStreams.get(fiberId);
|
||||
fiber.loadStream();
|
||||
tx = loader.getTransaction(txId);
|
||||
return loader.txStreams.get(fiberId);
|
||||
return fiber;
|
||||
} else
|
||||
return tx.getStream();
|
||||
}
|
||||
@@ -116,7 +116,7 @@ class TxRelation implements ITxRelation {
|
||||
loader.txStreams.get(fiberId).loadStream();
|
||||
tx = loader.getTransaction(txId);
|
||||
}
|
||||
return tx.getGenerator();
|
||||
return tx!=null?tx.getGenerator():null;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -73,6 +73,7 @@ class TxStream extends AbstractTxStream {
|
||||
}
|
||||
|
||||
public void loadStream() {
|
||||
if(chunks.size()>0) return;
|
||||
try {
|
||||
List<byte[]> chunks = getChunks();
|
||||
int blockid = 0;
|
||||
|
||||
@@ -1,8 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="src" output="target/classes" path="src">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry exported="true" kind="lib" path="sqlite-jdbc-3.8.7.jar"/>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
||||
@@ -4,7 +4,7 @@ Bundle-Name: SQLite transaction database
|
||||
Bundle-SymbolicName: com.minres.scviewer.database.sqlite
|
||||
Bundle-Version: 1.1.0.qualifier
|
||||
Bundle-Vendor: MINRES Technologies GmbH
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-11
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||
Require-Bundle: com.minres.scviewer.database;bundle-version="1.0.0"
|
||||
Bundle-ClassPath: .,sqlite-jdbc-3.8.7.jar
|
||||
Service-Component: OSGI-INF/component.xml
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
||||
@@ -1,8 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src/"/>
|
||||
<classpathentry kind="src" output="target/classes" path="src">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry exported="true" kind="lib" path="lib/mapdb-3.0.7.jar" sourcepath="lib/mapdb-3.0.7-sources.jar">
|
||||
<attributes>
|
||||
<attribute name="javadoc_location" value="jar:platform:/resource/com.minres.scviewer.database.text/lib/mapdb-3.0.7-javadoc.jar!/"/>
|
||||
@@ -11,5 +20,10 @@
|
||||
<classpathentry exported="true" kind="lib" path="lib/kotlin-stdlib-1.2.42.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="lib/lz4-1.3.0.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="lib/elsa-3.0.0-M5.jar"/>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
||||
@@ -4,7 +4,7 @@ Bundle-Name: Textual transaction database
|
||||
Bundle-SymbolicName: com.minres.scviewer.database.text
|
||||
Bundle-Version: 4.0.1.qualifier
|
||||
Bundle-Vendor: MINRES Technologies GmbH
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-11
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||
Import-Package: org.osgi.framework;version="1.3.0"
|
||||
Require-Bundle: com.minres.scviewer.database,
|
||||
org.eclipse.osgi.services;bundle-version="3.4.0",
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
||||
@@ -1,7 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="src" output="target/classes" path="src">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
||||
@@ -4,7 +4,7 @@ Bundle-Name: SWT database widget
|
||||
Bundle-SymbolicName: com.minres.scviewer.database.ui.swt
|
||||
Bundle-Version: 4.0.0.qualifier
|
||||
Bundle-Vendor: MINRES Technologies GmbH
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-11
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||
Require-Bundle: org.eclipse.swt;bundle-version="3.103.1",
|
||||
com.minres.scviewer.database;bundle-version="1.0.0",
|
||||
com.google.guava;bundle-version="15.0.0",
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<version>4.0.0-SNAPSHOT</version>
|
||||
|
||||
@@ -84,7 +84,10 @@ public class ArrowPainter implements IPainter {
|
||||
private int getConcurrencyIndex(ITx tx) {
|
||||
IEvent[] eventList = tx.getStream().getEventsBeforeTime(tx.getBeginTime());
|
||||
Optional<Integer> res = Arrays.stream(eventList).map(e -> ((ITxEvent)e).getRowIndex()).findFirst();
|
||||
return res.isPresent()? res.get():0;
|
||||
if(res.isPresent() && res.get()>0) {
|
||||
return res.get();
|
||||
} else
|
||||
return 0;
|
||||
}
|
||||
|
||||
protected boolean calculateGeometries() {
|
||||
@@ -98,8 +101,10 @@ public class ArrowPainter implements IPainter {
|
||||
return true;
|
||||
}
|
||||
int laneHeight = painter.getHeight() / tx.getStream().getRowCount();
|
||||
int laneOffset = laneHeight * getConcurrencyIndex(tx);
|
||||
int rulerHeight = waveCanvas.rulerHeight;
|
||||
txRectangle = new Rectangle((int) (tx.getBeginTime() / scaleFactor),
|
||||
waveCanvas.rulerHeight + painter.getVerticalOffset() + laneHeight * getConcurrencyIndex(tx),
|
||||
rulerHeight + painter.getVerticalOffset() + laneOffset,
|
||||
(int) ((tx.getEndTime() - tx.getBeginTime()) / scaleFactor), laneHeight);
|
||||
deriveGeom(tx.getIncomingRelations(), iRect, false);
|
||||
deriveGeom(tx.getOutgoingRelations(), oRect, true);
|
||||
@@ -114,12 +119,13 @@ public class ArrowPainter implements IPainter {
|
||||
if (waveCanvas.wave2painterMap.containsKey(iWaveform)) {
|
||||
IWaveformPainter painter = waveCanvas.wave2painterMap.get(iWaveform);
|
||||
if(painter!=null) {
|
||||
int height = waveCanvas.styleProvider.getTrackHeight();
|
||||
int laneHeight = waveCanvas.styleProvider.getTrackHeight();
|
||||
int laneOffset = laneHeight * getConcurrencyIndex(tx);
|
||||
Rectangle bb = new Rectangle(
|
||||
(int) (otherTx.getBeginTime() / scaleFactor),
|
||||
waveCanvas.rulerHeight + painter.getVerticalOffset() + height * getConcurrencyIndex(otherTx),
|
||||
waveCanvas.rulerHeight + painter.getVerticalOffset() + laneOffset,
|
||||
(int) ((otherTx.getEndTime() - otherTx.getBeginTime()) / scaleFactor),
|
||||
height);
|
||||
laneHeight);
|
||||
res.add(new LinkEntry(bb, iTxRelation.getRelationType()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -124,7 +124,8 @@ public class StreamPainter extends TrackPainter{
|
||||
|
||||
protected void drawTx(Projection proj, Rectangle area, ITx tx, int concurrencyIndex, boolean highlighted ) {
|
||||
// compute colors
|
||||
Color[] transColor = waveCanvas.styleProvider.computeColor( tx.getGenerator().getName());
|
||||
IWaveform generator = tx.getGenerator();
|
||||
Color[] transColor = waveCanvas.styleProvider.computeColor( generator!=null?generator.getName():"unknown");
|
||||
|
||||
proj.setBackground(transColor[highlighted?1:0]);
|
||||
|
||||
|
||||
@@ -842,7 +842,7 @@ public class WaveformView implements IWaveformView {
|
||||
|
||||
public void setSelection(ISelection selection, boolean add, boolean addIfNeeded) {
|
||||
boolean selectionChanged = false;
|
||||
currentWaveformSelection.forEach(e -> e.selected = false);
|
||||
currentWaveformSelection.forEach(e -> {if(e!=null) e.selected = false;});
|
||||
if (selection instanceof IStructuredSelection) {
|
||||
IStructuredSelection sel = (IStructuredSelection) selection;
|
||||
if (sel.size() == 0) {
|
||||
@@ -862,8 +862,12 @@ public class WaveformView implements IWaveformView {
|
||||
if (trackEntry == null) {
|
||||
trackEntry = getEntryFor(txSel);
|
||||
if (trackEntry == null && addIfNeeded) {
|
||||
trackEntry = new TrackEntry(txSel.getStream(), styleProvider);
|
||||
streams.add(trackEntry);
|
||||
IWaveform stream = txSel.getStream();
|
||||
Optional<TrackEntry> te = streams.stream().filter(e -> stream.equals(e.waveform)).findFirst();
|
||||
if (te.isEmpty()) { // add stream only if really needed
|
||||
trackEntry = new TrackEntry(txSel.getStream(), styleProvider);
|
||||
streams.add(trackEntry);
|
||||
}
|
||||
}
|
||||
}
|
||||
currentTxSelection = txSel;
|
||||
@@ -885,7 +889,7 @@ public class WaveformView implements IWaveformView {
|
||||
currentTxSelection = null;
|
||||
currentWaveformSelection.clear();
|
||||
}
|
||||
currentWaveformSelection.forEach(e -> e.selected = true);
|
||||
currentWaveformSelection.forEach(e -> {if(e!=null)e.selected = true;});
|
||||
if (selectionChanged) {
|
||||
currentWaveformSelection.forEach(e -> waveformCanvas.reveal(e.waveform));
|
||||
waveformCanvas.setSelected(currentTxSelection);
|
||||
@@ -1376,10 +1380,13 @@ public class WaveformView implements IWaveformView {
|
||||
}
|
||||
|
||||
public TrackEntry getEntryFor(ITx source) {
|
||||
Optional<TrackEntry> optGen = streams.stream().filter(e -> source.getGenerator().equals(e.waveform))
|
||||
if(source.getGenerator()==null) return null;
|
||||
Optional<TrackEntry> optGen = streams.stream()
|
||||
.filter(e -> source.getGenerator().equals(e.waveform))
|
||||
.findFirst();
|
||||
if (optGen.isPresent())
|
||||
return optGen.get();
|
||||
if(source.getStream()==null) return null;
|
||||
Optional<TrackEntry> optStr = streams.stream().filter(e -> source.getStream().equals(e.waveform)).findFirst();
|
||||
if (optStr.isPresent())
|
||||
return optStr.get();
|
||||
|
||||
@@ -1,7 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="src" output="target/classes" path="src">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
||||
@@ -4,7 +4,7 @@ Bundle-Name: VCD signal database
|
||||
Bundle-SymbolicName: com.minres.scviewer.database.vcd
|
||||
Bundle-Version: 4.0.0.qualifier
|
||||
Bundle-Vendor: MINRES Technologies GmbH
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-11
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||
Require-Bundle: com.minres.scviewer.database;bundle-version="1.0.0",
|
||||
org.eclipse.osgi.services;bundle-version="3.4.0",
|
||||
com.google.guava;bundle-version="15.0.0"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
||||
@@ -1,11 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11">
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
|
||||
<attributes>
|
||||
<attribute name="module" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="src" output="target/classes" path="src">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
||||
@@ -1,9 +1,9 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
|
||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||
org.eclipse.jdt.core.compiler.compliance=11
|
||||
org.eclipse.jdt.core.compiler.compliance=17
|
||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||
@@ -13,4 +13,4 @@ org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
|
||||
org.eclipse.jdt.core.compiler.release=enabled
|
||||
org.eclipse.jdt.core.compiler.source=11
|
||||
org.eclipse.jdt.core.compiler.source=17
|
||||
|
||||
@@ -4,7 +4,7 @@ Bundle-Name: Waveform database
|
||||
Bundle-SymbolicName: com.minres.scviewer.database
|
||||
Bundle-Version: 4.0.0.qualifier
|
||||
Bundle-Vendor: MINRES Technologies GmbH
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-11
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||
Export-Package: com.minres.scviewer.database,
|
||||
com.minres.scviewer.database.tx
|
||||
Import-Package: org.slf4j
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
||||
@@ -15,10 +15,10 @@ import java.beans.PropertyChangeListener;
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -44,13 +44,13 @@ public class WaveformDb extends HierNode implements IWaveformDb, PropertyChangeL
|
||||
private boolean loaded;
|
||||
|
||||
/** The relation types. */
|
||||
private List<RelationType> relationTypes;
|
||||
private List<RelationType> relationTypes = new ArrayList<>();;
|
||||
|
||||
/** The waveforms. */
|
||||
private Map<String, IWaveform> waveforms;
|
||||
private Map<String, IWaveform> waveforms = Collections.synchronizedMap(new HashMap<>()) ;;
|
||||
|
||||
/** The max time. */
|
||||
private long maxTime = -1;
|
||||
private long maxTime = 0L;
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(WaveformDb.class);
|
||||
|
||||
@@ -81,16 +81,6 @@ public class WaveformDb extends HierNode implements IWaveformDb, PropertyChangeL
|
||||
return Collections.unmodifiableList(loaderFactories);
|
||||
}
|
||||
|
||||
/**
|
||||
* Instantiates a new waveform db.
|
||||
*/
|
||||
public WaveformDb() {
|
||||
super();
|
||||
waveforms = new ConcurrentHashMap<>();
|
||||
relationTypes = new ArrayList<>();
|
||||
maxTime = 0L;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the max time.
|
||||
*
|
||||
@@ -143,15 +133,15 @@ public class WaveformDb extends HierNode implements IWaveformDb, PropertyChangeL
|
||||
retval=false;
|
||||
}
|
||||
loader.removePropertyChangeListener(this);
|
||||
for (IWaveform w : loader.getAllWaves()) {
|
||||
waveforms.put(w.getFullName(), w);
|
||||
}
|
||||
// for (IWaveform w : loader.getAllWaves()) {
|
||||
// waveforms.put(w.getFullName(), w);
|
||||
// }
|
||||
if (loader.getMaxTime() > maxTime) {
|
||||
maxTime = loader.getMaxTime();
|
||||
}
|
||||
if (name == null)
|
||||
name = getFileBasename(inp.getName());
|
||||
buildHierarchyNodes();
|
||||
//buildHierarchyNodes();
|
||||
relationTypes.addAll(loader.getAllRelationTypes());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11">
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
|
||||
<attributes>
|
||||
<attribute name="module" value="true"/>
|
||||
</attributes>
|
||||
|
||||
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: SCViewer Help
|
||||
Bundle-SymbolicName: com.minres.scviewer.e4.application.help;singleton:=true
|
||||
Bundle-Version: 2.19.0
|
||||
Bundle-Version: 2.19.5
|
||||
Bundle-Vendor: MINRES Technologies GmbH
|
||||
Automatic-Module-Name: com.minres.scviewer.e4.application.help
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-11
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
||||
@@ -1,7 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="src" output="target/classes" path="src">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
||||
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %Bundle-Name
|
||||
Bundle-SymbolicName: com.minres.scviewer.e4.application;singleton:=true
|
||||
Bundle-Version: 2.19.0
|
||||
Bundle-Version: 2.19.5
|
||||
Bundle-Vendor: %Bundle-Vendor
|
||||
Require-Bundle: javax.inject;bundle-version="1.0.0",
|
||||
org.eclipse.core.runtime;bundle-version="3.11.1",
|
||||
@@ -40,7 +40,7 @@ Require-Bundle: javax.inject;bundle-version="1.0.0",
|
||||
org.eclipse.help.webapp;bundle-version="3.9.800",
|
||||
org.eclipse.help.base;bundle-version="4.2.900",
|
||||
com.minres.scviewer.e4.application.help;bundle-version="1.0.0"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-11
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||
Import-Package: com.minres.scviewer.database,
|
||||
javax.annotation;version="1.0.0";resolution:=optional,
|
||||
javax.inject;version="1.0.0"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
||||
@@ -366,10 +366,14 @@ public class DesignBrowser {
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public void setWaveformViewer(WaveformViewer waveformViewerPart) {
|
||||
this.waveformViewerPart=waveformViewerPart;
|
||||
IWaveformDb database = waveformViewerPart.getDatabase();
|
||||
setWaveformDb(database);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public void setWaveformDb(IWaveformDb database) {
|
||||
Object input = treeViewer.getInput();
|
||||
if(input instanceof List<?>){
|
||||
IWaveformDb db = ((List<IWaveformDb>)input).get(0);
|
||||
|
||||
@@ -267,6 +267,7 @@ public class TransactionList extends Composite {
|
||||
.map(e -> new AttributeNameBean(e.getKey(), e.getValue()))
|
||||
.collect(Collectors.toList());
|
||||
getDisplay().asyncExec(() -> {
|
||||
if(tableViewer.getControl().isDisposed()) return;
|
||||
tableViewer.setInput(txList);
|
||||
attrNames.clear();
|
||||
attrNames.addAll(newAttrNames);
|
||||
|
||||
@@ -176,7 +176,7 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis
|
||||
/** The factory. */
|
||||
WaveformViewFactory factory = new WaveformViewFactory();
|
||||
|
||||
DesignBrowser browser = null;
|
||||
DesignBrowser designBrowser = null;
|
||||
|
||||
TransactionDetails detailsView = null;
|
||||
|
||||
@@ -206,8 +206,6 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis
|
||||
|
||||
IEclipsePreferences store = null;
|
||||
|
||||
@Inject @Optional DesignBrowser designBrowser;
|
||||
|
||||
/** The database. */
|
||||
private IWaveformDb database;
|
||||
|
||||
@@ -295,7 +293,7 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis
|
||||
middleSash.setWeights(new int[] {75, 25});
|
||||
|
||||
ctx.set(Composite.class, left);
|
||||
browser = ContextInjectionFactory.make(DesignBrowser.class, ctx);
|
||||
designBrowser = ContextInjectionFactory.make(DesignBrowser.class, ctx);
|
||||
|
||||
ctx.set(Composite.class, right);
|
||||
detailsView = ContextInjectionFactory.make(TransactionDetails.class, ctx);
|
||||
@@ -623,6 +621,8 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis
|
||||
loadState(partConfig);
|
||||
if (state != null && !state.isEmpty())
|
||||
restoreWaveformViewerState(state);
|
||||
if(designBrowser!=null)
|
||||
designBrowser.setWaveformDb(database);
|
||||
fileChecker = null;
|
||||
if (checkForUpdates)
|
||||
fileChecker = fileMonitor.addFileChangeListener(WaveformViewer.this, filesToLoad, FILE_CHECK_INTERVAL);
|
||||
@@ -653,10 +653,14 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis
|
||||
public void reloadDatabase() {
|
||||
Map<String, String> state = new HashMap<>();
|
||||
saveWaveformViewerState(state);
|
||||
setSelection(null);
|
||||
waveformPane.getStreamList().clear();
|
||||
waveformPane.update();
|
||||
if(database.isLoaded())
|
||||
database.close();
|
||||
database = dbFactory.getDatabase();
|
||||
database.addPropertyChangeListener(evt -> {
|
||||
if (IHierNode.WAVEFORMS.equals(evt.getPropertyName())) { //$NON-NLS-1$
|
||||
if (IHierNode.WAVEFORMS.equals(evt.getPropertyName()) || IHierNode.LOADING_FINISHED.equals(evt.getPropertyName())) { //$NON-NLS-1$
|
||||
myParent.getDisplay().syncExec(() -> waveformPane.setMaxTime(database.getMaxTime()));
|
||||
}
|
||||
});
|
||||
@@ -826,7 +830,18 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis
|
||||
if(Boolean.parseBoolean(state.get(SHOWN_WAVEFORM + i + WAVEFORM_SELECTED)))
|
||||
selectedTrackEntries.add(trackEntry);
|
||||
} else {
|
||||
IWaveform waveform = database.getStreamByName(state.get(SHOWN_WAVEFORM + i));
|
||||
String name = state.get(SHOWN_WAVEFORM + i);
|
||||
IWaveform waveform = database.getStreamByName(name);
|
||||
if (waveform == null) {
|
||||
int pos = name.lastIndexOf('.');
|
||||
waveform = database.getStreamByName(name.substring(0, pos));
|
||||
if(waveform!=null) {
|
||||
List<IHierNode> childs = waveform.getChildNodes();
|
||||
waveform = (IWaveform) childs.stream().filter(node -> name.substring(pos+1).equals(node.getName()))
|
||||
.findAny()
|
||||
.orElse(null);
|
||||
}
|
||||
}
|
||||
if (waveform != null) {
|
||||
TrackEntry trackEntry = waveformPane.addWaveform(waveform, -1);
|
||||
//check if t is selected
|
||||
|
||||
@@ -5,6 +5,7 @@ import java.util.Vector;
|
||||
import org.eclipse.jface.viewers.ITreeContentProvider;
|
||||
import org.eclipse.jface.viewers.Viewer;
|
||||
|
||||
import com.minres.scviewer.database.IWaveform;
|
||||
import com.minres.scviewer.database.tx.ITx;
|
||||
import com.minres.scviewer.database.tx.ITxRelation;
|
||||
import com.minres.scviewer.e4.application.Messages;
|
||||
@@ -51,9 +52,11 @@ public abstract class AbstractTransactionTreeContentProvider implements ITreeCon
|
||||
TransactionTreeNode node=(TransactionTreeNode) element;
|
||||
switch(node.type) {
|
||||
case PROPS:
|
||||
IWaveform stream = node.element.getStream();
|
||||
IWaveform generator = node.element.getGenerator();
|
||||
return new Object[][]{
|
||||
{Messages.TransactionDetails_1, Messages.TransactionDetails_16, node.element.getStream().getFullName()},
|
||||
{Messages.TransactionDetails_2, Messages.TransactionDetails_16, node.element.getGenerator().getName()},
|
||||
{Messages.TransactionDetails_1, Messages.TransactionDetails_16, stream!=null?stream.getFullName():"[unknown]"},
|
||||
{Messages.TransactionDetails_2, Messages.TransactionDetails_16, generator!=null?generator.getName():"[unknown]"},
|
||||
{Messages.TransactionDetails_19, Messages.TransactionDetails_20, waveformViewerPart.getScaledTime(node.element.getBeginTime())},
|
||||
{Messages.TransactionDetails_21, Messages.TransactionDetails_20, waveformViewerPart.getScaledTime(node.element.getEndTime())}
|
||||
};
|
||||
|
||||
@@ -16,12 +16,12 @@ import com.minres.scviewer.e4.application.Messages;
|
||||
public class TransactionTreeNode implements Comparable<TransactionTreeNode>{
|
||||
|
||||
/** The type. */
|
||||
public TransactionTreeNodeType type;
|
||||
public final TransactionTreeNodeType type;
|
||||
|
||||
/** The element. */
|
||||
public ITx element;
|
||||
public final ITx element;
|
||||
|
||||
private String hier_path;
|
||||
private final String hier_path;
|
||||
/**
|
||||
* Instantiates a new tree node.
|
||||
*
|
||||
|
||||
@@ -1,7 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src/"/>
|
||||
<classpathentry kind="src" output="target/classes" path="src">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
||||
@@ -17,8 +17,10 @@ Require-Bundle: com.minres.scviewer.database;bundle-version="1.0.0",
|
||||
org.eclipse.swt,
|
||||
org.eclipse.osgi,
|
||||
org.eclipse.core.expressions;bundle-version="3.4.600",
|
||||
org.eclipse.jface
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-11
|
||||
org.eclipse.jface,
|
||||
org.eclipse.ui.console,
|
||||
org.eclipse.jdt.ui
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Import-Package: com.google.common.collect
|
||||
Service-Component: OSGI-INF/component.xml
|
||||
|
||||
@@ -20,10 +20,11 @@
|
||||
<editor
|
||||
class="com.minres.scviewer.ui.TxEditorPart"
|
||||
contributorClass="com.minres.scviewer.ui.TxEditorActionBarContributor"
|
||||
extensions="txdb"
|
||||
filenames="*.txdb,*.txlog,*.vcd,*.ftr"
|
||||
default="true"
|
||||
filenames="*.txlog,*.vcd,*.ftr,*.fst,*.txlog.gz,*.txdb"
|
||||
icon="res/images/scviewer.png"
|
||||
id="com.minres.scviewer.ui.TxEditorPart"
|
||||
matchingStrategy="SCViewerMatchingStrategy"
|
||||
name="Wave Viewer">
|
||||
</editor>
|
||||
</extension>
|
||||
@@ -372,5 +373,14 @@
|
||||
icon="res/images/cross.png">
|
||||
</image>
|
||||
</extension>
|
||||
<extension
|
||||
point="org.eclipse.ui.perspectives">
|
||||
<perspective
|
||||
class="com.minres.scviewer.ui.perspectives.WaveformPerspective"
|
||||
icon="res/images/scviewer.png"
|
||||
id="com.minres.scviewer.ui.perspectives.WaveformPerspective"
|
||||
name="Waveform">
|
||||
</perspective>
|
||||
</extension>
|
||||
|
||||
</plugin>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
import org.eclipse.ui.IEditorInput;
|
||||
import org.eclipse.ui.IEditorMatchingStrategy;
|
||||
import org.eclipse.ui.IEditorReference;
|
||||
|
||||
public class SCViewerMatchingStrategy implements IEditorMatchingStrategy {
|
||||
|
||||
@Override
|
||||
public boolean matches(IEditorReference editorRef, IEditorInput input) {
|
||||
return input.getName().endsWith(".ftr") || input.getName().endsWith(".fst")
|
||||
|| input.getName().endsWith(".vcd") || input.getName().endsWith(".txlog")
|
||||
|| input.getName().endsWith(".txlog.gz") || input.getName().endsWith(".txdb");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
package com.minres.scviewer.ui.perspectives;
|
||||
|
||||
import org.eclipse.ui.IFolderLayout;
|
||||
import org.eclipse.ui.IPageLayout;
|
||||
import org.eclipse.ui.IPerspectiveFactory;
|
||||
import org.eclipse.ui.console.IConsoleConstants;
|
||||
import org.eclipse.jdt.ui.JavaUI;
|
||||
|
||||
|
||||
/**
|
||||
* This class is meant to serve as an example for how various contributions
|
||||
* are made to a perspective. Note that some of the extension point id's are
|
||||
* referred to as API constants while others are hardcoded and may be subject
|
||||
* to change.
|
||||
*/
|
||||
public class WaveformPerspective implements IPerspectiveFactory {
|
||||
|
||||
private IPageLayout factory;
|
||||
|
||||
public WaveformPerspective() {
|
||||
super();
|
||||
}
|
||||
|
||||
public void createInitialLayout(IPageLayout factory) {
|
||||
this.factory = factory;
|
||||
addViews();
|
||||
addActionSets();
|
||||
addNewWizardShortcuts();
|
||||
addPerspectiveShortcuts();
|
||||
addViewShortcuts();
|
||||
}
|
||||
|
||||
private void addViews() {
|
||||
// Creates the overall folder layout.
|
||||
// Note that each new Folder uses a percentage of the remaining EditorArea.
|
||||
IFolderLayout topLeft =
|
||||
factory.createFolder(
|
||||
"topLeft", //NON-NLS-1
|
||||
IPageLayout.LEFT,
|
||||
0.25f,
|
||||
factory.getEditorArea());
|
||||
topLeft.addView(IPageLayout.ID_PROJECT_EXPLORER);
|
||||
|
||||
IFolderLayout bottomLeft =
|
||||
factory.createFolder(
|
||||
"bottomLeft", //NON-NLS-1
|
||||
IPageLayout.BOTTOM,
|
||||
0.25f,
|
||||
"topLeft");
|
||||
bottomLeft.addView(IPageLayout.ID_OUTLINE);
|
||||
|
||||
IFolderLayout bottom =
|
||||
factory.createFolder(
|
||||
"bottomRight", //NON-NLS-1
|
||||
IPageLayout.BOTTOM,
|
||||
0.75f,
|
||||
factory.getEditorArea());
|
||||
bottom.addView(IPageLayout.ID_PROP_SHEET);
|
||||
bottom.addPlaceholder(IConsoleConstants.ID_CONSOLE_VIEW);
|
||||
}
|
||||
|
||||
private void addActionSets() {
|
||||
factory.addActionSet(JavaUI.ID_ACTION_SET);
|
||||
factory.addActionSet(JavaUI.ID_ELEMENT_CREATION_ACTION_SET);
|
||||
factory.addActionSet(IPageLayout.ID_NAVIGATE_ACTION_SET); //NON-NLS-1
|
||||
}
|
||||
|
||||
private void addPerspectiveShortcuts() {
|
||||
factory.addPerspectiveShortcut("org.eclipse.team.ui.TeamSynchronizingPerspective"); //NON-NLS-1
|
||||
factory.addPerspectiveShortcut("org.eclipse.ui.resourcePerspective"); //NON-NLS-1
|
||||
}
|
||||
|
||||
private void addNewWizardShortcuts() {
|
||||
factory.addNewWizardShortcut("org.eclipse.ui.wizards.new.folder");//NON-NLS-1
|
||||
factory.addNewWizardShortcut("org.eclipse.ui.wizards.new.file");//NON-NLS-1
|
||||
}
|
||||
|
||||
private void addViewShortcuts() {
|
||||
factory.addShowViewShortcut("org.eclipse.ant.ui.views.AntView"); //NON-NLS-1
|
||||
factory.addShowViewShortcut("org.eclipse.pde.ui.DependenciesView"); //NON-NLS-1
|
||||
factory.addShowViewShortcut("org.eclipse.jdt.junit.ResultView"); //NON-NLS-1
|
||||
factory.addShowViewShortcut("org.eclipse.team.ui.GenericHistoryView"); //NON-NLS-1
|
||||
factory.addShowViewShortcut(IConsoleConstants.ID_CONSOLE_VIEW);
|
||||
factory.addShowViewShortcut(JavaUI.ID_PACKAGES);
|
||||
factory.addShowViewShortcut(IPageLayout.ID_PROJECT_EXPLORER);
|
||||
factory.addShowViewShortcut(IPageLayout.ID_PROBLEM_VIEW);
|
||||
factory.addShowViewShortcut(IPageLayout.ID_OUTLINE);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -26,23 +26,13 @@ public class TxDbTreeLabelProvider implements ILabelProvider {
|
||||
|
||||
private List<ILabelProviderListener> listeners = new ArrayList<ILabelProviderListener>();
|
||||
|
||||
private Image database;
|
||||
private Image stream;
|
||||
private Image signal;
|
||||
private Image folder;
|
||||
private Image wave;
|
||||
private static Image database=TxEditorPlugin.createImage("database");
|
||||
private static Image stream=TxEditorPlugin.createImage("stream");
|
||||
private static Image signal=TxEditorPlugin.createImage("signal");
|
||||
private static Image folder=TxEditorPlugin.createImage("folder");
|
||||
private static Image wave=TxEditorPlugin.createImage("wave");
|
||||
|
||||
|
||||
public TxDbTreeLabelProvider() {
|
||||
super();
|
||||
database=TxEditorPlugin.createImage("database");
|
||||
stream=TxEditorPlugin.createImage("stream");
|
||||
folder=TxEditorPlugin.createImage("folder");
|
||||
signal=TxEditorPlugin.createImage("signal");
|
||||
wave=TxEditorPlugin.createImage("wave");
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addListener(ILabelProviderListener listener) {
|
||||
listeners.add(listener);
|
||||
|
||||
8
pom.xml
8
pom.xml
@@ -4,7 +4,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
<packaging>pom</packaging>
|
||||
<modules>
|
||||
<module>releng/com.minres.scviewer.target</module>
|
||||
@@ -71,13 +71,13 @@
|
||||
<artifact>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.target</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
</artifact>
|
||||
</target>
|
||||
<executionEnvironment>
|
||||
org.eclipse.justj.openjdk.hotspot.jre.minimal-15</executionEnvironment>
|
||||
org.eclipse.justj.openjdk.hotspot.jre.minimal-17</executionEnvironment>
|
||||
<executionEnvironmentDefault>
|
||||
org.eclipse.justj.openjdk.hotspot.jre.minimal-15</executionEnvironmentDefault>
|
||||
org.eclipse.justj.openjdk.hotspot.jre.minimal-17</executionEnvironmentDefault>
|
||||
<includePackedArtifacts>true</includePackedArtifacts>
|
||||
<environments>
|
||||
<environment>
|
||||
|
||||
@@ -6,11 +6,11 @@
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<artifactId>com.minres.scviewer.e4.product</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
<packaging>eclipse-repository</packaging>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<build>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?pde version="3.5"?>
|
||||
|
||||
<product name="SCViewer" uid="scviewer" id="com.minres.scviewer.e4.application.product" application="org.eclipse.e4.ui.workbench.swt.E4Application" version="2.19.0" useFeatures="true" includeLaunchers="true" autoIncludeRequirements="true">
|
||||
<product name="SCViewer" uid="scviewer" id="com.minres.scviewer.e4.application.product" application="org.eclipse.e4.ui.workbench.swt.E4Application" version="2.19.5" useFeatures="true" includeLaunchers="true" autoIncludeRequirements="true">
|
||||
|
||||
<configIni use="default">
|
||||
</configIni>
|
||||
@@ -22,21 +22,13 @@
|
||||
<macosx icon="icons/SCViewer.icns"/>
|
||||
<win useIco="true">
|
||||
<ico path="icons/SCViewer.ico"/>
|
||||
<bmp
|
||||
winSmallHigh="icons/SCViewer_16x16@32.bmp"
|
||||
winSmallLow="icons/SCViewer_16x16@8.bmp"
|
||||
winMediumHigh="icons/SCViewer_32x32@32.bmp"
|
||||
winMediumLow="icons/SCViewer_32x32@8.bmp"
|
||||
winLargeHigh="icons/SCViewer_48x48@32.bmp"
|
||||
winLargeLow="icons/SCViewer_48x48@8.bmp"
|
||||
winExtraLargeHigh="icons/SCViewer_256x256@32.bmp"/>
|
||||
</win>
|
||||
</launcher>
|
||||
|
||||
<vm>
|
||||
<linux include="true">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11</linux>
|
||||
<macos include="true">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11</macos>
|
||||
<windows include="true">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11</windows>
|
||||
<linux include="true">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17</linux>
|
||||
<macos include="true">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17</macos>
|
||||
<windows include="true">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17</windows>
|
||||
</vm>
|
||||
|
||||
<license>
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
<unit id="org.eclipse.collections.feature.source.feature.group" version="0.0.0"/>
|
||||
</location>
|
||||
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
|
||||
<repository location="https://download.eclipse.org/justj/jres/15/updates/release/latest"/>
|
||||
<repository location="https://download.eclipse.org/justj/jres/17/updates/release/latest"/>
|
||||
<unit id="org.eclipse.justj.openjdk.hotspot.jre.minimal.stripped.feature.group" version="0.0.0"/>
|
||||
</location>
|
||||
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<build>
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
<xsl:for-each select="site">
|
||||
<html>
|
||||
<head>
|
||||
<title>com.itjw.txviewer.updateSite</title>
|
||||
<title>com.minres.scviewer.updateSite</title>
|
||||
<style>@import url("web/site.css");</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1 class="title">com.itjw.txviewer.updateSite</h1>
|
||||
<h1 class="title">com.minres.scviewer.updateSite</h1>
|
||||
<p class="bodyText"><xsl:value-of select="description"/></p>
|
||||
<table width="100%" border="0" cellspacing="1" cellpadding="2">
|
||||
<xsl:for-each select="category-def">
|
||||
|
||||
@@ -1,10 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src/">
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="test" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" output="target/classes" path="src">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
||||
@@ -4,7 +4,7 @@ Bundle-Name: SCViewer database tests
|
||||
Bundle-SymbolicName: com.minres.scviewer.database.test
|
||||
Bundle-Version: 4.0.0.qualifier
|
||||
Bundle-Vendor: MINRES Technologies GmbH
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-11
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||
Require-Bundle: com.minres.scviewer.database,
|
||||
com.minres.scviewer.database.sqlite;bundle-version="1.0.0",
|
||||
com.minres.scviewer.database.text;bundle-version="1.0.0",
|
||||
|
||||
BIN
tests/com.minres.scviewer.database.test/inputs/test.0.fst
Executable file
BIN
tests/com.minres.scviewer.database.test/inputs/test.0.fst
Executable file
Binary file not shown.
BIN
tests/com.minres.scviewer.database.test/inputs/test.0.ftr
Executable file
BIN
tests/com.minres.scviewer.database.test/inputs/test.0.ftr
Executable file
Binary file not shown.
BIN
tests/com.minres.scviewer.database.test/inputs/test.fst
Normal file
BIN
tests/com.minres.scviewer.database.test/inputs/test.fst
Normal file
Binary file not shown.
@@ -6,7 +6,7 @@
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.19.0</version>
|
||||
<version>2.19.5</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<packaging>eclipse-test-plugin</packaging>
|
||||
|
||||
Reference in New Issue
Block a user