Compare commits

..

22 Commits
2.19 ... 2.19.5

Author SHA1 Message Date
33c58983e3 Merge branch 'release/2.19.5' 2026-04-10 09:37:56 +02:00
2ffcbe1fa3 updates version number 2026-04-10 09:37:46 +02:00
360df27a53 fixes handling of incomplete databases (missing tx on relation) 2026-04-10 09:29:31 +02:00
17015f1bbc fixes various NPE related to selection while reloading database 2026-04-10 08:11:38 +02:00
e4ba753f82 adds perspective for Eclipse bundle 2024-02-11 14:39:31 +01:00
97d6062c3f Merge branch 'release/2.19.4' 2024-02-11 12:59:13 +01:00
92428a3859 update version numbers 2024-02-11 12:58:44 +01:00
5f244dc03a fixes an multiple-load issue leading to NPE when adding empty generator
streams
2024-02-11 12:35:10 +01:00
64cc09d207 updates plugin settings to conform with Eclipse 2023-12 2024-02-11 12:34:12 +01:00
7af8b73bdd Merge branch 'release/2.19.3' 2024-01-27 15:11:44 +01:00
61bc407fb3 updates version numbers 2024-01-27 15:05:04 +01:00
f6a3da013e fixes some drawing and state restore issues 2024-01-27 14:58:55 +01:00
c4fafae029 fixes a missing increment statement 2024-01-27 14:57:15 +01:00
819e549d87 Merge branch 'release/2.19.1' 2024-01-24 06:31:00 +01:00
e472a092c3 updates version numbers 2024-01-23 17:51:02 +01:00
523c266e8d fixes locking issue preventing reload 2024-01-23 17:50:43 +01:00
db640808f2 updates packaged java version 2023-09-14 16:29:02 +02:00
09a55f1513 fixes some naming for the update site 2023-08-15 13:44:23 +02:00
088500afff update update site address 2023-08-11 14:02:49 +02:00
917a51ced7 Merge branch 'release/2.19.0' 2023-08-11 13:28:01 +02:00
c27354070c updates version numbers 2023-08-11 13:26:42 +02:00
9ca573efdb Merge branch 'release/2.19' 2023-08-11 13:15:51 +02:00
83 changed files with 394 additions and 187 deletions

1
.gitignore vendored
View File

@@ -10,3 +10,4 @@ copyrightLog.txt
/workspace /workspace
?*.launch ?*.launch
/.settings/ /.settings/
.tycho-consumer-pom.xml

View File

@@ -9,7 +9,7 @@
<listAttribute key="M2_PROPERTIES"/> <listAttribute key="M2_PROPERTIES"/>
<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/> <stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
<booleanAttribute key="M2_SKIP_TESTS" value="false"/> <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"/> <booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
<stringAttribute key="M2_USER_SETTINGS" value=""/> <stringAttribute key="M2_USER_SETTINGS" value=""/>
<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="true"/> <booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="true"/>

View File

@@ -7,7 +7,7 @@
<parent> <parent>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId> <artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19</version> <version>2.19.5</version>
<relativePath>../..</relativePath> <relativePath>../..</relativePath>
</parent> </parent>

View File

@@ -1,2 +0,0 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId> <artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19</version> <version>2.19.5</version>
<relativePath>../..</relativePath> <relativePath>../..</relativePath>
</parent> </parent>
<version>3.0.0-SNAPSHOT</version> <version>3.0.0-SNAPSHOT</version>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId> <artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19</version> <version>2.19.5</version>
<relativePath>../..</relativePath> <relativePath>../..</relativePath>
</parent> </parent>
<version>1.1.0-SNAPSHOT</version> <version>1.1.0-SNAPSHOT</version>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId> <artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19</version> <version>2.19.5</version>
<relativePath>../..</relativePath> <relativePath>../..</relativePath>
</parent> </parent>
<version>1.0.0-SNAPSHOT</version> <version>1.0.0-SNAPSHOT</version>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId> <artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19</version> <version>2.19.5</version>
<relativePath>../..</relativePath> <relativePath>../..</relativePath>
</parent> </parent>
<version>1.0.0-SNAPSHOT</version> <version>1.0.0-SNAPSHOT</version>

View File

@@ -1,2 +0,0 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@@ -2,7 +2,7 @@
<feature <feature
id="com.minres.scviewer.feature" id="com.minres.scviewer.feature"
label="%featureName" label="%featureName"
version="1.1.0.qualifier" version="2.19.5"
provider-name="%providerName"> provider-name="%providerName">
<description> <description>
@@ -46,22 +46,14 @@ http://www.eclipse.org/legal/epl-v10.html
<plugin <plugin
id="org.junit" id="org.junit"
download-size="0"
install-size="0"
version="0.0.0"/> version="0.0.0"/>
<plugin <plugin
id="org.hamcrest.core" id="org.hamcrest.core"
download-size="0" version="0.0.0"/>
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin <plugin
id="com.minres.scviewer.ui" id="com.minres.scviewer.ui"
download-size="0" version="0.0.0"/>
install-size="0"
version="0.0.0"
unpack="false"/>
</feature> </feature>

View File

@@ -5,8 +5,7 @@
<parent> <parent>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId> <artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19</version> <version>2.19.5</version>
<relativePath>../..</relativePath> <relativePath>../..</relativePath>
</parent> </parent>
<version>1.1.0-SNAPSHOT</version>
</project> </project>

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId> <artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19</version> <version>2.19.5</version>
<relativePath>../..</relativePath> <relativePath>../..</relativePath>
</parent> </parent>
<version>1.1.0-SNAPSHOT</version> <version>1.1.0-SNAPSHOT</version>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <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> <attributes>
<attribute name="module" value="true"/> <attribute name="module" value="true"/>
</attributes> </attributes>

View File

