You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2018/08/28 11:01:14 UTC

[1/2] cayenne git commit: CAY-2455. Add limited text field.

Repository: cayenne
Updated Branches:
  refs/heads/master dba94b25d -> 57e39c57b


CAY-2455. Add limited text field.


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/d357da50
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/d357da50
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/d357da50

Branch: refs/heads/master
Commit: d357da501ddf68d1e76e69e48a10c7bc5ed4aee4
Parents: 36faff5
Author: Arseni Bulatski <an...@gmail.com>
Authored: Wed Aug 22 13:58:39 2018 +0300
Committer: Arseni Bulatski <an...@gmail.com>
Committed: Tue Aug 28 12:32:51 2018 +0300

----------------------------------------------------------------------
 RELEASE-NOTES.txt                               |  1 +
 .../modeler/editor/ProcedureParameterTab.java   | 48 ++++++++++++--------
 .../editor/ProcedureParameterTableModel.java    | 15 +++---
 .../editor/dbentity/DbAttributeTableModel.java  | 25 ++++++----
 .../editor/dbentity/DbEntityAttributePanel.java |  9 ++++
 .../swing/components/LimitedDocument.java       | 22 +++++++++
 .../swing/components/LimitedJTextField.java     |  9 ++++
 7 files changed, 92 insertions(+), 37 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/d357da50/RELEASE-NOTES.txt
----------------------------------------------------------------------
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index d2e5421..37bb8c7 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -20,6 +20,7 @@ Bug Fixes:
 
 CAY-2444 Change URI from http:// to https:// in xsi:schemaLocation
 CAY-2445 Oracle: Problem with ExpressionFactory.notInExp()
+CAY-2455 The width of the pop-up window is very large
 
 ----------------------------------
 Release: 4.1.M2

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d357da50/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ProcedureParameterTab.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ProcedureParameterTab.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ProcedureParameterTab.java
index c1be0d4..653d88d 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ProcedureParameterTab.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ProcedureParameterTab.java
@@ -19,26 +19,6 @@
 
 package org.apache.cayenne.modeler.editor;
 
-import java.awt.BorderLayout;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.EventObject;
-import java.util.List;
-
-import javax.swing.Icon;
-import javax.swing.JButton;
-import javax.swing.JComboBox;
-import javax.swing.JMenuItem;
-import javax.swing.JPanel;
-import javax.swing.JPopupMenu;
-import javax.swing.JToolBar;
-import javax.swing.SwingConstants;
-import javax.swing.event.ChangeEvent;
-import javax.swing.event.ListSelectionEvent;
-import javax.swing.event.ListSelectionListener;
-import javax.swing.table.DefaultTableCellRenderer;
-import javax.swing.table.TableColumn;
-
 import org.apache.cayenne.configuration.DataChannelDescriptor;
 import org.apache.cayenne.configuration.event.ProcedureEvent;
 import org.apache.cayenne.configuration.event.ProcedureParameterEvent;
@@ -67,8 +47,28 @@ import org.apache.cayenne.modeler.util.ModelerUtil;
 import org.apache.cayenne.modeler.util.PanelFactory;
 import org.apache.cayenne.modeler.util.UIUtil;
 import org.apache.cayenne.modeler.util.combo.AutoCompletion;
+import org.apache.cayenne.swing.components.LimitedJTextField;
 import org.apache.cayenne.swing.components.image.FilteredIconFactory;
 
