Merge branch 'release/2.19.3'

This commit is contained in:
Eyck Jentzsch 2024-01-27 15:11:44 +01:00
commit 7af8b73bdd
33 changed files with 64 additions and 56 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: CBOR transaction database
Bundle-SymbolicName: com.minres.scviewer.database.ftr
Bundle-Version: 1.0.1.qualifier
Bundle-Version: 1.0.2.qualifier
Bundle-Vendor: MINRES Technologies GmbH
Bundle-RequiredExecutionEnvironment: JavaSE-11
Import-Package: org.osgi.framework;version="1.3.0",

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">
<modelVersion>4.0.0</modelVersion>
<artifactId>com.minres.scviewer.database.ftr</artifactId>
<version>1.0.1-SNAPSHOT</version>
<version>1.0.2-SNAPSHOT</version>
<parent>
<groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19.1</version>
<version>2.19.3</version>
<relativePath>../..</relativePath>
</parent>
<packaging>eclipse-plugin</packaging>

View File

@ -297,10 +297,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();

View File

@ -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

View File

@ -70,7 +70,7 @@ class TxGenerator extends AbstractTxStream {
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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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.
*

View File

@ -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.1
Bundle-Version: 2.19.3
Bundle-Vendor: MINRES Technologies GmbH
Automatic-Module-Name: com.minres.scviewer.e4.application.help
Bundle-RequiredExecutionEnvironment: JavaSE-11

View File

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

View File

@ -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.1
Bundle-Version: 2.19.3
Bundle-Vendor: %Bundle-Vendor
Require-Bundle: javax.inject;bundle-version="1.0.0",
org.eclipse.core.runtime;bundle-version="3.11.1",

View File

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

View File

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

View File

@ -828,7 +828,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

View File

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

View File

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.parent</artifactId>
<version>2.19.1</version>
<version>2.19.3</version>
<packaging>pom</packaging>
<modules>
<module>releng/com.minres.scviewer.target</module>
@ -71,7 +71,7 @@
<artifact>
<groupId>com.minres.scviewer</groupId>
<artifactId>com.minres.scviewer.target</artifactId>
<version>2.19.1</version>
<version>2.19.3</version>
</artifact>
</target>
<executionEnvironment>

View File

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

View File

@ -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.1" 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.3" useFeatures="true" includeLaunchers="true" autoIncludeRequirements="true">
<configIni use="default">
</configIni>

View File

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

View File

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

View File

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