fix compilation errors due to TableTreeViewer being removed in 4.11
fix copyrights and add comments; put baack two updateTreeViewer.setInput() calls
upversion org.eclipse.datatools.sqltools.sqlbuilder and feature
re-enable setExpandedState, casting to AbstractTreeViewer instead of TableTreeViewer or TableViewer
add org.eclipse.jface.viewers.AbstractTreeViewer because duh

Signed-off-by: nickboldt <nboldt@redhat.com>
diff --git a/features/org.eclipse.datatools.sqldevtools.sqlbuilder.feature/feature.xml b/features/org.eclipse.datatools.sqldevtools.sqlbuilder.feature/feature.xml
index 06f4c1b..f426797 100644
--- a/features/org.eclipse.datatools.sqldevtools.sqlbuilder.feature/feature.xml
+++ b/features/org.eclipse.datatools.sqldevtools.sqlbuilder.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.datatools.sqldevtools.sqlbuilder.feature"
       label="%featureName"
-      version="1.14.101.qualifier"
+      version="1.14.102.qualifier"
       provider-name="%providerName"
       image="eclipse_update_120.jpg">
 
diff --git a/features/org.eclipse.datatools.sqldevtools.sqlbuilder.feature/pom.xml b/features/org.eclipse.datatools.sqldevtools.sqlbuilder.feature/pom.xml
index 3d364b7..84c63e7 100644
--- a/features/org.eclipse.datatools.sqldevtools.sqlbuilder.feature/pom.xml
+++ b/features/org.eclipse.datatools.sqldevtools.sqlbuilder.feature/pom.xml
@@ -9,5 +9,6 @@
   </parent>
   <groupId>org.eclipse.datatools.features</groupId>
   <artifactId>org.eclipse.datatools.sqldevtools.sqlbuilder.feature</artifactId>
+  <version>1.14.102-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/META-INF/MANIFEST.MF b/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/META-INF/MANIFEST.MF
index e3f8ef2..7a5feac 100644
--- a/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/META-INF/MANIFEST.MF
+++ b/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-Name: %_UI_PLUGIN_NAME
 Bundle-SymbolicName: org.eclipse.datatools.sqltools.sqlbuilder; singleton:=true
 Bundle-ClassPath: .
-Bundle-Version: 1.2.201.qualifier
+Bundle-Version: 1.2.202.qualifier
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-Activator: org.eclipse.datatools.sqltools.sqlbuilder.SQLBuilderPlugin
 Bundle-Vendor: %_UI_PLUGIN_PROVIDER
diff --git a/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/pom.xml b/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/pom.xml
index 45103c8..51cf4d1 100644
--- a/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/pom.xml
+++ b/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/pom.xml
@@ -9,6 +9,6 @@
   </parent>
   <groupId>org.eclipse.datatools.plugins</groupId>
   <artifactId>org.eclipse.datatools.sqltools.sqlbuilder</artifactId>
-  <version>1.2.201-SNAPSHOT</version>
+  <version>1.2.202-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/src/org/eclipse/datatools/sqltools/sqlbuilder/views/DynamicComboBoxCellEditor.java b/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/src/org/eclipse/datatools/sqltools/sqlbuilder/views/DynamicComboBoxCellEditor.java
index d697722..9e8e2af 100644
--- a/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/src/org/eclipse/datatools/sqltools/sqlbuilder/views/DynamicComboBoxCellEditor.java
+++ b/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/src/org/eclipse/datatools/sqltools/sqlbuilder/views/DynamicComboBoxCellEditor.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright © 2000, 2007 IBM Corporation and others.
+ * Copyright (c) 2000, 2019 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
  * which is available at
@@ -24,7 +24,6 @@
 import org.eclipse.datatools.sqltools.sqlbuilder.views.select.SelectGridViewer;
 import org.eclipse.datatools.sqltools.sqlbuilder.views.select.SelectTableElement;
 import org.eclipse.datatools.sqltools.sqlbuilder.views.update.UpdateTreeViewer;
-import org.eclipse.jface.viewers.TableTreeViewer;
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.swt.widgets.Composite;
 
@@ -32,7 +31,7 @@
 public class DynamicComboBoxCellEditor extends EditComboBoxCellEditor {
 
     TableViewer tableViewer = null;
-    TableTreeViewer tableTreeViewer = null;
+    TableViewer TableViewer = null;
     private ITextProvider fTextProvider;
 
 
@@ -42,7 +41,7 @@
             tableViewer = (TableViewer) viewer;
         }
         else if (viewer instanceof UpdateTreeViewer) {
-            tableTreeViewer = (UpdateTreeViewer) viewer;
+            TableViewer = (UpdateTreeViewer) viewer;
         }
     }
 
