Merge branch 'sprint56'
diff --git a/org.eclipse.ote.mavenbuild/pom.xml b/org.eclipse.ote.mavenbuild/pom.xml
index efaff84..b217592 100644
--- a/org.eclipse.ote.mavenbuild/pom.xml
+++ b/org.eclipse.ote.mavenbuild/pom.xml
@@ -11,8 +11,8 @@
<properties>
<build-alias>-DEV</build-alias>
- <tycho-version>0.18.0</tycho-version>
- <tychoExtrasVersion>0.18.0</tychoExtrasVersion>
+ <tycho-version>0.19.0</tycho-version>
+ <tychoExtrasVersion>0.19.0</tychoExtrasVersion>
<platform-version-name>kepler</platform-version-name>
<orbit-version>R20130517111416</orbit-version>
<orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/${orbit-version}/repository</orbit-site>
diff --git a/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/jobs/CopyToClipboardJob.java b/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/jobs/CopyToClipboardJob.java
index 0529027..3f95502 100644
--- a/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/jobs/CopyToClipboardJob.java
+++ b/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/jobs/CopyToClipboardJob.java
@@ -17,7 +17,7 @@
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.osee.framework.ui.plugin.util.AWorkbench;
import org.eclipse.ote.ui.eviewer.view.ViewerColumn;
-import org.eclipse.ote.ui.eviewer.view.ElementUpdate;
+import org.eclipse.ote.ui.eviewer.view.RowUpdate;
import org.eclipse.swt.dnd.Clipboard;
import org.eclipse.swt.dnd.TextTransfer;
import org.eclipse.swt.dnd.Transfer;
@@ -27,11 +27,11 @@
*/
public class CopyToClipboardJob extends Job {
- private final ElementUpdate[] updates;
+ private final RowUpdate[] updates;
private final Clipboard clipboard;
private final List<ViewerColumn> elementColumns;
- public CopyToClipboardJob(Clipboard clipboard, List<ViewerColumn> elementColumns, ElementUpdate[] updates) {
+ public CopyToClipboardJob(Clipboard clipboard, List<ViewerColumn> elementColumns, RowUpdate[] updates) {
super("Element Viewer Copy to Clipboard");
this.clipboard = clipboard;
this.elementColumns = elementColumns;
@@ -51,7 +51,7 @@
buffer.append(elementColumns.get(i).getName());
buffer.append('\n');
- for (ElementUpdate update : updates) {
+ for (RowUpdate update : updates) {
if (monitor.isCanceled()) {
sendToClipboard(buffer.toString());
return Status.CANCEL_STATUS;
diff --git a/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/jobs/CopyToCsvFileJob.java b/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/jobs/CopyToCsvFileJob.java
index dcfb157..61d0ab8 100644
--- a/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/jobs/CopyToCsvFileJob.java
+++ b/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/jobs/CopyToCsvFileJob.java
@@ -20,18 +20,18 @@
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.ote.ui.eviewer.Activator;
import org.eclipse.ote.ui.eviewer.view.ViewerColumn;
-import org.eclipse.ote.ui.eviewer.view.ElementUpdate;
+import org.eclipse.ote.ui.eviewer.view.RowUpdate;
/**
* @author b1529404
*/
public class CopyToCsvFileJob extends Job {
- private final ElementUpdate[] updates;
+ private final RowUpdate[] updates;
private final File file;
private final List<ViewerColumn> elementColumns;
- public CopyToCsvFileJob(File file, List<ViewerColumn> elementColumns, ElementUpdate[] updates) {
+ public CopyToCsvFileJob(File file, List<ViewerColumn> elementColumns, RowUpdate[] updates) {
super("Element Viewer Save to CSV");
this.file = file;
this.elementColumns = elementColumns;
@@ -52,7 +52,7 @@
writer.append(elementColumns.get(i).getName());
writer.append('\n');
- for (ElementUpdate update : updates) {
+ for (RowUpdate update : updates) {
if (monitor.isCanceled()) {
writer.flush();
return Status.CANCEL_STATUS;
diff --git a/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ElementContentProvider.java b/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ElementContentProvider.java
index 993318a..75e57a4 100644
--- a/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ElementContentProvider.java
+++ b/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ElementContentProvider.java
@@ -62,7 +62,7 @@
private HashMap<ViewerColumn, Integer> valueMap = new HashMap<ViewerColumn, Integer>();
- private ElementUpdate last = null;
+ private RowUpdate last = null;
private ReentrantLock streamWriteLock = new ReentrantLock();
private volatile boolean acceptUpdates = true;
@@ -198,9 +198,9 @@
}
timeColumn.setLong(envTime);
- final ElementUpdate update;
+ final RowUpdate update;
if (last == null) {
- update = new ElementUpdate(valueMap, viewerColumns);
+ update = new RowUpdate(valueMap, viewerColumns);
} else {
update = last.next(valueMap, viewerColumns);
}
@@ -210,11 +210,15 @@
}
}
- private void writeToStream(ElementUpdate update) {
+ private void writeToStream(RowUpdate update) {
try{
streamWriteLock.lock();
if (streamToFileWriter != null) {
int i;
+ streamToFileWriter.append(Long.toString(timeColumn.getLong()));
+ streamToFileWriter.append(',');
+ streamToFileWriter.append(Long.toString(timeDeltaColumn.getLong()));
+ streamToFileWriter.append(',');
for (i = 0; i < viewerColumns.size() - 1; i++) {
Object o = update.getValue(viewerColumns.get(i));
if (o != null) {
@@ -410,9 +414,9 @@
}
public synchronized void removeAll() {
+ refresher.clearUpdates();
disposeAllColumns();
updateInternalFile();
- refresher.clearUpdates();
}
private void disposeAllColumns() {
@@ -422,7 +426,13 @@
details.dispose();
}
subscriptions.clear();
+
+ elementColumns.clear();
+
viewerColumns.clear();
+ viewerColumns.add(timeColumn);
+ viewerColumns.add(timeDeltaColumn);
+ viewer.refresh();
}
public void toClipboard(Clipboard clipboard) {
@@ -464,6 +474,10 @@
streamToFileWriter = new PrintWriter(new FileOutputStream(file));
int i;
+ streamToFileWriter.write(timeColumn.getName());
+ streamToFileWriter.write(',');
+ streamToFileWriter.write(timeDeltaColumn.getName());
+ streamToFileWriter.write(',');
for (i = 0; i < viewerColumns.size() - 1; i++) {
streamToFileWriter.write(viewerColumns.get(i).getName());
streamToFileWriter.write(',');
diff --git a/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ElementUpdate.java b/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/RowUpdate.java
similarity index 85%
rename from org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ElementUpdate.java
rename to org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/RowUpdate.java
index 5612447..f24112f 100644
--- a/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ElementUpdate.java
+++ b/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/RowUpdate.java
@@ -17,13 +17,13 @@
/**
* @author Ken J. Aguilar
*/
-public final class ElementUpdate {
+public final class RowUpdate {
private final Object[] values;
private final BitSet deltaSet;
private final HashMap<ViewerColumn, Integer> valueMap;
private long envTime;
- ElementUpdate(HashMap<ViewerColumn, Integer> valueMap, List<ViewerColumn> allColumns) {
+ RowUpdate(HashMap<ViewerColumn, Integer> valueMap, List<ViewerColumn> allColumns) {
this.valueMap = valueMap;
int size = allColumns.size();
values = new Object[size];
@@ -35,14 +35,14 @@
}
}
- private ElementUpdate(Object[] values, BitSet deltaSet, HashMap<ViewerColumn, Integer> valueMap) {
+ private RowUpdate(Object[] values, BitSet deltaSet, HashMap<ViewerColumn, Integer> valueMap) {
super();
this.values = values;
this.deltaSet = deltaSet;
this.valueMap = valueMap;
}
- public ElementUpdate next(HashMap<ViewerColumn, Integer> valueMap, List<ViewerColumn> allColumns) {
+ public RowUpdate next(HashMap<ViewerColumn, Integer> valueMap, List<ViewerColumn> allColumns) {
int size = allColumns.size();
// if the value map is not equal then a change in the columns (ordering, adding, etc) has occurred
if (valueMap == this.valueMap) {
@@ -65,7 +65,7 @@
newValues[i] = col.getValue();
}
}
- return new ElementUpdate(newValues, newDeltaSet, valueMap);
+ return new RowUpdate(newValues, newDeltaSet, valueMap);
} else {
Object[] newValues = new Object[size];
BitSet newDeltaSet = new BitSet(size);
@@ -77,7 +77,7 @@
newDeltaSet.set(i);
}
}
- return new ElementUpdate(newValues, newDeltaSet, valueMap);
+ return new RowUpdate(newValues, newDeltaSet, valueMap);
}
}
@@ -88,6 +88,9 @@
public Object getValue(ViewerColumn column) {
Integer index = valueMap.get(column);
+ if (index >= values.length) {
+ return "invalid index " + index;
+ }
return index != null ? values[index] : null;
}
diff --git a/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ViewRefresher.java b/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ViewRefresher.java
index fdaa2d4..2259b30 100644
--- a/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ViewRefresher.java
+++ b/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ViewRefresher.java
@@ -27,14 +27,14 @@
public class ViewRefresher extends PeriodicDisplayTask {
private final TableViewer viewer;
- private ElementUpdate[] incomingUpdates = new ElementUpdate[2048];
+ private RowUpdate[] incomingUpdates = new RowUpdate[2048];
private int incomingCount = 0;
private boolean autoReveal = true;
private ReentrantLock lock;
private Condition clearIncomingUpdates;
- private CircularBuffer<ElementUpdate> updatesNew;
+ private CircularBuffer<RowUpdate> updatesNew;
private volatile boolean updateView = true;
public ViewRefresher(TableViewer viewer, int limit) {
@@ -42,7 +42,7 @@
lock = new ReentrantLock();
clearIncomingUpdates = lock.newCondition();
- updatesNew = new CircularBuffer<ElementUpdate>(limit);
+ updatesNew = new CircularBuffer<RowUpdate>(limit);
this.viewer = viewer;
}
@@ -55,7 +55,7 @@
if (incomingCount == 0) {
return;
}
- ElementUpdate[] overWritten = updatesNew.add(incomingUpdates, 0, incomingCount);
+ RowUpdate[] overWritten = updatesNew.add(incomingUpdates, 0, incomingCount);
if(updateView){
viewer.getTable().setRedraw(false);
@@ -83,7 +83,7 @@
});
}
- public void addUpdate(ElementUpdate update) {
+ public void addUpdate(RowUpdate update) {
try {
lock.lock();
@@ -139,10 +139,10 @@
}
}
- public ElementUpdate[] getUpdates() {
+ public RowUpdate[] getUpdates() {
try{
lock.lock();
- return updatesNew.getCopy(ElementUpdate.class);
+ return updatesNew.getCopy(RowUpdate.class);
}finally{
lock.unlock();
}
diff --git a/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ViewerColumnElement.java b/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ViewerColumnElement.java
index 9385be4..6de26c6 100644
--- a/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ViewerColumnElement.java
+++ b/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ViewerColumnElement.java
@@ -46,14 +46,14 @@
@Override
public String getText(Object element) {
- ElementUpdate update = (ElementUpdate) element;
+ RowUpdate update = (RowUpdate) element;
Object value = update.getValue(ViewerColumnElement.this);
return value != null ? value.toString().intern() : "?";
}
@Override
public Color getBackground(Object element) {
- ElementUpdate update = (ElementUpdate) element;
+ RowUpdate update = (RowUpdate) element;
return update.isChanged(ViewerColumnElement.this) ? Displays.getSystemColor(SWT.COLOR_GREEN) : null;
}
diff --git a/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ViewerColumnLong.java b/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ViewerColumnLong.java
index a9e0521..aae33b2 100644
--- a/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ViewerColumnLong.java
+++ b/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ViewerColumnLong.java
@@ -47,7 +47,7 @@
@Override
public String getText(Object element) {
try {
- ElementUpdate update = (ElementUpdate) element;
+ RowUpdate update = (RowUpdate) element;
Long value = (Long) update.getValue(ViewerColumnLong.this);
return format.format(value);
} catch (Exception e) {
diff --git a/org.eclipse.ote.ui.mux/src/org/eclipse/ote/ui/mux/view/MuxView.java b/org.eclipse.ote.ui.mux/src/org/eclipse/ote/ui/mux/view/MuxView.java
index 651142e..4ef5c14 100644
--- a/org.eclipse.ote.ui.mux/src/org/eclipse/ote/ui/mux/view/MuxView.java
+++ b/org.eclipse.ote.ui.mux/src/org/eclipse/ote/ui/mux/view/MuxView.java
@@ -247,6 +247,7 @@
@Override
public void onConnectionLost(IServiceConnector connector) {
+ muxProbe = null;
handleConnectionLostStatus();
}