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;
+   }
+
 
 
 }