@@ -182,9 +181,9 @@
                 }
             }
         }
-        else if (tableTreeViewer != null) {
-            if (tableTreeViewer instanceof UpdateTreeViewer) {
-                UpdateTreeViewer utv = (UpdateTreeViewer) tableTreeViewer;
+        else if (TableViewer != null) {
+            if (TableViewer instanceof UpdateTreeViewer) {
+                UpdateTreeViewer utv = (UpdateTreeViewer) TableViewer;
                 if (row >= 0) {
                     utv.refresh();
                 }
diff --git a/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/src/org/eclipse/datatools/sqltools/sqlbuilder/views/TableNavigator.java b/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/src/org/eclipse/datatools/sqltools/sqlbuilder/views/TableNavigator.java
index 40abb16..25960ea 100644
--- a/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/src/org/eclipse/datatools/sqltools/sqlbuilder/views/TableNavigator.java
+++ b/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/src/org/eclipse/datatools/sqltools/sqlbuilder/views/TableNavigator.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright © 2001, 2007 IBM Corporation and others.
+ * Copyright (c) 2001, 2019 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
  * which accompanies this distribution, and is available at
@@ -11,10 +11,10 @@
 
 package org.eclipse.datatools.sqltools.sqlbuilder.views;
 
+import org.eclipse.jface.viewers.AbstractTreeViewer;
 import org.eclipse.jface.viewers.CellEditor;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.TableTreeViewer;
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.TableCursor;
@@ -77,7 +77,7 @@
 		public void widgetSelected(SelectionEvent e) {
 			super.widgetSelected(e);
 				 currentTable.setSelection(new TableItem[] {getRow()});
-			     if (sViewer instanceof TableTreeViewer)
+			     if (sViewer instanceof TableViewer)
                  {
                    TableTreeItem tableTreeItem = (TableTreeItem)getRow().getData(TABLETREEITEM_ID);
                    StructuredSelection selection = new StructuredSelection(tableTreeItem.getData());
@@ -98,7 +98,7 @@
          	{
          	  if (currentTable.getItemCount() > 0 && currentTable.getSelectionCount() <= 0)
               {
-                 if (sViewer instanceof TableTreeViewer)
+                 if (sViewer instanceof TableViewer)
                  {
                    TableTreeItem tableTreeItem = (TableTreeItem)getRow().getData(TABLETREEITEM_ID);
                    StructuredSelection selection = new StructuredSelection(tableTreeItem.getData());
@@ -335,14 +335,16 @@
                {
 	               if (column == 0 && e.character == '+') 
 	               {
-               	  	  TableTreeItem tableTreeItem = (TableTreeItem)row.getData(TABLETREEITEM_ID);	               	
-	               	  ((TableTreeViewer)structuredViewer).setExpandedState(tableTreeItem.getData(), true);                       
+               	  	  TableTreeItem tableTreeItem = (TableTreeItem)row.getData(TABLETREEITEM_ID);
+               	  	  // TableViewer doesn't have this method, where TableTreeViewer did. Hope this doesn't break stuff. @nboldt
+	               	  ((AbstractTreeViewer)structuredViewer).setExpandedState(tableTreeItem.getData(), true);
 	               	  refresh();
 	               }
 	               else if (column == 0 && e.character == '-') 
 	               {
-	               	  TableTreeItem tableTreeItem = (TableTreeItem)row.getData(TABLETREEITEM_ID);	               	
-	               	  ((TableTreeViewer)structuredViewer).setExpandedState(tableTreeItem.getData(), false);                       
+	               	  TableTreeItem tableTreeItem = (TableTreeItem)row.getData(TABLETREEITEM_ID);
+               	  	  // TableViewer doesn't have this method, where TableTreeViewer did. Hope this doesn't break stuff. @nboldt
+	               	  ((AbstractTreeViewer)structuredViewer).setExpandedState(tableTreeItem.getData(), false);
                       refresh();
 	               }               
                }
@@ -353,10 +355,10 @@
                	  {
                     ((TableViewer)structuredViewer).editElement(row.getData(), column);   
                	  }
-               	  else if (structuredViewer instanceof TableTreeViewer)
+               	  else if (structuredViewer instanceof TableViewer)
                	  {  
                	  	  TableTreeItem tableTreeItem = (TableTreeItem)row.getData(TABLETREEITEM_ID);
-               	  	 ((TableTreeViewer)structuredViewer).editElement(tableTreeItem.getData(), column);   
+               	  	 ((TableViewer)structuredViewer).editElement(tableTreeItem.getData(), column);   
                	  }
                }
         }
@@ -388,21 +390,22 @@
                         {
                      ((TableViewer)structuredViewer).editElement(row.getData(), column);   
                         }
-                        else if (structuredViewer instanceof TableTreeViewer && column == 1)
+                        else if (structuredViewer instanceof TableViewer && column == 1)
                         {
                                  TableTreeItem tableTreeItem = (TableTreeItem)row.getData(TABLETREEITEM_ID);
-                                ((TableTreeViewer)structuredViewer).editElement(tableTreeItem.getData(), column);   
+                                ((TableViewer)structuredViewer).editElement(tableTreeItem.getData(), column);   
                         }                                               
                
-                 if (structuredViewer instanceof TableTreeViewer && row.getData(TABLETREEITEM_ID) instanceof TableTreeItem)
+                 if (structuredViewer instanceof TableViewer && row.getData(TABLETREEITEM_ID) instanceof TableTreeItem)
                  {              
                                    if (column == 0)
                                    {
                                     TableTreeItem tableTreeItem = (TableTreeItem)row.getData(TABLETREEITEM_ID);                             
                                           boolean expandState = tableTreeItem.getExpanded();
-                       ((TableTreeViewer)structuredViewer).setExpandedState(tableTreeItem.getData(), !expandState);
-                       refresh();
-                    }
+                                   	  	  // TableViewer doesn't have this method, where TableTreeViewer did. Hope this doesn't break stuff. @nboldt
+                                          ((AbstractTreeViewer)structuredViewer).setExpandedState(tableTreeItem.getData(), !expandState);
+                                          refresh();
+                                   }
                  }
                }          
             }
diff --git a/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/src/org/eclipse/datatools/sqltools/sqlbuilder/views/update/UpdateDesignViewer.java b/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/src/org/eclipse/datatools/sqltools/sqlbuilder/views/update/UpdateDesignViewer.java
index e1231dd..71d7bdb 100644
--- a/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/src/org/eclipse/datatools/sqltools/sqlbuilder/views/update/UpdateDesignViewer.java
+++ b/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/src/org/eclipse/datatools/sqltools/sqlbuilder/views/update/UpdateDesignViewer.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright 2000, 2018 IBM Corporation and others.
+ * Copyright 2000, 2019 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
  * which is available at
diff --git a/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/src/org/eclipse/datatools/sqltools/sqlbuilder/views/update/UpdateTreeViewer.java b/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/src/org/eclipse/datatools/sqltools/sqlbuilder/views/update/UpdateTreeViewer.java
index a244374..3a4487c 100644
--- a/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/src/org/eclipse/datatools/sqltools/sqlbuilder/views/update/UpdateTreeViewer.java
+++ b/plugins/sqltools/org.eclipse.datatools.sqltools.sqlbuilder/src/org/eclipse/datatools/sqltools/sqlbuilder/views/update/UpdateTreeViewer.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright 2000, 2018 IBM Corporation and others.
+ * Copyright 2000, 2019 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
  * which is available at
@@ -55,7 +55,7 @@
 import org.eclipse.jface.viewers.LabelProvider;
 import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableTreeViewer;
+import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.GC;
 import org.eclipse.swt.graphics.Image;
@@ -71,7 +71,7 @@
 /**
  * The Update tree view
  */
-public class UpdateTreeViewer extends TableTreeViewer {
+public class UpdateTreeViewer extends TableViewer {
 
     public static final String copyright = "(c) Copyright IBM Corporation 2000, 2002.";
     protected SQLDomainModel domainModel;
@@ -93,9 +93,9 @@
 
         this.domainModel = domainModel;
 
-        table = getTableTree().getTable();
+        table = getTable();
 
-        final Table tbl = getTableTree().getTable();
+        final Table tbl = getTable();
         PlatformUI.getWorkbench().getHelpSystem().setHelp(tbl, SQLBuilderContextIds.SQDU_SET_TAB);
 
         navigator = new TableNavigator(tbl, this);
@@ -154,7 +154,7 @@
     public void refresh() {
         // setVisible for TableNavigator to false if there are no items 
         //  in the table tree. Necessary to avoid repaint of cursor.
-        if (getTableTree().getTable().getItemCount() == 0) {
+        if (getTable().getItemCount() == 0) {
             navigator.setVisible(false);
         }
         else {
@@ -167,7 +167,8 @@
 
     //override setExpanded so that the tree doesn't get collapsed by the framework
     protected void setExpanded(Item node, boolean expand) {
-        super.setExpanded(node, true);
+//    	 super no longer contains this method?
+//        super.setExpanded(node, true);
     }
 
     // override getExpanded so that the tree doesn't get collapsed by the framework
@@ -185,7 +186,7 @@
             }
             // setVisible for TableNavigator to false if there are no items 
             //  in the table tree. Necessary to avoid repaint of cursor.
-            if (getTableTree().getTable().getItemCount() <= 0) {
+            if (getTable().getItemCount() <= 0) {
                 navigator.setVisible(false);
             }
             else {
@@ -211,7 +212,7 @@
                 counter++;
             }
 
-            queryCellEditor = new ComboBoxCellEditor(getTableTree().getTable(), comboContents);
+            queryCellEditor = new ComboBoxCellEditor(getTable(), comboContents);
             queryCellEditor.getControl().moveAbove(null);
             return queryCellEditor;
         }
@@ -219,12 +220,12 @@
         public DynamicComboBoxCellEditor getExprComboBoxCellEditor(boolean isExpr) {
             if (!isExpr) {
                 LabelValuePair comboItems[] = { new LabelValuePair(SQLBuilderConstants.P_BUILD_EXPRESSION, SQLBuilderConstants.P_BUILD_EXPRESSION) };
-                expressionCellEditor = new DynamicComboBoxCellEditor(getTableTree().getTable(), comboItems, this);
+                expressionCellEditor = new DynamicComboBoxCellEditor(getTable(), comboItems, this);
             }
             else {
                 LabelValuePair comboItems[] = { new LabelValuePair(SQLBuilderConstants.P_EDIT_EXPRESSION, SQLBuilderConstants.P_EDIT_EXPRESSION),
                         new LabelValuePair(SQLBuilderConstants.P_REPLACE_EXPRESSION, SQLBuilderConstants.P_REPLACE_EXPRESSION) };
-                expressionCellEditor = new DynamicComboBoxCellEditor(getTableTree().getTable(), comboItems, this);
+                expressionCellEditor = new DynamicComboBoxCellEditor(getTable(), comboItems, this);
             }
             expressionCellEditor.getControl().moveAbove(null);
             return expressionCellEditor;
@@ -233,7 +234,7 @@
         public DynamicComboBoxCellEditor getExprComboBoxCellEditor(QueryValueExpression expr) {
         	if (expr == null) {
         		LabelValuePair comboItems[] = { new LabelValuePair(SQLBuilderConstants.P_BUILD_EXPRESSION, SQLBuilderConstants.P_BUILD_EXPRESSION) };
-                expressionCellEditor = new DynamicComboBoxCellEditor(getTableTree().getTable(), comboItems, this);
+                expressionCellEditor = new DynamicComboBoxCellEditor(getTable(), comboItems, this);
             }
             else {            	
                 if (expr.getDataType() instanceof XMLDataType ||
@@ -241,12 +242,12 @@
                     LabelValuePair comboItems[] = { new LabelValuePair(SQLBuilderConstants.P_EDIT_EXPRESSION, SQLBuilderConstants.P_EDIT_EXPRESSION),
                             new LabelValuePair(SQLBuilderConstants.P_REPLACE_EXPRESSION, SQLBuilderConstants.P_REPLACE_EXPRESSION),
                             new LabelValuePair(SQLBuilderConstants.P_EDIT_INPUT_VALUE, SQLBuilderConstants.P_EDIT_INPUT_VALUE)};
-                    expressionCellEditor = new DynamicComboBoxCellEditor(getTableTree().getTable(), comboItems, this);
+                    expressionCellEditor = new DynamicComboBoxCellEditor(getTable(), comboItems, this);
                 }
                 else{
                     LabelValuePair comboItems[] = { new LabelValuePair(SQLBuilderConstants.P_EDIT_EXPRESSION, SQLBuilderConstants.P_EDIT_EXPRESSION),
                             new LabelValuePair(SQLBuilderConstants.P_REPLACE_EXPRESSION, SQLBuilderConstants.P_REPLACE_EXPRESSION) };
-                    expressionCellEditor = new DynamicComboBoxCellEditor(getTableTree().getTable(), comboItems, this);
+                    expressionCellEditor = new DynamicComboBoxCellEditor(getTable(), comboItems, this);
                 }
             }
             expressionCellEditor.getControl().moveAbove(null);
@@ -462,7 +463,7 @@
             table.setBackground(control.getBackground());
         }
     }
-    
+
     private Vector getExistingQueries() {
 
 		if (existingSelects == null) {