Repository: cayenne
Updated Branches:
  refs/heads/master 1a647b252 -> 27138761c


http://git-wip-us.apache.org/repos/asf/cayenne/blob/7da0e897/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/merge/MergerTokenTableModel.java
----------------------------------------------------------------------
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/merge/MergerTokenTableModel.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/merge/MergerTokenTableModel.java
new file mode 100644
index 0000000..4fc78f0
--- /dev/null
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/merge/MergerTokenTableModel.java
@@ -0,0 +1,129 @@
+/*****************************************************************
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ ****************************************************************/
+
+package org.apache.cayenne.modeler.dialog.db.merge;
+
+import org.apache.cayenne.dbsync.merge.MergeDirection;
+import org.apache.cayenne.dbsync.merge.MergerToken;
+
+import javax.swing.table.AbstractTableModel;
+import java.util.List;
+
+
+public class MergerTokenTableModel extends AbstractTableModel {
+
+    public static final int COL_SELECT = 0;
+    public static final int COL_DIRECTION = 1;
+    public static final int COL_NAME = 2;
+    public static final int COL_VALUE = 3;
+
+    private MergerTokenSelectorController controller;
+
+    private List<MergerToken> tokens;
+
+    public MergerTokenTableModel(MergerTokenSelectorController controller) {
+        this.controller = controller;
+        this.tokens = controller.getSelectableTokens();
+    }
+
+    private MergerTokenSelectorController getController() {
+        return controller;
+    }
+
+    public Class getColumnClass(int columnIndex) {
+        switch (columnIndex) {
+            case COL_SELECT:
+                return Boolean.class;
+            case COL_DIRECTION:
+                // TODO: correct?
+                return String.class;
+            case COL_NAME:
+            case COL_VALUE:
+                return String.class;
+        }
+
+        return null;
+    }
+
+    public int getColumnCount() {
+        return 4;
+    }
+
+    public String getColumnName(int columnIndex) {
+        switch (columnIndex) {
+            case COL_SELECT:
+                return "";
+            case COL_NAME:
+                return "Operation";
+            case COL_DIRECTION:
+                return "Direction";
+            case COL_VALUE:
+                return "";
+        }
+
+        return null;
+    }
+
+    public int getRowCount() {
+        return tokens.size();
+    }
+
+    public MergerToken getToken(int rowIndex) {
+        return tokens.get(rowIndex);
+    }
+
+    public Object getValueAt(int rowIndex, int columnIndex) {
+        MergerToken token = getToken(rowIndex);
+        switch (columnIndex) {
+            case COL_SELECT:
+                return Boolean.valueOf(getController().isSelected(token));
+            case COL_NAME:
+                return token.getTokenName();
+            case COL_DIRECTION:
+                return token.getDirection();
+            case COL_VALUE:
+                return token.getTokenValue();
+        }
+        return null;
+    }
+
+    public boolean isCellEditable(int rowIndex, int columnIndex) {
+        switch (columnIndex) {
+            case COL_SELECT:
+            case COL_DIRECTION:
+                return true;
+        }
+        return false;
+    }
+
+    public void setValueAt(Object value, int rowIndex, int columnIndex) {
+        MergerToken token = getToken(rowIndex);
+        switch (columnIndex) {
+            case COL_SELECT:
+                Boolean val = (Boolean) value;
+                getController().select(token, val.booleanValue());
+                break;
+            case COL_DIRECTION:
+                MergeDirection direction = (MergeDirection) value;
+                getController().setDirection(token, direction);
+                break;
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/cayenne/blob/7da0e897/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DbAdapterInfo.java
----------------------------------------------------------------------
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DbAdapterInfo.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DbAdapterInfo.java
index 8ca4269..59a0197 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DbAdapterInfo.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DbAdapterInfo.java
@@ -82,7 +82,7 @@ public final class DbAdapterInfo {
         return new DbAdapterListRenderer(DEFAULT_ADAPTER_LABELS);
     }
 
-    public static Object[] getStandardAdapters() {
+    public static String[] getStandardAdapters() {
         return standardAdapters;
     }
 

Reply via email to