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 2020/03/23 15:23:31 UTC
[cayenne] branch master updated (c368277 -> 672d51b)
This is an automated email from the ASF dual-hosted git repository.
ntimofeev pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git.
from c368277 update travis config
new ac4cc30 Validation spaces in JDBC Driver and DB URL lines in dataNode main window
new ba5ee94 CAY-2648 Whitespace symbols in JDBC Driver and DB URL lines lead to incorrect driver loading - refactor code to make it universal
new e2e2fc9 Merge branch 'pull/411' into asf-master
new 672d51b CAY-2648 Whitespace symbols in JDBC Driver and DB URL lines lead to incorrect driver loading - release notes
The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
RELEASE-NOTES.txt | 1 +
.../editor/datanode/JDBCDataSourceView.java | 6 ++
.../cayenne/modeler/util/JTextFieldValidator.java | 70 ++++++++++++++++++++++
3 files changed, 77 insertions(+)
create mode 100644 modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JTextFieldValidator.java
[cayenne] 04/04: CAY-2648 Whitespace symbols in JDBC Driver and DB
URL lines lead to incorrect driver loading - release notes
Posted by nt...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ntimofeev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git
commit 672d51be3bb07a154d642b09443060edf2fe8b67
Author: Nikita Timofeev <st...@gmail.com>
AuthorDate: Mon Mar 23 18:23:21 2020 +0300
CAY-2648 Whitespace symbols in JDBC Driver and DB URL lines lead to incorrect driver loading
- release notes
---
RELEASE-NOTES.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 5827792..e349d49 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -111,6 +111,7 @@ CAY-2634 Minor inconsistencies in Modeler "DB Import"
CAY-2635 Lambda expressions break ROP serialization
CAY-2646 Wrong target path selection logic in cgen config
CAY-2647 Modeler: project upgrade from 4.0.B2 to 4.1.RC2 failure
+CAY-2648 Whitespace symbols in JDBC Driver and DB URL lines lead to incorrect driver loading
----------------------------------
Release: 4.1.B1
[cayenne] 03/04: Merge branch 'pull/411' into asf-master
Posted by nt...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ntimofeev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git
commit e2e2fc91e5c29aa61f3164344ecc7527ec20ccb3
Merge: c368277 ba5ee94
Author: Nikita Timofeev <st...@gmail.com>
AuthorDate: Mon Mar 23 18:22:28 2020 +0300
Merge branch 'pull/411' into asf-master
.../editor/datanode/JDBCDataSourceView.java | 6 ++
.../cayenne/modeler/util/JTextFieldValidator.java | 70 ++++++++++++++++++++++
2 files changed, 76 insertions(+)
[cayenne] 01/04: Validation spaces in JDBC Driver and DB URL lines
in dataNode main window
Posted by nt...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ntimofeev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git
commit ac4cc3098dedc89478ce834894f12e4638fcf389
Author: alex-byi <al...@mail.ru>
AuthorDate: Thu Feb 6 15:48:04 2020 +0300
Validation spaces in JDBC Driver and DB URL lines in dataNode main window
---
.../editor/datanode/JDBCDataSourceView.java | 4 ++
.../util/JTextFieldWhitespacesValidator.java | 53 ++++++++++++++++++++++
2 files changed, 57 insertions(+)
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/JDBCDataSourceView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/JDBCDataSourceView.java
index 0126991..2447eac 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/JDBCDataSourceView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/JDBCDataSourceView.java
@@ -26,6 +26,7 @@ import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
+import org.apache.cayenne.modeler.util.JTextFieldWhitespacesValidator;
import org.apache.cayenne.modeler.util.JTextFieldUndoable;
import com.jgoodies.forms.builder.PanelBuilder;
@@ -54,6 +55,9 @@ public class JDBCDataSourceView extends JPanel {
syncWithLocal = new JButton("Sync with Local");
syncWithLocal.setToolTipText("Update from local DataSource");
+ driver.addFocusListener(new JTextFieldWhitespacesValidator(driver));
+ url.addFocusListener(new JTextFieldWhitespacesValidator(url));
+
// assemble
CellConstraints cc = new CellConstraints();
FormLayout layout = new FormLayout(
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JTextFieldWhitespacesValidator.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JTextFieldWhitespacesValidator.java
new file mode 100644
index 0000000..7eacb89
--- /dev/null
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JTextFieldWhitespacesValidator.java
@@ -0,0 +1,53 @@
+/*****************************************************************
+ * 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
+ *
+ * https://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.util;
+
+import org.apache.cayenne.modeler.dialog.validator.ValidatorDialog;
+
+
+import javax.swing.JTextField;
+import java.awt.event.FocusEvent;
+import java.awt.event.FocusListener;
+
+/**
+ * @since 4.2
+ */
+public class JTextFieldWhitespacesValidator implements FocusListener {
+
+ private JTextField jTextField;
+
+ public JTextFieldWhitespacesValidator(JTextField jTextField) {
+ this.jTextField = jTextField;
+ }
+
+ @Override
+ public void focusGained(FocusEvent e) {
+
+ }
+
+ @Override
+ public void focusLost(FocusEvent e) {
+ String text = jTextField.getText();
+ int length = text.length() - text.trim().length();
+ if (length != 0) {
+ jTextField.setBackground(ValidatorDialog.WARNING_COLOR);
+ jTextField.setToolTipText("There are some whitespaces in this line");
+ }
+ }
+}
[cayenne] 02/04: CAY-2648 Whitespace symbols in JDBC Driver and DB
URL lines lead to incorrect driver loading - refactor code to make it
universal
Posted by nt...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
ntimofeev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git
commit ba5ee9486154326740e3017174636dd5d3f7a7a7
Author: Nikita Timofeev <st...@gmail.com>
AuthorDate: Mon Mar 23 18:21:28 2020 +0300
CAY-2648 Whitespace symbols in JDBC Driver and DB URL lines lead to incorrect driver loading
- refactor code to make it universal
---
.../editor/datanode/JDBCDataSourceView.java | 8 ++++--
...acesValidator.java => JTextFieldValidator.java} | 33 ++++++++++++++++------
2 files changed, 30 insertions(+), 11 deletions(-)
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/JDBCDataSourceView.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/JDBCDataSourceView.java
index 2447eac..7aa58c5 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/JDBCDataSourceView.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/JDBCDataSourceView.java
@@ -26,7 +26,7 @@ import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
-import org.apache.cayenne.modeler.util.JTextFieldWhitespacesValidator;
+import org.apache.cayenne.modeler.util.JTextFieldValidator;
import org.apache.cayenne.modeler.util.JTextFieldUndoable;
import com.jgoodies.forms.builder.PanelBuilder;
@@ -55,8 +55,10 @@ public class JDBCDataSourceView extends JPanel {
syncWithLocal = new JButton("Sync with Local");
syncWithLocal.setToolTipText("Update from local DataSource");
- driver.addFocusListener(new JTextFieldWhitespacesValidator(driver));
- url.addFocusListener(new JTextFieldWhitespacesValidator(url));
+ JTextFieldValidator.addValidation(driver, text -> text.length() != text.trim().length(),
+ "There are some whitespaces in this field");
+ JTextFieldValidator.addValidation(url, text -> text.length() != text.trim().length(),
+ "There are some whitespaces in this field");
// assemble
CellConstraints cc = new CellConstraints();
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JTextFieldWhitespacesValidator.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JTextFieldValidator.java
similarity index 55%
rename from modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JTextFieldWhitespacesValidator.java
rename to modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JTextFieldValidator.java
index 7eacb89..56f3f49 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JTextFieldWhitespacesValidator.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JTextFieldValidator.java
@@ -20,34 +20,51 @@ package org.apache.cayenne.modeler.util;
import org.apache.cayenne.modeler.dialog.validator.ValidatorDialog;
-
import javax.swing.JTextField;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
+import java.util.function.Function;
+import java.util.function.Predicate;
/**
* @since 4.2
*/
-public class JTextFieldWhitespacesValidator implements FocusListener {
+public class JTextFieldValidator implements FocusListener {
+
+ private final JTextField jTextField;
+ private final Predicate<String> validator;
+ private final Function<String, String> message;
+
+ static public void addValidation(JTextField field, Predicate<String> validator, Function<String, String> message) {
+ JTextFieldValidator validationListener
+ = new JTextFieldValidator(field, validator, message);
+ field.addFocusListener(validationListener);
+ }
- private JTextField jTextField;
+ static public void addValidation(JTextField field, Predicate<String> validator, String message) {
+ addValidation(field, validator, text -> message);
+ }
+
+ static public void addValidation(JTextField field, Predicate<String> validator) {
+ addValidation(field, validator, text -> "There are illegal chars in this field");
+ }
- public JTextFieldWhitespacesValidator(JTextField jTextField) {
+ JTextFieldValidator(JTextField jTextField, Predicate<String> validator, Function<String, String> message) {
this.jTextField = jTextField;
+ this.validator = validator;
+ this.message = message;
}
@Override
public void focusGained(FocusEvent e) {
-
}
@Override
public void focusLost(FocusEvent e) {
String text = jTextField.getText();
- int length = text.length() - text.trim().length();
- if (length != 0) {
+ if(validator.test(text)) {
jTextField.setBackground(ValidatorDialog.WARNING_COLOR);
- jTextField.setToolTipText("There are some whitespaces in this line");
+ jTextField.setToolTipText(message.apply(text));
}
}
}