@@ -4,7 +4,7 @@ Bundle-Name: FST signal database
Bundle-SymbolicName: com.minres.scviewer.database.fst Bundle-SymbolicName: com.minres.scviewer.database.fst
Bundle-Version: 1.0.0.qualifier Bundle-Version: 1.0.0.qualifier
Bundle-Vendor: MINRES Technologies GmbH Bundle-Vendor: MINRES Technologies GmbH
Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-RequiredExecutionEnvironment: JavaSE-17
Require-Bundle: com.minres.scviewer.database;bundle-version="1.0.0", Require-Bundle: com.minres.scviewer.database;bundle-version="1.0.0",
org.eclipse.osgi.services;bundle-version="3.4.0", org.eclipse.osgi.services;bundle-version="3.4.0",
com.google.guava;bundle-version="15.0.0" com.google.guava;bundle-version="15.0.0"

View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId> <artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19</version> <version>2.19.5</version>
<relativePath>../..</relativePath> <relativePath>../..</relativePath>
</parent> </parent>
<packaging>eclipse-plugin</packaging> <packaging>eclipse-plugin</packaging>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <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> <attributes>
<attribute name="module" value="true"/> <attribute name="module" value="true"/>
</attributes> </attributes>

View File

@@ -2,9 +2,9 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2 Bundle-ManifestVersion: 2
Bundle-Name: CBOR transaction database Bundle-Name: CBOR transaction database
Bundle-SymbolicName: com.minres.scviewer.database.ftr 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-Vendor: MINRES Technologies GmbH
Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-RequiredExecutionEnvironment: JavaSE-17
Import-Package: org.osgi.framework;version="1.3.0", Import-Package: org.osgi.framework;version="1.3.0",
org.slf4j;version="1.7.2" org.slf4j;version="1.7.2"
Require-Bundle: com.minres.scviewer.database, Require-Bundle: com.minres.scviewer.database,

View File

@@ -2,11 +2,11 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 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> <modelVersion>4.0.0</modelVersion>
<artifactId>com.minres.scviewer.database.ftr</artifactId> <artifactId>com.minres.scviewer.database.ftr</artifactId>
<version>1.0.0-SNAPSHOT</version> <version>1.0.2-SNAPSHOT</version>
<parent> <parent>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId> <artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19</version> <version>2.19.5</version>
<relativePath>../..</relativePath> <relativePath>../..</relativePath>
</parent> </parent>
<packaging>eclipse-plugin</packaging> <packaging>eclipse-plugin</packaging>

View File