+import javax.swing.Icon;
+import javax.swing.JButton;
+import javax.swing.JComboBox;
+import javax.swing.JMenuItem;
+import javax.swing.JPanel;
+import javax.swing.JPopupMenu;
+import javax.swing.JToolBar;
+import javax.swing.SwingConstants;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ListSelectionEvent;
+import javax.swing.event.ListSelectionListener;
+import javax.swing.table.DefaultTableCellRenderer;
+import javax.swing.table.TableColumn;
+import java.awt.BorderLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.EventObject;
+import java.util.List;
+
 public class ProcedureParameterTab extends JPanel implements ProcedureParameterListener,
         ProcedureDisplayListener, ExistingSelectionProcessor, ActionListener {
 
@@ -303,6 +303,14 @@ public class ProcedureParameterTab extends JPanel implements ProcedureParameterL
         directionEditor.setEditable(false);
         directionColumn.setCellEditor(new CayenneCellEditor(directionEditor));
 
+        TableColumn precisionColumn = table.getColumnModel().getColumn(ProcedureParameterTableModel.PARAMETER_PRECISION);
+        LimitedJTextField limitedPrecisionField = new LimitedJTextField(10);
+        precisionColumn.setCellEditor(Application.getWidgetFactory().createCellEditor(limitedPrecisionField));
+
+        TableColumn lengthColumn = table.getColumnModel().getColumn(ProcedureParameterTableModel.PARAMETER_LENGTH);
+        LimitedJTextField limitedLengthField = new LimitedJTextField(10);
+        lengthColumn.setCellEditor(Application.getWidgetFactory().createCellEditor(limitedLengthField));
+
         moveUp.setEnabled(false);
         moveDown.setEnabled(false);
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d357da50/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ProcedureParameterTableModel.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ProcedureParameterTableModel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ProcedureParameterTableModel.java
index 40005fc..b316270 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ProcedureParameterTableModel.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/ProcedureParameterTableModel.java
@@ -19,10 +19,6 @@
 
 package org.apache.cayenne.modeler.editor;
 
-import java.util.ArrayList;
-
-import javax.swing.JOptionPane;
-
 import org.apache.cayenne.configuration.event.ProcedureParameterEvent;
 import org.apache.cayenne.dba.TypesMapping;
 import org.apache.cayenne.map.Procedure;
@@ -31,6 +27,9 @@ import org.apache.cayenne.modeler.ProjectController;
 import org.apache.cayenne.modeler.util.CayenneTableModel;
 import org.apache.cayenne.modeler.util.ProjectUtil;
 
+import javax.swing.JOptionPane;
+import java.util.ArrayList;
+
 public class ProcedureParameterTableModel extends CayenneTableModel<ProcedureParameter> {
 
     public static final int PARAMETER_NUMBER    = 0;
@@ -127,10 +126,10 @@ public class ProcedureParameterTableModel extends CayenneTableModel<ProcedurePar
                 parameter.setMaxLength(Integer.parseInt(newVal));
             } catch (NumberFormatException ex) {
                 JOptionPane.showMessageDialog(
-                    null,
-                    "Invalid Max Length (" + newVal + "), only numbers are allowed",
-                    "Invalid Maximum Length",
-                    JOptionPane.ERROR_MESSAGE);
+                        null,
+                        "Invalid Max Length (" + newVal + "), only numbers are allowed",
+                        "Invalid Maximum Length",
+                        JOptionPane.ERROR_MESSAGE);
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d357da50/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbAttributeTableModel.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbAttributeTableModel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbAttributeTableModel.java
index c53be29..9c62874 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbAttributeTableModel.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbAttributeTableModel.java
@@ -19,15 +19,6 @@
 
 package org.apache.cayenne.modeler.editor.dbentity;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.swing.JOptionPane;
-
 import org.apache.cayenne.dba.TypesMapping;
 import org.apache.cayenne.map.DbAttribute;
 import org.apache.cayenne.map.DbEntity;
@@ -39,6 +30,14 @@ import org.apache.cayenne.modeler.util.CayenneTableModel;
 import org.apache.cayenne.modeler.util.ProjectUtil;
 import org.apache.cayenne.project.extension.info.ObjectInfo;
 
+import javax.swing.JOptionPane;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.List;
+
 /**
  * Model for DbEntity attributes. Allows adding/removing attributes, modifying types and names.
  */
@@ -74,6 +73,14 @@ public class DbAttributeTableModel extends CayenneTableModel<DbAttribute> {
         return DB_ATTRIBUTE_TYPE;
     }
 
+    public int lengthColumnId(){
+        return DB_ATTRIBUTE_MAX;
+    }
+
+    public int scaleColumnId(){
+        return DB_ATTRIBUTE_SCALE;
+    }
+
     public int mandatoryColumnInd() {
         return DB_ATTRIBUTE_MANDATORY;
     }

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d357da50/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityAttributePanel.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityAttributePanel.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityAttributePanel.java
index 82deb69..1a66661 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityAttributePanel.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityAttributePanel.java
@@ -39,6 +39,7 @@ import org.apache.cayenne.modeler.util.CayenneTable;
 import org.apache.cayenne.modeler.util.PanelFactory;
 import org.apache.cayenne.modeler.util.UIUtil;
 import org.apache.cayenne.modeler.util.combo.AutoCompletion;
+import org.apache.cayenne.swing.components.LimitedJTextField;
 
 import javax.swing.JComboBox;
 import javax.swing.JPanel;
@@ -180,6 +181,14 @@ public class DbEntityAttributePanel extends JPanel implements DbEntityDisplayLis
 
         col.setCellEditor(Application.getWidgetFactory().createCellEditor(comboBox));
 
+        TableColumn lengthColumn = table.getColumnModel().getColumn(model.lengthColumnId());
+        LimitedJTextField limitedLengthField = new LimitedJTextField(10);
+        lengthColumn.setCellEditor(Application.getWidgetFactory().createCellEditor(limitedLengthField));
+
+        TableColumn scaleColumn = table.getColumnModel().getColumn(model.scaleColumnId());
+        LimitedJTextField limitedScaleField = new LimitedJTextField(10);
+        scaleColumn.setCellEditor(Application.getWidgetFactory().createCellEditor(limitedScaleField));
+
         tablePreferences.bind(table, null, null, null, model.nameColumnInd(), true);
     }
 

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d357da50/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/components/LimitedDocument.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/components/LimitedDocument.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/components/LimitedDocument.java
new file mode 100644
index 0000000..18efc0c
--- /dev/null
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/components/LimitedDocument.java
@@ -0,0 +1,22 @@
+package org.apache.cayenne.swing.components;
+
+import javax.swing.text.AttributeSet;
+import javax.swing.text.BadLocationException;
+import javax.swing.text.PlainDocument;
+
+public class LimitedDocument extends PlainDocument {
+    private int limit;
+
+    LimitedDocument(int limit) {
+        super();
+        this.limit = limit;
+    }
+
+    public void insertString( int offset, String  str, AttributeSet attr ) throws BadLocationException {
+        if (str == null) return;
+
+        if ((getLength() + str.length()) <= limit) {
+            super.insertString(offset, str, attr);
+        }
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne/blob/d357da50/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/components/LimitedJTextField.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/components/LimitedJTextField.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/components/LimitedJTextField.java
new file mode 100644
index 0000000..5769738
--- /dev/null
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/components/LimitedJTextField.java
@@ -0,0 +1,9 @@
+package org.apache.cayenne.swing.components;
+
+import javax.swing.JTextField;
+
+public class LimitedJTextField extends JTextField {
+    public LimitedJTextField(int limit) {
+        setDocument(new LimitedDocument(limit));
+    }
+}


[2/2] cayenne git commit: Merge PR #309

Posted by nt...@apache.org.
Merge PR #309


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/57e39c57
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/57e39c57
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/57e39c57

Branch: refs/heads/master
Commit: 57e39c57b13ac6a564e365521614df18740d7fa7
Parents: dba94b2 d357da5
Author: Nikita Timofeev <st...@gmail.com>
Authored: Tue Aug 28 14:00:19 2018 +0300
Committer: Nikita Timofeev <st...@gmail.com>
Committed: Tue Aug 28 14:00:19 2018 +0300

----------------------------------------------------------------------
 RELEASE-NOTES.txt                               |  1 +
 .../modeler/editor/ProcedureParameterTab.java   | 48 ++++++++++++--------
 .../editor/ProcedureParameterTableModel.java    | 15 +++---
 .../editor/dbentity/DbAttributeTableModel.java  | 25 ++++++----
 .../editor/dbentity/DbEntityAttributePanel.java |  9 ++++
 .../swing/components/LimitedDocument.java       | 22 +++++++++
 .../swing/components/LimitedJTextField.java     |  9 ++++
 7 files changed, 92 insertions(+), 37 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/57e39c57/RELEASE-NOTES.txt
----------------------------------------------------------------------
diff --cc RELEASE-NOTES.txt
index 0f961cd,37bb8c7..daf059b
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@@ -20,14 -20,7 +20,15 @@@ Bug Fixes
  
  CAY-2444 Change URI from http:// to https:// in xsi:schemaLocation
  CAY-2445 Oracle: Problem with ExpressionFactory.notInExp()
 -CAY-2455 The width of the pop-up window is very large
 +CAY-2449 Modeler: Needless scrollbar in Generate DB Schema result menu
 +CAY-2450 Modeler: Impossible to update Attribute title after syncing ObjEntity
 +CAY-2451 Modeler: ObjEntity "Edit" button doesn't open editor for Relationship
 +CAY-2454 Modeler: Unable to read validation message if it's truncated
++CAY-2455 Modeler: The width of the pop-up window is very large
 +CAY-2459 Modeler: DataMap paste function is not working
 +CAY-2462 Modeler: Clipboard holds old content after application was reloaded
 +CAY-2463 Modeler: DB Schema generation doesn't work
 +CAY-2464 ClassCastException when returning PRUNED_NODE in expression transformer
  
  ----------------------------------
  Release: 4.1.M2