Merge branch 'sprint92'
diff --git a/org.eclipse.ote.mavenbuild/pom.xml b/org.eclipse.ote.mavenbuild/pom.xml
index 9c7b032..7656b12 100644
--- a/org.eclipse.ote.mavenbuild/pom.xml
+++ b/org.eclipse.ote.mavenbuild/pom.xml
@@ -492,6 +492,16 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>2.10.3</version>
+ <configuration>
+ <failOnError>false</failOnError>
+ <additionalparam>-Xdoclint:none</additionalparam>
+ </configuration>
+
+ </plugin>
</plugins>
</pluginManagement>
diff --git a/org.eclipse.ote.ui.eviewer/icons/NumberLetter.png b/org.eclipse.ote.ui.eviewer/icons/NumberLetter.png
new file mode 100644
index 0000000..617981c
--- /dev/null
+++ b/org.eclipse.ote.ui.eviewer/icons/NumberLetter.png
Binary files differ
diff --git a/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/action/ShowEnumAsNumberAction.java b/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/action/ShowEnumAsNumberAction.java
new file mode 100644
index 0000000..84174af
--- /dev/null
+++ b/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/action/ShowEnumAsNumberAction.java
@@ -0,0 +1,41 @@
+/*******************************************************************************
+ * Copyright (c) 2013 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.ote.ui.eviewer.action;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.ote.ui.eviewer.Activator;
+import org.eclipse.ote.ui.eviewer.view.ElementContentProvider;
+
+/**
+ * @author Ken J. Aguilar
+ */
+public class ShowEnumAsNumberAction extends Action {
+
+ private final ElementContentProvider elementContentProvider;
+
+ public ShowEnumAsNumberAction(ElementContentProvider elementContentProvider, boolean isChecked) {
+ super("Show Enum As Number", IAction.AS_CHECK_BOX);
+ setImageDescriptor(Activator.getImageDescriptor("icons/NumberLetter.png"));
+ setToolTipText("Show Enum As Number");
+ this.elementContentProvider = elementContentProvider;
+ this.setChecked(isChecked);
+ if(isChecked){
+ run();
+ }
+ }
+
+ @Override
+ public void run() {
+ elementContentProvider.setEnumOutputNumber(this.isChecked());
+ }
+
+}
diff --git a/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ColumnElement.java b/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ColumnElement.java
index 6a1e1c5..70bfb8f 100644
--- a/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ColumnElement.java
+++ b/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ColumnElement.java
@@ -8,6 +8,8 @@
import org.eclipse.osee.ote.message.ElementPath;
import org.eclipse.osee.ote.message.elements.DiscreteElement;
import org.eclipse.osee.ote.message.elements.Element;
+import org.eclipse.osee.ote.message.elements.EnumeratedElement;
+import org.eclipse.osee.ote.message.elements.IEnumValue;
public class ColumnElement implements ISubscriptionListener {
private ViewerColumnElement viewerColumn;
@@ -20,6 +22,12 @@
private final AtomicReference<Object> lastValueReference = new AtomicReference<Object>(new Object());
private final AtomicBoolean valueUpdatedFlag = new AtomicBoolean(false);
private boolean unsupportedType = false;
+
+ private boolean isEnum = false;
+
+ private EnumeratedElement enumElement = null;
+
+ private String enumText = "";
ColumnElement(ViewerColumnElement viewerColumn, ElementPath path) {
this.viewerColumn = viewerColumn;
@@ -34,7 +42,12 @@
public boolean update() {
if(element != null){
- Object current = element.getValue();
+ Object current;
+ if(isEnum && viewerColumn.isEnumOutputNumber()){
+ current = enumElement.getIntValue();
+ } else {
+ current = element.getValue();
+ }
Object lastValue = lastValueReference.get();
if (!current.equals(lastValue)) {
lastValueReference.set(current);
@@ -48,6 +61,10 @@
public String getVerboseName() {
return verbosetext;
}
+
+ public String getEnumText(){
+ return enumText;
+ }
public String getMessageClassName() {
return message;
@@ -83,6 +100,8 @@
public void dispose() {
element = null;
+ isEnum = false;
+ enumElement = null;
viewerColumn.getColumn().dispose();
}
@@ -97,17 +116,23 @@
@Override
public void subscriptionCanceled(IMessageSubscription subscription) {
element = null;
+ isEnum = false;
+ enumElement = null;
}
@Override
public void subscriptionInvalidated(IMessageSubscription subscription) {
element = null;
+ isEnum = false;
+ enumElement = null;
lastValueReference.set(UNKNOWN_VALUE);
}
@Override
public void subscriptionNotSupported(IMessageSubscription subscription) {
element = null;
+ isEnum = false;
+ enumElement = null;
lastValueReference.set(UNKNOWN_VALUE);
}
@@ -117,10 +142,24 @@
if (!(resolvedElement instanceof DiscreteElement)) {
unsupportedType = true;
element = null;
+ isEnum = false;
+ enumElement = null;
lastValueReference.set(UNKNOWN_VALUE);
return;
}
element = (DiscreteElement<?>) resolvedElement;
+ if(element instanceof EnumeratedElement){
+ enumElement = (EnumeratedElement)element;
+ isEnum = true;
+ enumText = "";
+ if(enumElement.getEnumValues().length > 10){
+ enumText = "too many enums to list";
+ } else {
+ for(int i = 0; i < enumElement.getEnumValues().length; i++){
+ enumText = String.format("%s %s[%d]", enumText, enumElement.getEnumValues()[i].name(), ((IEnumValue)enumElement.getEnumValues()[i]).getIntValue());
+ }
+ }
+ }
setToolTip();
lastValueReference.set(element != null ? element.getValue() : UNKNOWN_VALUE);
}
@@ -140,6 +179,8 @@
public void subscriptionUnresolved(IMessageSubscription subscription) {
viewerColumn.setToolTip("Not Found");
element = null;
+ enumElement = null;
+ isEnum = false;
lastValueReference.set(UNKNOWN_VALUE);
}
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 b7f720d..acbd372 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
@@ -65,6 +65,7 @@
private ViewerColumnLong timeColumn;
private ViewerColumnLong timeDeltaColumn;
+ private boolean showEnumAsNumber = false;
public ElementContentProvider(int limit) {
this.limit = limit;
@@ -342,6 +343,14 @@
viewer.getTable().setRedraw(true);
updateInternalFile();
}
+
+ public void setEnumOutputNumber(boolean isNumber){
+ for(ViewerColumnElement col:elementColumns){
+ col.setEnumOutputNumber(isNumber);
+ }
+ this.showEnumAsNumber = isNumber;
+ }
+
public boolean updateInternalFile() {
try {
saveColumnsToFile(OseeData.getFile(Constants.INTERNAL_FILE_NAME));
diff --git a/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ElementViewer.java b/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ElementViewer.java
index 2fb55b1..0abdd0a 100644
--- a/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ElementViewer.java
+++ b/org.eclipse.ote.ui.eviewer/src/org/eclipse/ote/ui/eviewer/view/ElementViewer.java
@@ -37,6 +37,7 @@
import org.eclipse.ote.ui.eviewer.action.RemoveColumnAction;
import org.eclipse.ote.ui.eviewer.action.SaveLoadAction;
import org.eclipse.ote.ui.eviewer.action.SetActiveColumnAction;
+import org.eclipse.ote.ui.eviewer.action.ShowEnumAsNumberAction;
import org.eclipse.ote.ui.eviewer.action.ShowTimeAction;
import org.eclipse.ote.ui.eviewer.action.ShowTimeDeltaAction;
import org.eclipse.ote.ui.eviewer.action.StreamToFileAction;
@@ -87,6 +88,8 @@
private ShowTimeAction showTimeAction;
private ShowTimeDeltaAction showTimeDeltaAction;
+ private ShowEnumAsNumberAction showEnumAsNumberAction;
+
/**
* The constructor.
*/
@@ -159,6 +162,7 @@
manager.add(copyAction);
manager.add(new Separator());
manager.add(toggleAutoRevealAction);
+ manager.add(showEnumAsNumberAction);
// Other plug-ins can contribute there actions here
manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
@@ -169,6 +173,7 @@
manager.add(configureColumnAction);
manager.add(clearAllUpdatesAction);
manager.add(toggleAutoRevealAction);
+ manager.add(showEnumAsNumberAction);
manager.add(saveLoadAction);
manager.add(pauseUpdatesAction);
manager.add(streamToFileAction);
@@ -191,6 +196,8 @@
showTimeAction = new ShowTimeAction(elementContentProvider);
showTimeDeltaAction = new ShowTimeDeltaAction(elementContentProvider);
+
+ showEnumAsNumberAction = new ShowEnumAsNumberAction(elementContentProvider, false);
}
private void hookDoubleClickAction() {
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 22baedd..7c8103a 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
@@ -17,6 +17,7 @@
private ColumnElement columnElement;
private boolean duplicateName = false;
+ private boolean isEnumOutputNumber = false;
ViewerColumnElement(TableViewer table, int index, ElementPath path) {
@@ -77,9 +78,13 @@
@Override
public String getVerboseName() {
- return ColumnElement.getMessageName(columnElement.getMessageClassName()) + '.' + columnElement.getElementPath().toString();
+ if(isEnumOutputNumber && columnElement.getEnumText().length() > 0){
+ return ColumnElement.getMessageName(columnElement.getMessageClassName()) + '.' + columnElement.getElementPath().toString() + " (" + columnElement.getEnumText()+ ")";
+ } else {
+ return ColumnElement.getMessageName(columnElement.getMessageClassName()) + '.' + columnElement.getElementPath().toString();
+ }
}
-
+
public boolean isDuplicateName() {
return duplicateName;
}
@@ -101,6 +106,14 @@
getColumn().setImage(active ? activeImg : inactive);
}
+ public boolean isEnumOutputNumber() {
+ return isEnumOutputNumber;
+ }
+
+ public void setEnumOutputNumber(boolean isNumber){
+ isEnumOutputNumber = isNumber;
+ }
+
}