@@ -153,8 +153,11 @@ abstract class AbstractTxStream extends HierNode implements IWaveform {
switch(evt.getKind()) { switch(evt.getKind()) {
case END: //TODO: might throw NPE in concurrent execution case END: //TODO: might throw NPE in concurrent execution
Long txId = txEvt.getTransaction().getId(); Long txId = txEvt.getTransaction().getId();
txEvt.setConcurrencyIndex(rowByTxId.get(txId)); Integer row = rowByTxId.get(txId);
if(row!=null) {
txEvt.setConcurrencyIndex(row);
rowByTxId.remove(txId); rowByTxId.remove(txId);
}
break; break;
case SINGLE: case SINGLE:
for (; rowIdx < rowEndTime.size() && rowEndTime.get(rowIdx)>tx.getBeginTime(); rowIdx++); for (; rowIdx < rowEndTime.size() && rowEndTime.get(rowIdx)>tx.getBeginTime(); rowIdx++);

View File

@@ -178,7 +178,6 @@ public class FtrDbLoader implements IWaveformDbLoader {
*/ */
@Override @Override
public void load(File file) throws InputFormatException { public void load(File file) throws InputFormatException {
dispose();
this.file=file; this.file=file;
try { try {
fis = new FileInputStream(file); fis = new FileInputStream(file);
@@ -239,10 +238,12 @@ public class FtrDbLoader implements IWaveformDbLoader {
genId = cborDecoder.readInt(); genId = cborDecoder.readInt();
long startTime = cborDecoder.readInt()*time_scale_factor; long startTime = cborDecoder.readInt()*time_scale_factor;
long endTime = 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); 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); updateTransactions(txId, scvTx);
TxStream stream = txStreams.get(gen.stream.getId());
if (scvTx.beginTime == scvTx.endTime) { if (scvTx.beginTime == scvTx.endTime) {
stream.addEvent(new TxEvent(this, EventKind.SINGLE, txId, scvTx.beginTime)); stream.addEvent(new TxEvent(this, EventKind.SINGLE, txId, scvTx.beginTime));
gen.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 case 6: // id/generator/start/end
long len = cborDecoder.readArrayLength(); long len = cborDecoder.readArrayLength();
assert(len==4); assert(len==4);
cborDecoder.readInt(); cborDecoder.readInt(); //txid
cborDecoder.readInt(); cborDecoder.readInt(); // genId
cborDecoder.readInt(); cborDecoder.readInt(); // startTime
cborDecoder.readInt(); cborDecoder.readInt(); // endTime
break; break;
default: { // skip over 7:begin attr, 8:record attr, 9:end attr default: { // skip over 7:begin attr, 8:record attr, 9:end attr
long sz = cborDecoder.readArrayLength(); long sz = cborDecoder.readArrayLength();

View File

@@ -77,8 +77,8 @@ class FtrTx implements Serializable {
public List<ITxAttribute> getAttributes(FtrDbLoader loader) { public List<ITxAttribute> getAttributes(FtrDbLoader loader) {
if(attributes.size()==0) if(attributes.size()==0)
try { try {
TxStream stream = loader.txStreams.get(streamId); final TxStream stream = loader.txStreams.get(streamId);
byte[] chunk = stream.getChunks().get((int)blockId); final byte[] chunk = stream.getChunks().get((int)blockId);
attributes.addAll(loader.parseAtrributes(chunk, blockOffset)); attributes.addAll(loader.parseAtrributes(chunk, blockOffset));
} catch (InputFormatException e) { } catch (InputFormatException e) {
// TODO Auto-generated catch block // TODO Auto-generated catch block

View File

@@ -65,12 +65,12 @@ class TxGenerator extends AbstractTxStream {
*/ */
@Override @Override
public IEventList getEvents() { public IEventList getEvents() {
if(events.size()==0) { if(stream.events.size()==0) {
try { try {
List<byte[]> chunks = stream.getChunks(); List<byte[]> chunks = stream.getChunks();
int blockid = 0; int blockid = 0;
for (byte[] bs : chunks) { for (byte[] bs : chunks) {
loader.parseTx(stream, blockid, bs); loader.parseTx(stream, blockid++, bs);
} }
} catch (InputFormatException e) { } catch (InputFormatException e) {
// TODO Auto-generated catch block // TODO Auto-generated catch block

View File

@@ -105,7 +105,7 @@ class TxRelation implements ITxRelation {
TxStream fiber = loader.txStreams.get(fiberId); TxStream fiber = loader.txStreams.get(fiberId);
fiber.loadStream(); fiber.loadStream();
tx = loader.getTransaction(txId); tx = loader.getTransaction(txId);
return loader.txStreams.get(fiberId); return fiber;
} else } else
return tx.getStream(); return tx.getStream();
} }
@@ -116,7 +116,7 @@ class TxRelation implements ITxRelation {
loader.txStreams.get(fiberId).loadStream(); loader.txStreams.get(fiberId).loadStream();
tx = loader.getTransaction(txId); tx = loader.getTransaction(txId);
} }
return tx.getGenerator(); return tx!=null?tx.getGenerator():null;
} }
@Override @Override

View File

@@ -73,6 +73,7 @@ class TxStream extends AbstractTxStream {
} }
public void loadStream() { public void loadStream() {
if(chunks.size()>0) return;
try { try {
List<byte[]> chunks = getChunks(); List<byte[]> chunks = getChunks();
int blockid = 0; int blockid = 0;

View File

@@ -1,8 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <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="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 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"/> <classpathentry kind="output" path="target/classes"/>
</classpath> </classpath>

View File

@@ -1,2 +0,0 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@@ -4,7 +4,7 @@ Bundle-Name: SQLite transaction database
Bundle-SymbolicName: com.minres.scviewer.database.sqlite Bundle-SymbolicName: com.minres.scviewer.database.sqlite
Bundle-Version: 1.1.0.qualifier Bundle-Version: 1.1.0.qualifier
Bundle-Vendor: MINRES Technologies GmbH Bundle-Vendor: MINRES Technologies GmbH
Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-RequiredExecutionEnvironment: JavaSE-17
Require-Bundle: com.minres.scviewer.database;bundle-version="1.0.0" Require-Bundle: com.minres.scviewer.database;bundle-version="1.0.0"
Bundle-ClassPath: .,sqlite-jdbc-3.8.7.jar Bundle-ClassPath: .,sqlite-jdbc-3.8.7.jar
Service-Component: OSGI-INF/component.xml Service-Component: OSGI-INF/component.xml

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId> <artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19</version> <version>2.19.5</version>
<relativePath>../..</relativePath> <relativePath>../..</relativePath>
</parent> </parent>
<packaging>eclipse-plugin</packaging> <packaging>eclipse-plugin</packaging>

View File

@@ -1,8 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <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="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"> <classpathentry exported="true" kind="lib" path="lib/mapdb-3.0.7.jar" sourcepath="lib/mapdb-3.0.7-sources.jar">
<attributes> <attributes>
<attribute name="javadoc_location" value="jar:platform:/resource/com.minres.scviewer.database.text/lib/mapdb-3.0.7-javadoc.jar!/"/> <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/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/lz4-1.3.0.jar"/>
<classpathentry exported="true" kind="lib" path="lib/elsa-3.0.0-M5.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"/> <classpathentry kind="output" path="target/classes"/>
</classpath> </classpath>

View File

@@ -1,2 +0,0 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@@ -4,7 +4,7 @@ Bundle-Name: Textual transaction database
Bundle-SymbolicName: com.minres.scviewer.database.text Bundle-SymbolicName: com.minres.scviewer.database.text
Bundle-Version: 4.0.1.qualifier Bundle-Version: 4.0.1.qualifier
Bundle-Vendor: MINRES Technologies GmbH Bundle-Vendor: MINRES Technologies GmbH
Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-RequiredExecutionEnvironment: JavaSE-17
Import-Package: org.osgi.framework;version="1.3.0" Import-Package: org.osgi.framework;version="1.3.0"
Require-Bundle: com.minres.scviewer.database, Require-Bundle: com.minres.scviewer.database,
org.eclipse.osgi.services;bundle-version="3.4.0", org.eclipse.osgi.services;bundle-version="3.4.0",

View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId> <artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19</version> <version>2.19.5</version>
<relativePath>../..</relativePath> <relativePath>../..</relativePath>
</parent> </parent>
<packaging>eclipse-plugin</packaging> <packaging>eclipse-plugin</packaging>

View File

@@ -1,7 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <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="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"/> <classpathentry kind="output" path="target/classes"/>
</classpath> </classpath>

View File

@@ -1,2 +0,0 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@@ -4,7 +4,7 @@ Bundle-Name: SWT database widget
Bundle-SymbolicName: com.minres.scviewer.database.ui.swt Bundle-SymbolicName: com.minres.scviewer.database.ui.swt
Bundle-Version: 4.0.0.qualifier Bundle-Version: 4.0.0.qualifier
Bundle-Vendor: MINRES Technologies GmbH Bundle-Vendor: MINRES Technologies GmbH
Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-RequiredExecutionEnvironment: JavaSE-17
Require-Bundle: org.eclipse.swt;bundle-version="3.103.1", Require-Bundle: org.eclipse.swt;bundle-version="3.103.1",
com.minres.scviewer.database;bundle-version="1.0.0", com.minres.scviewer.database;bundle-version="1.0.0",
com.google.guava;bundle-version="15.0.0", com.google.guava;bundle-version="15.0.0",

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId> <artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19</version> <version>2.19.5</version>
<relativePath>../..</relativePath> <relativePath>../..</relativePath>
</parent> </parent>
<version>4.0.0-SNAPSHOT</version> <version>4.0.0-SNAPSHOT</version>

View File

@@ -84,7 +84,10 @@ public class ArrowPainter implements IPainter {
private int getConcurrencyIndex(ITx tx) { private int getConcurrencyIndex(ITx tx) {
IEvent[] eventList = tx.getStream().getEventsBeforeTime(tx.getBeginTime()); IEvent[] eventList = tx.getStream().getEventsBeforeTime(tx.getBeginTime());
Optional<Integer> res = Arrays.stream(eventList).map(e -> ((ITxEvent)e).getRowIndex()).findFirst(); 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() { protected boolean calculateGeometries() {
@@ -98,8 +101,10 @@ public class ArrowPainter implements IPainter {
return true; return true;
} }
int laneHeight = painter.getHeight() / tx.getStream().getRowCount(); int laneHeight = painter.getHeight() / tx.getStream().getRowCount();
int laneOffset = laneHeight * getConcurrencyIndex(tx);
int rulerHeight = waveCanvas.rulerHeight;
txRectangle = new Rectangle((int) (tx.getBeginTime() / scaleFactor), 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); (int) ((tx.getEndTime() - tx.getBeginTime()) / scaleFactor), laneHeight);
deriveGeom(tx.getIncomingRelations(), iRect, false); deriveGeom(tx.getIncomingRelations(), iRect, false);
deriveGeom(tx.getOutgoingRelations(), oRect, true); deriveGeom(tx.getOutgoingRelations(), oRect, true);
@@ -114,12 +119,13 @@ public class ArrowPainter implements IPainter {
if (waveCanvas.wave2painterMap.containsKey(iWaveform)) { if (waveCanvas.wave2painterMap.containsKey(iWaveform)) {
IWaveformPainter painter = waveCanvas.wave2painterMap.get(iWaveform); IWaveformPainter painter = waveCanvas.wave2painterMap.get(iWaveform);
if(painter!=null) { if(painter!=null) {
int height = waveCanvas.styleProvider.getTrackHeight(); int laneHeight = waveCanvas.styleProvider.getTrackHeight();
int laneOffset = laneHeight * getConcurrencyIndex(tx);
Rectangle bb = new Rectangle( Rectangle bb = new Rectangle(
(int) (otherTx.getBeginTime() / scaleFactor), (int) (otherTx.getBeginTime() / scaleFactor),
waveCanvas.rulerHeight + painter.getVerticalOffset() + height * getConcurrencyIndex(otherTx), waveCanvas.rulerHeight + painter.getVerticalOffset() + laneOffset,
(int) ((otherTx.getEndTime() - otherTx.getBeginTime()) / scaleFactor), (int) ((otherTx.getEndTime() - otherTx.getBeginTime()) / scaleFactor),
height); laneHeight);
res.add(new LinkEntry(bb, iTxRelation.getRelationType())); res.add(new LinkEntry(bb, iTxRelation.getRelationType()));
} }
} }

View File

@@ -124,7 +124,8 @@ public class StreamPainter extends TrackPainter{
protected void drawTx(Projection proj, Rectangle area, ITx tx, int concurrencyIndex, boolean highlighted ) { protected void drawTx(Projection proj, Rectangle area, ITx tx, int concurrencyIndex, boolean highlighted ) {
// compute colors // 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]); proj.setBackground(transColor[highlighted?1:0]);

View File

@@ -842,7 +842,7 @@ public class WaveformView implements IWaveformView {
public void setSelection(ISelection selection, boolean add, boolean addIfNeeded) { public void setSelection(ISelection selection, boolean add, boolean addIfNeeded) {
boolean selectionChanged = false; boolean selectionChanged = false;
currentWaveformSelection.forEach(e -> e.selected = false); currentWaveformSelection.forEach(e -> {if(e!=null) e.selected = false;});
if (selection instanceof IStructuredSelection) { if (selection instanceof IStructuredSelection) {
IStructuredSelection sel = (IStructuredSelection) selection; IStructuredSelection sel = (IStructuredSelection) selection;
if (sel.size() == 0) { if (sel.size() == 0) {
@@ -862,10 +862,14 @@ public class WaveformView implements IWaveformView {
if (trackEntry == null) { if (trackEntry == null) {
trackEntry = getEntryFor(txSel); trackEntry = getEntryFor(txSel);
if (trackEntry == null && addIfNeeded) { if (trackEntry == null && addIfNeeded) {
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); trackEntry = new TrackEntry(txSel.getStream(), styleProvider);
streams.add(trackEntry); streams.add(trackEntry);
} }
} }
}
currentTxSelection = txSel; currentTxSelection = txSel;
currentWaveformSelection.clear(); currentWaveformSelection.clear();
currentWaveformSelection.add(trackEntry); currentWaveformSelection.add(trackEntry);
@@ -885,7 +889,7 @@ public class WaveformView implements IWaveformView {
currentTxSelection = null; currentTxSelection = null;
currentWaveformSelection.clear(); currentWaveformSelection.clear();
} }
currentWaveformSelection.forEach(e -> e.selected = true); currentWaveformSelection.forEach(e -> {if(e!=null)e.selected = true;});
if (selectionChanged) { if (selectionChanged) {
currentWaveformSelection.forEach(e -> waveformCanvas.reveal(e.waveform)); currentWaveformSelection.forEach(e -> waveformCanvas.reveal(e.waveform));
waveformCanvas.setSelected(currentTxSelection); waveformCanvas.setSelected(currentTxSelection);
@@ -1376,10 +1380,13 @@ public class WaveformView implements IWaveformView {
} }
public TrackEntry getEntryFor(ITx source) { 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(); .findFirst();
if (optGen.isPresent()) if (optGen.isPresent())
return optGen.get(); return optGen.get();
if(source.getStream()==null) return null;
Optional<TrackEntry> optStr = streams.stream().filter(e -> source.getStream().equals(e.waveform)).findFirst(); Optional<TrackEntry> optStr = streams.stream().filter(e -> source.getStream().equals(e.waveform)).findFirst();
if (optStr.isPresent()) if (optStr.isPresent())
return optStr.get(); return optStr.get();

View File

@@ -1,7 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <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="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"/> <classpathentry kind="output" path="target/classes"/>
</classpath> </classpath>

View File

@@ -1,2 +0,0 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@@ -4,7 +4,7 @@ Bundle-Name: VCD signal database
Bundle-SymbolicName: com.minres.scviewer.database.vcd Bundle-SymbolicName: com.minres.scviewer.database.vcd
Bundle-Version: 4.0.0.qualifier Bundle-Version: 4.0.0.qualifier
Bundle-Vendor: MINRES Technologies GmbH Bundle-Vendor: MINRES Technologies GmbH
Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-RequiredExecutionEnvironment: JavaSE-17
Require-Bundle: com.minres.scviewer.database;bundle-version="1.0.0", Require-Bundle: com.minres.scviewer.database;bundle-version="1.0.0",
org.eclipse.osgi.services;bundle-version="3.4.0", org.eclipse.osgi.services;bundle-version="3.4.0",
com.google.guava;bundle-version="15.0.0" com.google.guava;bundle-version="15.0.0"

View File

@@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId> <artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19</version> <version>2.19.5</version>
<relativePath>../..</relativePath> <relativePath>../..</relativePath>
</parent> </parent>
<packaging>eclipse-plugin</packaging> <packaging>eclipse-plugin</packaging>

View File

@@ -1,11 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <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> <attributes>
<attribute name="module" value="true"/> <attribute name="module" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> <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"/> <classpathentry kind="output" path="target/classes"/>
</classpath> </classpath>

View File

@@ -1,2 +0,0 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@@ -1,9 +1,9 @@
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate 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.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.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=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.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=11 org.eclipse.jdt.core.compiler.source=17

View File

@@ -4,7 +4,7 @@ Bundle-Name: Waveform database
Bundle-SymbolicName: com.minres.scviewer.database Bundle-SymbolicName: com.minres.scviewer.database
Bundle-Version: 4.0.0.qualifier Bundle-Version: 4.0.0.qualifier
Bundle-Vendor: MINRES Technologies GmbH Bundle-Vendor: MINRES Technologies GmbH
Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-RequiredExecutionEnvironment: JavaSE-17
Export-Package: com.minres.scviewer.database, Export-Package: com.minres.scviewer.database,
com.minres.scviewer.database.tx com.minres.scviewer.database.tx
Import-Package: org.slf4j Import-Package: org.slf4j

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId> <artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19</version> <version>2.19.5</version>
<relativePath>../..</relativePath> <relativePath>../..</relativePath>
</parent> </parent>
<packaging>eclipse-plugin</packaging> <packaging>eclipse-plugin</packaging>

View File

@@ -15,10 +15,10 @@ import java.beans.PropertyChangeListener;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -44,13 +44,13 @@ public class WaveformDb extends HierNode implements IWaveformDb, PropertyChangeL
private boolean loaded; private boolean loaded;
/** The relation types. */ /** The relation types. */
private List<RelationType> relationTypes; private List<RelationType> relationTypes = new ArrayList<>();;
/** The waveforms. */ /** The waveforms. */
private Map<String, IWaveform> waveforms; private Map<String, IWaveform> waveforms = Collections.synchronizedMap(new HashMap<>()) ;;
/** The max time. */ /** The max time. */
private long maxTime = -1; private long maxTime = 0L;
private static final Logger LOG = LoggerFactory.getLogger(WaveformDb.class); 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); return Collections.unmodifiableList(loaderFactories);
} }
/**
* Instantiates a new waveform db.
*/
public WaveformDb() {
super();
waveforms = new ConcurrentHashMap<>();
relationTypes = new ArrayList<>();
maxTime = 0L;
}
/** /**
* Gets the max time. * Gets the max time.
* *
@@ -143,15 +133,15 @@ public class WaveformDb extends HierNode implements IWaveformDb, PropertyChangeL
retval=false; retval=false;
} }
loader.removePropertyChangeListener(this); loader.removePropertyChangeListener(this);
for (IWaveform w : loader.getAllWaves()) { // for (IWaveform w : loader.getAllWaves()) {
waveforms.put(w.getFullName(), w); // waveforms.put(w.getFullName(), w);
} // }
if (loader.getMaxTime() > maxTime) { if (loader.getMaxTime() > maxTime) {
maxTime = loader.getMaxTime(); maxTime = loader.getMaxTime();
} }
if (name == null) if (name == null)
name = getFileBasename(inp.getName()); name = getFileBasename(inp.getName());
buildHierarchyNodes(); //buildHierarchyNodes();
relationTypes.addAll(loader.getAllRelationTypes()); relationTypes.addAll(loader.getAllRelationTypes());
} }
} }

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <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> <attributes>
<attribute name="module" value="true"/> <attribute name="module" value="true"/>
</attributes> </attributes>

View File

@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2 Bundle-ManifestVersion: 2
Bundle-Name: SCViewer Help Bundle-Name: SCViewer Help
Bundle-SymbolicName: com.minres.scviewer.e4.application.help;singleton:=true Bundle-SymbolicName: com.minres.scviewer.e4.application.help;singleton:=true
Bundle-Version: 2.19 Bundle-Version: 2.19.5
Bundle-Vendor: MINRES Technologies GmbH Bundle-Vendor: MINRES Technologies GmbH
Automatic-Module-Name: com.minres.scviewer.e4.application.help Automatic-Module-Name: com.minres.scviewer.e4.application.help
Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-RequiredExecutionEnvironment: JavaSE-17

View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId> <artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19</version> <version>2.19.5</version>
<relativePath>../..</relativePath> <relativePath>../..</relativePath>
</parent> </parent>
<packaging>eclipse-plugin</packaging> <packaging>eclipse-plugin</packaging>

View File

@@ -1,7 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <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="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"/> <classpathentry kind="output" path="target/classes"/>
</classpath> </classpath>

View File

@@ -1,2 +0,0 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2 Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name Bundle-Name: %Bundle-Name
Bundle-SymbolicName: com.minres.scviewer.e4.application;singleton:=true Bundle-SymbolicName: com.minres.scviewer.e4.application;singleton:=true
Bundle-Version: 2.19 Bundle-Version: 2.19.5
Bundle-Vendor: %Bundle-Vendor Bundle-Vendor: %Bundle-Vendor
Require-Bundle: javax.inject;bundle-version="1.0.0", Require-Bundle: javax.inject;bundle-version="1.0.0",
org.eclipse.core.runtime;bundle-version="3.11.1", 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.webapp;bundle-version="3.9.800",
org.eclipse.help.base;bundle-version="4.2.900", org.eclipse.help.base;bundle-version="4.2.900",
com.minres.scviewer.e4.application.help;bundle-version="1.0.0" 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, Import-Package: com.minres.scviewer.database,
javax.annotation;version="1.0.0";resolution:=optional, javax.annotation;version="1.0.0";resolution:=optional,
javax.inject;version="1.0.0" javax.inject;version="1.0.0"

View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId> <artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19</version> <version>2.19.5</version>
<relativePath>../..</relativePath> <relativePath>../..</relativePath>
</parent> </parent>
<packaging>eclipse-plugin</packaging> <packaging>eclipse-plugin</packaging>

View File

@@ -366,10 +366,14 @@ public class DesignBrowser {
} }
} }
@SuppressWarnings("unchecked")
public void setWaveformViewer(WaveformViewer waveformViewerPart) { public void setWaveformViewer(WaveformViewer waveformViewerPart) {
this.waveformViewerPart=waveformViewerPart; this.waveformViewerPart=waveformViewerPart;
IWaveformDb database = waveformViewerPart.getDatabase(); IWaveformDb database = waveformViewerPart.getDatabase();
setWaveformDb(database);
}
@SuppressWarnings("unchecked")
public void setWaveformDb(IWaveformDb database) {
Object input = treeViewer.getInput(); Object input = treeViewer.getInput();
if(input instanceof List<?>){ if(input instanceof List<?>){
IWaveformDb db = ((List<IWaveformDb>)input).get(0); IWaveformDb db = ((List<IWaveformDb>)input).get(0);

View File

@@ -267,6 +267,7 @@ public class TransactionList extends Composite {
.map(e -> new AttributeNameBean(e.getKey(), e.getValue())) .map(e -> new AttributeNameBean(e.getKey(), e.getValue()))
.collect(Collectors.toList()); .collect(Collectors.toList());
getDisplay().asyncExec(() -> { getDisplay().asyncExec(() -> {
if(tableViewer.getControl().isDisposed()) return;
tableViewer.setInput(txList); tableViewer.setInput(txList);
attrNames.clear(); attrNames.clear();
attrNames.addAll(newAttrNames); attrNames.addAll(newAttrNames);

View File

@@ -176,7 +176,7 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis
/** The factory. */ /** The factory. */
WaveformViewFactory factory = new WaveformViewFactory(); WaveformViewFactory factory = new WaveformViewFactory();
DesignBrowser browser = null; DesignBrowser designBrowser = null;
TransactionDetails detailsView = null; TransactionDetails detailsView = null;
@@ -206,8 +206,6 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis
IEclipsePreferences store = null; IEclipsePreferences store = null;
@Inject @Optional DesignBrowser designBrowser;
/** The database. */ /** The database. */
private IWaveformDb database; private IWaveformDb database;
@@ -295,7 +293,7 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis
middleSash.setWeights(new int[] {75, 25}); middleSash.setWeights(new int[] {75, 25});
ctx.set(Composite.class, left); ctx.set(Composite.class, left);
browser = ContextInjectionFactory.make(DesignBrowser.class, ctx); designBrowser = ContextInjectionFactory.make(DesignBrowser.class, ctx);
ctx.set(Composite.class, right); ctx.set(Composite.class, right);
detailsView = ContextInjectionFactory.make(TransactionDetails.class, ctx); detailsView = ContextInjectionFactory.make(TransactionDetails.class, ctx);
@@ -623,6 +621,8 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis
loadState(partConfig); loadState(partConfig);
if (state != null && !state.isEmpty()) if (state != null && !state.isEmpty())
restoreWaveformViewerState(state); restoreWaveformViewerState(state);
if(designBrowser!=null)
designBrowser.setWaveformDb(database);
fileChecker = null; fileChecker = null;
if (checkForUpdates) if (checkForUpdates)
fileChecker = fileMonitor.addFileChangeListener(WaveformViewer.this, filesToLoad, FILE_CHECK_INTERVAL); fileChecker = fileMonitor.addFileChangeListener(WaveformViewer.this, filesToLoad, FILE_CHECK_INTERVAL);
@@ -653,10 +653,14 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis
public void reloadDatabase() { public void reloadDatabase() {
Map<String, String> state = new HashMap<>(); Map<String, String> state = new HashMap<>();
saveWaveformViewerState(state); saveWaveformViewerState(state);
setSelection(null);
waveformPane.getStreamList().clear(); waveformPane.getStreamList().clear();
waveformPane.update();
if(database.isLoaded())
database.close();
database = dbFactory.getDatabase(); database = dbFactory.getDatabase();
database.addPropertyChangeListener(evt -> { 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())); 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))) if(Boolean.parseBoolean(state.get(SHOWN_WAVEFORM + i + WAVEFORM_SELECTED)))
selectedTrackEntries.add(trackEntry); selectedTrackEntries.add(trackEntry);
} else { } 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) { if (waveform != null) {
TrackEntry trackEntry = waveformPane.addWaveform(waveform, -1); TrackEntry trackEntry = waveformPane.addWaveform(waveform, -1);
//check if t is selected //check if t is selected

View File

@@ -5,6 +5,7 @@ import java.util.Vector;
import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.Viewer; 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.ITx;
import com.minres.scviewer.database.tx.ITxRelation; import com.minres.scviewer.database.tx.ITxRelation;
import com.minres.scviewer.e4.application.Messages; import com.minres.scviewer.e4.application.Messages;
@@ -51,9 +52,11 @@ public abstract class AbstractTransactionTreeContentProvider implements ITreeCon
TransactionTreeNode node=(TransactionTreeNode) element; TransactionTreeNode node=(TransactionTreeNode) element;
switch(node.type) { switch(node.type) {
case PROPS: case PROPS:
IWaveform stream = node.element.getStream();
IWaveform generator = node.element.getGenerator();
return new Object[][]{ return new Object[][]{
{Messages.TransactionDetails_1, Messages.TransactionDetails_16, node.element.getStream().getFullName()}, {Messages.TransactionDetails_1, Messages.TransactionDetails_16, stream!=null?stream.getFullName():"[unknown]"},
{Messages.TransactionDetails_2, Messages.TransactionDetails_16, node.element.getGenerator().getName()}, {Messages.TransactionDetails_2, Messages.TransactionDetails_16, generator!=null?generator.getName():"[unknown]"},
{Messages.TransactionDetails_19, Messages.TransactionDetails_20, waveformViewerPart.getScaledTime(node.element.getBeginTime())}, {Messages.TransactionDetails_19, Messages.TransactionDetails_20, waveformViewerPart.getScaledTime(node.element.getBeginTime())},
{Messages.TransactionDetails_21, Messages.TransactionDetails_20, waveformViewerPart.getScaledTime(node.element.getEndTime())} {Messages.TransactionDetails_21, Messages.TransactionDetails_20, waveformViewerPart.getScaledTime(node.element.getEndTime())}
}; };

View File

@@ -16,12 +16,12 @@ import com.minres.scviewer.e4.application.Messages;
public class TransactionTreeNode implements Comparable<TransactionTreeNode>{ public class TransactionTreeNode implements Comparable<TransactionTreeNode>{
/** The type. */ /** The type. */
public TransactionTreeNodeType type; public final TransactionTreeNodeType type;
/** The element. */ /** The element. */
public ITx element; public final ITx element;
private String hier_path; private final String hier_path;
/** /**
* Instantiates a new tree node. * Instantiates a new tree node.
* *

View File

@@ -1,7 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <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="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"/> <classpathentry kind="output" path="target/classes"/>
</classpath> </classpath>

View File

@@ -1,2 +0,0 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@@ -17,8 +17,10 @@ Require-Bundle: com.minres.scviewer.database;bundle-version="1.0.0",
org.eclipse.swt, org.eclipse.swt,
org.eclipse.osgi, org.eclipse.osgi,
org.eclipse.core.expressions;bundle-version="3.4.600", org.eclipse.core.expressions;bundle-version="3.4.600",
org.eclipse.jface org.eclipse.jface,
Bundle-RequiredExecutionEnvironment: JavaSE-11 org.eclipse.ui.console,
org.eclipse.jdt.ui
Bundle-RequiredExecutionEnvironment: JavaSE-17
Bundle-ActivationPolicy: lazy Bundle-ActivationPolicy: lazy
Import-Package: com.google.common.collect Import-Package: com.google.common.collect
Service-Component: OSGI-INF/component.xml Service-Component: OSGI-INF/component.xml

View File

@@ -20,10 +20,11 @@
<editor <editor
class="com.minres.scviewer.ui.TxEditorPart" class="com.minres.scviewer.ui.TxEditorPart"
contributorClass="com.minres.scviewer.ui.TxEditorActionBarContributor" contributorClass="com.minres.scviewer.ui.TxEditorActionBarContributor"
extensions="txdb" default="true"
filenames="*.txdb,*.txlog,*.vcd,*.ftr" filenames="*.txlog,*.vcd,*.ftr,*.fst,*.txlog.gz,*.txdb"
icon="res/images/scviewer.png" icon="res/images/scviewer.png"
id="com.minres.scviewer.ui.TxEditorPart" id="com.minres.scviewer.ui.TxEditorPart"
matchingStrategy="SCViewerMatchingStrategy"
name="Wave Viewer"> name="Wave Viewer">
</editor> </editor>
</extension> </extension>
@@ -372,5 +373,14 @@
icon="res/images/cross.png"> icon="res/images/cross.png">
</image> </image>
</extension> </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> </plugin>

View File

@@ -4,7 +4,7 @@
<parent> <parent>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId> <artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19</version> <version>2.19.5</version>
<relativePath>../..</relativePath> <relativePath>../..</relativePath>
</parent> </parent>
<packaging>eclipse-plugin</packaging> <packaging>eclipse-plugin</packaging>

View File

@@ -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");
}
}

View File

@@ -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);
}
}

View File

@@ -26,23 +26,13 @@ public class TxDbTreeLabelProvider implements ILabelProvider {
private List<ILabelProviderListener> listeners = new ArrayList<ILabelProviderListener>(); private List<ILabelProviderListener> listeners = new ArrayList<ILabelProviderListener>();
private Image database; private static Image database=TxEditorPlugin.createImage("database");
private Image stream; private static Image stream=TxEditorPlugin.createImage("stream");
private Image signal; private static Image signal=TxEditorPlugin.createImage("signal");
private Image folder; private static Image folder=TxEditorPlugin.createImage("folder");
private Image wave; 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 @Override
public void addListener(ILabelProviderListener listener) { public void addListener(ILabelProviderListener listener) {
listeners.add(listener); listeners.add(listener);

View File

@@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId> <artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19</version> <version>2.19.5</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<modules> <modules>
<module>releng/com.minres.scviewer.target</module> <module>releng/com.minres.scviewer.target</module>
@@ -71,13 +71,13 @@
<artifact> <artifact>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.target</artifactId> <artifactId>com.minres.scviewer.target</artifactId>
<version>2.19</version> <version>2.19.5</version>
</artifact> </artifact>
</target> </target>
<executionEnvironment> <executionEnvironment>
org.eclipse.justj.openjdk.hotspot.jre.minimal-15</executionEnvironment> org.eclipse.justj.openjdk.hotspot.jre.minimal-17</executionEnvironment>
<executionEnvironmentDefault> <executionEnvironmentDefault>
org.eclipse.justj.openjdk.hotspot.jre.minimal-15</executionEnvironmentDefault> org.eclipse.justj.openjdk.hotspot.jre.minimal-17</executionEnvironmentDefault>
<includePackedArtifacts>true</includePackedArtifacts> <includePackedArtifacts>true</includePackedArtifacts>
<environments> <environments>
<environment> <environment>

View File

@@ -6,11 +6,11 @@
<parent> <parent>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId> <artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19</version> <version>2.19.5</version>
<relativePath>../..</relativePath> <relativePath>../..</relativePath>
</parent> </parent>
<artifactId>com.minres.scviewer.e4.product</artifactId> <artifactId>com.minres.scviewer.e4.product</artifactId>
<version>2.19</version> <version>2.19.5</version>
<packaging>eclipse-repository</packaging> <packaging>eclipse-repository</packaging>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<build> <build>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?pde version="3.5"?> <?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" 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 use="default">
</configIni> </configIni>
@@ -22,21 +22,13 @@
<macosx icon="icons/SCViewer.icns"/> <macosx icon="icons/SCViewer.icns"/>
<win useIco="true"> <win useIco="true">
<ico path="icons/SCViewer.ico"/> <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> </win>
</launcher> </launcher>
<vm> <vm>
<linux include="true">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11</linux> <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-11</macos> <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-11</windows> <windows include="true">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17</windows>
</vm> </vm>
<license> <license>

View File

@@ -36,7 +36,7 @@
<unit id="org.eclipse.collections.feature.source.feature.group" version="0.0.0"/> <unit id="org.eclipse.collections.feature.source.feature.group" version="0.0.0"/>
</location> </location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit"> <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"/> <unit id="org.eclipse.justj.openjdk.hotspot.jre.minimal.stripped.feature.group" version="0.0.0"/>
</location> </location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit"> <location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">

View File

@@ -12,7 +12,7 @@
<parent> <parent>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId> <artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19</version> <version>2.19.5</version>
<relativePath>../..</relativePath> <relativePath>../..</relativePath>
</parent> </parent>

View File

@@ -7,7 +7,7 @@
<parent> <parent>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId> <artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19</version> <version>2.19.5</version>
<relativePath>../..</relativePath> <relativePath>../..</relativePath>
</parent> </parent>
<build> <build>

View File

@@ -5,11 +5,11 @@
<xsl:for-each select="site"> <xsl:for-each select="site">
<html> <html>
<head> <head>
<title>com.itjw.txviewer.updateSite</title> <title>com.minres.scviewer.updateSite</title>
<style>@import url("web/site.css");</style> <style>@import url("web/site.css");</style>
</head> </head>
<body> <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> <p class="bodyText"><xsl:value-of select="description"/></p>
<table width="100%" border="0" cellspacing="1" cellpadding="2"> <table width="100%" border="0" cellspacing="1" cellpadding="2">
<xsl:for-each select="category-def"> <xsl:for-each select="category-def">

View File

@@ -1,10 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <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">
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src/">
<attributes> <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> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="output" path="target/classes"/> <classpathentry kind="output" path="target/classes"/>

View File

@@ -1,2 +0,0 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@@ -4,7 +4,7 @@ Bundle-Name: SCViewer database tests
Bundle-SymbolicName: com.minres.scviewer.database.test Bundle-SymbolicName: com.minres.scviewer.database.test
Bundle-Version: 4.0.0.qualifier Bundle-Version: 4.0.0.qualifier
Bundle-Vendor: MINRES Technologies GmbH Bundle-Vendor: MINRES Technologies GmbH
Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-RequiredExecutionEnvironment: JavaSE-17
Require-Bundle: com.minres.scviewer.database, Require-Bundle: com.minres.scviewer.database,
com.minres.scviewer.database.sqlite;bundle-version="1.0.0", com.minres.scviewer.database.sqlite;bundle-version="1.0.0",
com.minres.scviewer.database.text;bundle-version="1.0.0", com.minres.scviewer.database.text;bundle-version="1.0.0",

Binary file not shown.

Binary file not shown.

View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.minres.scviewer</groupId> <groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId> <artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19</version> <version>2.19.5</version>
<relativePath>../..</relativePath> <relativePath>../..</relativePath>
</parent> </parent>
<packaging>eclipse-test-plugin</packaging> <packaging>eclipse-test-plugin</packaging>