.
This commit is contained in:
Executable → Regular
+2
-3
@@ -1,8 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry exported="true" kind="lib" path="libs/sqlite-jdbc-3.7.2.jar"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
|
||||
Executable → Regular
+1
-1
@@ -22,7 +22,7 @@
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.eclipse.pde.PluginNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
|
||||
org.eclipse.jdt.core.compiler.compliance=1.8
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.source=1.8
|
||||
@@ -1,34 +1,28 @@
|
||||
Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %pluginName
|
||||
Bundle-Name: Editor
|
||||
Bundle-SymbolicName: WFRperfTool.editor;singleton:=true
|
||||
Bundle-Version: 1.0.0.qualifier
|
||||
Bundle-ClassPath: .,
|
||||
libs/sqlite-jdbc-3.7.2.jar
|
||||
libs/sqlite-jdbc-3.7.2.jar
|
||||
Bundle-Activator: at.ac.uibk.wfr.perftool.presentation.WFRperfToolModelEditorPlugin$Implementation
|
||||
Bundle-Vendor: %providerName
|
||||
Bundle-Localization: plugin
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Export-Package: at.ac.uibk.wfr.perftool.presentation
|
||||
Require-Bundle: org.eclipse.core.runtime,
|
||||
WFRperfTool.edit;visibility:=reexport,
|
||||
org.eclipse.emf.ecore.xmi;visibility:=reexport,
|
||||
org.eclipse.emf.edit.ui;visibility:=reexport,
|
||||
org.eclipse.emf.teneo.hibernate;bundle-version="2.0.1",
|
||||
org.hibernate;bundle-version="4.1.1",
|
||||
org.eclipse.birt;bundle-version="4.2.2",
|
||||
org.eclipse.birt.chart.engine;bundle-version="4.2.2",
|
||||
org.eclipse.birt.chart.device.swt;bundle-version="4.2.2",
|
||||
org.eclipse.birt.chart.device.extension;bundle-version="4.2.2",
|
||||
org.eclipse.birt.chart.device.pdf;bundle-version="4.2.2",
|
||||
org.eclipse.birt.chart.device.svg;bundle-version="4.2.2",
|
||||
org.eclipse.birt.chart.engine.extension;bundle-version="4.2.2",
|
||||
org.eclipse.birt.chart.reportitem;bundle-version="4.2.2",
|
||||
org.eclipse.birt.chart.reportitem.ui;bundle-version="4.2.2",
|
||||
org.eclipse.birt.chart.ui;bundle-version="4.2.2",
|
||||
org.eclipse.birt.chart.ui.extension;bundle-version="4.2.2",
|
||||
org.eclipse.birt.core.script.function;bundle-version="4.2.2",
|
||||
org.eclipse.birt.core.ui;bundle-version="4.2.2",
|
||||
org.eclipse.birt.data;bundle-version="4.2.2",
|
||||
org.eclipse.birt.data.aggregation;bundle-version="4.2.2"
|
||||
Export-Package: at.ac.uibk.wfr.perftool.deviceeventstimeline,
|
||||
at.ac.uibk.wfr.perftool.perftooleditor,
|
||||
at.ac.uibk.wfr.perftool.presentation,
|
||||
at.ac.uibk.wfr.perftool.view,
|
||||
at.ac.uibk.wfr.perftool.wfreventview
|
||||
Require-Bundle: WFRperfTool.edit;visibility:=reexport,
|
||||
org.eclipse.emf.edit.ui;visibility:=reexport,
|
||||
org.eclipse.emf.teneo.hibernate,
|
||||
org.hibernate,
|
||||
org.eclipse.birt.chart.engine.extension,
|
||||
org.eclipse.birt.chart.ui,
|
||||
org.eclipse.birt.data,
|
||||
org.eclipse.e4.ui.services;bundle-version="1.3.0",
|
||||
org.eclipse.equinox.simpleconfigurator.manipulator;bundle-version="2.0.300",
|
||||
org.eclipse.e4.core.services;bundle-version="2.1.0",
|
||||
org.eclipse.e4.ui.css.swt.theme;bundle-version="0.11.0",
|
||||
org.eclipse.e4.core.commands;bundle-version="0.12.100"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Bundle-ActivationPolicy: lazy
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
/at/
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -1,29 +0,0 @@
|
||||
## Debug Settings
|
||||
#hibernate.show_sql=true
|
||||
#hibernate.format_sql=true
|
||||
#hibernate.use_sql_comments=true
|
||||
|
||||
hibernate.connection.driver_class=org.sqlite.JDBC
|
||||
|
||||
#hibernate.connection.url=jdbc\:sqlite\:default.sqlite
|
||||
|
||||
## Database Creation Mode (validate | update | create | create-drop)
|
||||
hibernate.hbm2ddl.auto=validate
|
||||
|
||||
hibernate.dialect=perftoolutils.SQLiteDialect
|
||||
|
||||
teneo.naming.join_column_naming_strategy=simple
|
||||
|
||||
## Teneo Settings
|
||||
teneo.mapping.disable_econtainer=true
|
||||
teneo.mapping.always_version=false
|
||||
teneo.mapping.inheritance=JOINED
|
||||
teneo.naming.sql_fk_name_prefix=fk_
|
||||
teneo.naming.set_foreign_key_name=true
|
||||
hibernate.jdbc.batch_size=30
|
||||
|
||||
## Teneo Cache Settings
|
||||
#hibernate.cache.use_second_level_cache=false
|
||||
#hibernate.cache.use_query_cache=false
|
||||
#teneo.mapping.default_cache_strategy=NONE
|
||||
#hibernate.cache.region.factory_class=org.hibernate.cache.ehcache.EhCacheRegionFactory
|
||||
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
+3
-1
@@ -135,7 +135,9 @@ public class BirtChartCanvas extends Canvas implements Listener, ICallBackNotifi
|
||||
if ( !isDisposed() ) {
|
||||
final Generator gr = Generator.instance( );
|
||||
try {
|
||||
gr.refresh( state );
|
||||
if (state != null) {
|
||||
gr.refresh( state );
|
||||
}
|
||||
} catch ( Exception ex ) {
|
||||
ex.printStackTrace( );
|
||||
}
|
||||
|
||||
+89
-80
@@ -138,10 +138,11 @@ public class DeviceEventsTimelineEditorPart extends EditorPart implements ISelec
|
||||
|
||||
class DeviceInstanceEntry {
|
||||
public long deviceID;
|
||||
public long deviceSubID;
|
||||
public Vector<DeviceInstanceStatusEvent> events = new Vector<DeviceInstanceStatusEvent>();
|
||||
}
|
||||
int totalDeviceInstanceCount = 0;
|
||||
HashMap<String, HashMap<Long, DeviceInstanceEntry>> deviceMap = new HashMap<String, HashMap<Long, DeviceInstanceEntry>>();
|
||||
HashMap<String, HashMap<Long, HashMap<Long, DeviceInstanceEntry>>> deviceMap = new HashMap<String, HashMap<Long, HashMap<Long, DeviceInstanceEntry>>>();
|
||||
List<?> componentEvents = null;
|
||||
if (selectedWorkflow != null) {
|
||||
HbDataStore hds = hResource.getEMFDataStore();
|
||||
@@ -166,25 +167,26 @@ public class DeviceEventsTimelineEditorPart extends EditorPart implements ISelec
|
||||
DeviceInstanceStatusEvent e = (DeviceInstanceStatusEvent) rs.get(t);
|
||||
String type = e.getDeviceType();
|
||||
long deviceID = e.getDeviceID();
|
||||
HashMap<Long, DeviceInstanceEntry> dm = deviceMap.get(type);
|
||||
long deviceSubID = e.getDeviceSubID();
|
||||
HashMap<Long, HashMap<Long, DeviceInstanceEntry>> dm = deviceMap.get(type);
|
||||
if (dm == null) {
|
||||
dm = new HashMap<Long, DeviceInstanceEntry>();
|
||||
DeviceInstanceEntry de = new DeviceInstanceEntry();
|
||||
de.deviceID = e.getDeviceID();
|
||||
de.events.add(e);
|
||||
dm.put(de.deviceID, de);
|
||||
dm = new HashMap<Long, HashMap<Long, DeviceInstanceEntry>>();
|
||||
deviceMap.put(type, dm);
|
||||
totalDeviceInstanceCount++;
|
||||
} else {
|
||||
DeviceInstanceEntry de = dm.get(e.getDeviceID());
|
||||
if (de == null) {
|
||||
de = new DeviceInstanceEntry();
|
||||
de.deviceID = e.getDeviceID();
|
||||
dm.put(de.deviceID, de);
|
||||
totalDeviceInstanceCount++;
|
||||
}
|
||||
de.events.add(e);
|
||||
}
|
||||
HashMap<Long, DeviceInstanceEntry> dsm = dm.get(deviceID);
|
||||
if (dsm == null) {
|
||||
dsm = new HashMap<Long, DeviceInstanceEntry>();
|
||||
dm.put(deviceID, dsm);
|
||||
}
|
||||
DeviceInstanceEntry de = dsm.get(deviceSubID);
|
||||
if (de == null) {
|
||||
de = new DeviceInstanceEntry();
|
||||
dsm.put(deviceSubID, de);
|
||||
de.deviceID = deviceID;
|
||||
de.deviceSubID = deviceSubID;
|
||||
totalDeviceInstanceCount++;
|
||||
}
|
||||
de.events.add(e);
|
||||
}
|
||||
query = session.createQuery("from ComponentStatusEvent " +
|
||||
"where workflow = :wf and componentType = :type");
|
||||
@@ -244,11 +246,15 @@ public class DeviceEventsTimelineEditorPart extends EditorPart implements ISelec
|
||||
|
||||
// Data Set
|
||||
String[] deviceStringArray = new String[totalDeviceInstanceCount + 1];
|
||||
int i = 0;
|
||||
int i = totalDeviceInstanceCount - 1;
|
||||
for (String s : deviceMap.keySet()) {
|
||||
for (Long l : deviceMap.get(s).keySet()) {
|
||||
deviceStringArray[i] = s + "[" + l + "]";
|
||||
i++;
|
||||
HashMap<Long, HashMap<Long, DeviceInstanceEntry>> dm = deviceMap.get(s);
|
||||
for (Long l : dm.keySet()) {
|
||||
HashMap<Long, DeviceInstanceEntry> dsm = dm.get(l);
|
||||
for (Long sl : dsm.keySet()) {
|
||||
deviceStringArray[i] = s + "[" + l + "][" + sl + "]";
|
||||
i--;
|
||||
}
|
||||
}
|
||||
}
|
||||
deviceStringArray[totalDeviceInstanceCount] = "Enactment Thread";
|
||||
@@ -263,73 +269,76 @@ public class DeviceEventsTimelineEditorPart extends EditorPart implements ISelec
|
||||
sdX.getSeriesPalette().shift(0);
|
||||
|
||||
SeriesDefinition sdY1 = SeriesDefinitionImpl.create();
|
||||
//sdY1.getSeriesPalette().shift(0);
|
||||
sdY1.getSeriesPalette().shift(0);
|
||||
yAxisPrimary.getSeriesDefinitions().add(sdY1);
|
||||
|
||||
i = 0;
|
||||
i = totalDeviceInstanceCount - 1;
|
||||
for (String s : deviceMap.keySet()) {
|
||||
HashMap<Long, DeviceInstanceEntry> dm = deviceMap.get(s);
|
||||
for (Long l : deviceMap.get(s).keySet()) {
|
||||
DeviceInstanceEntry de = dm.get(l);
|
||||
DeviceInstanceStatusEvent lastEvent = null;
|
||||
for (DeviceInstanceStatusEvent e : de.events) {
|
||||
if (e.getNewStatus().equalsIgnoreCase("FinishedTask")) {
|
||||
if (!lastEvent.getNewStatus().equalsIgnoreCase("ExecutingTask")) {
|
||||
throw new Error("ERROR");
|
||||
}
|
||||
GanttEntry[] ges = new GanttEntry[totalDeviceInstanceCount + 1];
|
||||
for (int t = 0; t < totalDeviceInstanceCount + 1; t++) {
|
||||
if (t == i) {
|
||||
long lastTimeStamp = lastEvent.getTimestamp();
|
||||
long startms = (lastTimeStamp - wfstarttime)/1000000; // timestamps are in nanoseconds
|
||||
long endms = (e.getTimestamp() - wfstarttime)/1000000;
|
||||
ges[t] = new GanttEntry( new CDateTime(startms),
|
||||
new CDateTime(endms),
|
||||
"");
|
||||
} else {
|
||||
//ges[t] = new GanttEntry(new CDateTime(0), new CDateTime(0), "");
|
||||
ges[t] = new GanttEntry((CDateTime)null, (CDateTime)null, "");
|
||||
HashMap<Long, HashMap<Long, DeviceInstanceEntry>> dm1 = deviceMap.get(s);
|
||||
for (Long l : dm1.keySet()) {
|
||||
HashMap<Long, DeviceInstanceEntry> dsm = dm1.get(l);
|
||||
for (Long sl : dsm.keySet()) {
|
||||
DeviceInstanceEntry de = dsm.get(sl);
|
||||
DeviceInstanceStatusEvent lastEvent = null;
|
||||
for (DeviceInstanceStatusEvent e : de.events) {
|
||||
if (e.getNewStatus().equalsIgnoreCase("FinishedTask")) {
|
||||
if (!lastEvent.getNewStatus().equalsIgnoreCase("ExecutingTask")) {
|
||||
throw new Error("ERROR");
|
||||
}
|
||||
}
|
||||
GanttDataSet gds = GanttDataSetImpl.create( ges );
|
||||
GanttSeries gs = (GanttSeries) GanttSeriesImpl.create( );
|
||||
gs.setDataSet( gds );
|
||||
gs.getLabel( ).setVisible( false );
|
||||
sdY1.getSeries().add(gs);
|
||||
ActivityInstance ei = e.getExecutedInstance();
|
||||
if (ei != null) {
|
||||
long startTime = -1;
|
||||
long stopTime = -1;
|
||||
long readyTime = -1;
|
||||
for (ActivityInstanceStatusEvent se : ei.getStatusEvents()) {
|
||||
if (se.getNewStatus().equalsIgnoreCase("Running")) {
|
||||
startTime = se.getTimestamp();
|
||||
} else if (se.getNewStatus().equalsIgnoreCase("Finished")) {
|
||||
stopTime = se.getTimestamp();
|
||||
} else if (se.getNewStatus().equalsIgnoreCase("ReadyForExecution")) {
|
||||
readyTime = se.getTimestamp();
|
||||
GanttEntry[] ges = new GanttEntry[totalDeviceInstanceCount + 1];
|
||||
for (int t = 0; t < totalDeviceInstanceCount + 1; t++) {
|
||||
if (t == i) {
|
||||
long lastTimeStamp = lastEvent.getTimestamp();
|
||||
long startms = (lastTimeStamp - wfstarttime)/1000000; // timestamps are in nanoseconds
|
||||
long endms = (e.getTimestamp() - wfstarttime)/1000000;
|
||||
ges[t] = new GanttEntry( new CDateTime(startms),
|
||||
new CDateTime(endms),
|
||||
"");
|
||||
} else {
|
||||
//ges[t] = new GanttEntry(new CDateTime(0), new CDateTime(0), "");
|
||||
ges[t] = new GanttEntry((CDateTime)null, (CDateTime)null, "");
|
||||
}
|
||||
}
|
||||
String text = ei.getBaseActivity().getName() + " (InstanceID " + ei.getInstid() + ", ImplementationID " + e.getExecutedImplID();
|
||||
if (readyTime >= 0 && startTime >= readyTime) {
|
||||
text += ", Waittime " + ((double)(startTime - readyTime)/1000000000.0) + " s";
|
||||
}
|
||||
if (startTime >= 0 && stopTime >= readyTime) {
|
||||
text += ", Runtime " + ((double)(stopTime - startTime)/1000000000.0) + " s";
|
||||
}
|
||||
text += ")";
|
||||
gs.getTriggers( ).add( TriggerImpl.create( TriggerCondition.ONMOUSEOVER_LITERAL,
|
||||
ActionImpl.create( ActionType.CALL_BACK_LITERAL,
|
||||
CallBackValueImpl.create( text ) ) ) );
|
||||
gs.getTriggers( ).add( TriggerImpl.create( TriggerCondition.ONMOUSEOUT_LITERAL,
|
||||
ActionImpl.create( ActionType.CALL_BACK_LITERAL,
|
||||
CallBackValueImpl.create( null ) ) ) );
|
||||
}
|
||||
|
||||
GanttDataSet gds = GanttDataSetImpl.create( ges );
|
||||
GanttSeries gs = (GanttSeries) GanttSeriesImpl.create( );
|
||||
gs.setDataSet( gds );
|
||||
gs.getLabel( ).setVisible( false );
|
||||
sdY1.getSeries().add(gs);
|
||||
ActivityInstance ei = e.getExecutedInstance();
|
||||
if (ei != null) {
|
||||
long startTime = -1;
|
||||
long stopTime = -1;
|
||||
long readyTime = -1;
|
||||
for (ActivityInstanceStatusEvent se : ei.getStatusEvents()) {
|
||||
if (se.getNewStatus().equalsIgnoreCase("Running")) {
|
||||
startTime = se.getTimestamp();
|
||||
} else if (se.getNewStatus().equalsIgnoreCase("Finished")) {
|
||||
stopTime = se.getTimestamp();
|
||||
} else if (se.getNewStatus().equalsIgnoreCase("ReadyForExecution")) {
|
||||
readyTime = se.getTimestamp();
|
||||
}
|
||||
}
|
||||
String text = ei.getBaseActivity().getName() + " (InstanceID " + ei.getInstid() + ", ImplementationID " + e.getExecutedImplID();
|
||||
if (readyTime >= 0 && startTime >= readyTime) {
|
||||
text += ", Waittime " + ((double)(startTime - readyTime)/1000000000.0) + " s";
|
||||
}
|
||||
if (startTime >= 0 && stopTime >= readyTime) {
|
||||
text += ", Runtime " + ((double)(stopTime - startTime)/1000000000.0) + " s";
|
||||
}
|
||||
text += ")";
|
||||
gs.getTriggers( ).add( TriggerImpl.create( TriggerCondition.ONMOUSEOVER_LITERAL,
|
||||
ActionImpl.create( ActionType.CALL_BACK_LITERAL,
|
||||
CallBackValueImpl.create( text ) ) ) );
|
||||
gs.getTriggers( ).add( TriggerImpl.create( TriggerCondition.ONMOUSEOUT_LITERAL,
|
||||
ActionImpl.create( ActionType.CALL_BACK_LITERAL,
|
||||
CallBackValueImpl.create( null ) ) ) );
|
||||
}
|
||||
|
||||
}
|
||||
lastEvent = e;
|
||||
}
|
||||
lastEvent = e;
|
||||
i--;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
ComponentStatusEvent lastEvent = null;
|
||||
|
||||
Reference in New Issue
Block a user