This is an automated email from the ASF dual-hosted git repository.

aadamchik pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
     new 4cf4e2bad CAY-2918 Remove OGNL Binding Architecture from CayenneModeler
4cf4e2bad is described below

commit 4cf4e2bad6098500bde3f03c0f10c07b53a5003d
Author: Andrus Adamchik <[email protected]>
AuthorDate: Sun Apr 12 15:45:08 2026 -0400

    CAY-2918 Remove OGNL Binding Architecture from CayenneModeler
    
    getting rid of "bindToProperty"
---
 .../modeler/dialog/pref/EncodingSelector.java      | 16 +++---
 .../modeler/dialog/pref/GeneralPreferences.java    | 21 ++++----
 .../org/apache/cayenne/swing/BindingBuilder.java   | 14 -----
 .../org/apache/cayenne/swing/BindingFactory.java   |  8 ---
 .../org/apache/cayenne/swing/PropertyBinding.java  | 59 ----------------------
 5 files changed, 17 insertions(+), 101 deletions(-)

diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/EncodingSelector.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/EncodingSelector.java
index a1a182105..797a738f1 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/EncodingSelector.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/EncodingSelector.java
@@ -20,7 +20,13 @@
 
 package org.apache.cayenne.modeler.dialog.pref;
 
-import java.awt.Component;
+import org.apache.cayenne.modeler.util.CayenneController;
+import org.apache.cayenne.swing.BindingBuilder;
+import org.apache.cayenne.swing.ObjectBinding;
+import org.apache.cayenne.util.Util;
+
+import javax.swing.*;
+import java.awt.*;
 import java.beans.PropertyChangeListener;
 import java.io.ByteArrayOutputStream;
 import java.io.OutputStreamWriter;
@@ -28,13 +34,6 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.Vector;
 
-import javax.swing.DefaultComboBoxModel;
-
-import org.apache.cayenne.modeler.util.CayenneController;
-import org.apache.cayenne.swing.BindingBuilder;
-import org.apache.cayenne.swing.ObjectBinding;
-import org.apache.cayenne.util.Util;
-
 /**
  * A controller for stream encoding picker component.
  * 
@@ -122,6 +121,7 @@ public class EncodingSelector extends CayenneController {
         return charsets;
     }
 
+    @Override
     public void bindingUpdated(String expression, Object newValue) {
         if (ENCODING_PROPERTY_BINDING.equals(expression)) {
             this.encoding = (newValue != null) ? newValue.toString() : null;
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/GeneralPreferences.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/GeneralPreferences.java
index c679ec3cb..f748fbbf0 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/GeneralPreferences.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/GeneralPreferences.java
@@ -22,8 +22,10 @@ package org.apache.cayenne.modeler.dialog.pref;
 import org.apache.cayenne.modeler.util.CayenneController;
 import org.apache.cayenne.pref.CayennePreferenceEditor;
 import org.apache.cayenne.pref.PreferenceEditor;
-import org.apache.cayenne.swing.BindingBuilder;
-import org.apache.cayenne.swing.ObjectBinding;
+import java.awt.*;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.prefs.Preferences;
 
 import java.awt.*;
 import java.util.HashMap;
@@ -51,8 +53,6 @@ public class GeneralPreferences extends CayenneController {
 
        protected Preferences preferences;
 
-       protected ObjectBinding encodingBinding;
-
        public GeneralPreferences(PreferenceDialog parentController) {
                super(parentController);
                this.view = new GeneralPreferencesView();
@@ -62,10 +62,6 @@ public class GeneralPreferences extends CayenneController {
                        this.editor = (CayennePreferenceEditor) editor;
                        this.view.setEnabled(true);
                        initBindings();
-
-                       encodingBinding.updateView();
-                       
view.getAutoLoadProject().setSelected(autoLoadProjectPreference);
-                       
view.getDeletePrompt().setSelected(deletePromptPreference);
                } else {
                        this.view.setEnabled(false);
                }
@@ -86,13 +82,14 @@ public class GeneralPreferences extends CayenneController {
 
                // build child controllers...
                EncodingSelector encodingSelector = new EncodingSelector(this, 
view.getEncodingSelector());
-
-               // create bindings...
-               BindingBuilder builder = new 
BindingBuilder(getApplication().getBindingFactory(), this);
-               this.encodingBinding = builder.bindToProperty(encodingSelector, 
"encoding", EncodingSelector.ENCODING_PROPERTY_BINDING);
+               
encodingSelector.addPropertyChangeListener(EncodingSelector.ENCODING_PROPERTY_BINDING,
+                               evt -> setEncoding((String) evt.getNewValue()));
+               
encodingSelector.bindingUpdated(EncodingSelector.ENCODING_PROPERTY_BINDING, 
encoding);
 
                view.getAutoLoadProject().addActionListener(e -> 
setAutoLoadProject(view.getAutoLoadProject().isSelected()));
                view.getDeletePrompt().addActionListener(e -> 
setDeletePrompt(view.getDeletePrompt().isSelected()));
+               
view.getAutoLoadProject().setSelected(autoLoadProjectPreference);
+               view.getDeletePrompt().setSelected(deletePromptPreference);
        }
 
        public String getEncoding() {
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/BindingBuilder.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/BindingBuilder.java
index f4e92117d..fc71fcba1 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/BindingBuilder.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/BindingBuilder.java
@@ -73,20 +73,6 @@ public class BindingBuilder {
         return factory;
     }
 
-    /**
-     * Binds to an instance of BoundComponent.
-     * 
-     * @since 1.2
-     */
-    public ObjectBinding bindToProperty(
-            BoundComponent component,
-            String property,
-            String boundProperty) {
-        ObjectBinding binding = factory
-                .bindToProperty(component, property, boundProperty);
-        return initBinding(binding, delegate);
-    }
-
     public ObjectBinding bindToStateChange(AbstractButton button, String 
property) {
         ObjectBinding binding = factory.bindToStateChange(button, property);
         return initBinding(binding, delegate);
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/BindingFactory.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/BindingFactory.java
index 258a7fa8d..1164bd32a 100644
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/BindingFactory.java
+++ 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/BindingFactory.java
@@ -57,14 +57,6 @@ public class BindingFactory {
         return prepareBinding(binding);
     }
 
-    public ObjectBinding bindToProperty(
-            BoundComponent component,
-            String property,
-            String boundProperty) {
-        PropertyBinding binding = new PropertyBinding(component, property, 
boundProperty);
-        return prepareBinding(binding);
-    }
-
     /**
      * Binds to AbstractButton item state change events. Most common 
AbstractButton
      * subclasses are JButton, JCheckBox, JRadioButton.
diff --git 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/PropertyBinding.java
 
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/PropertyBinding.java
deleted file mode 100644
index 87976c0b5..000000000
--- 
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/PropertyBinding.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*****************************************************************
- *   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.swing;
-
-import java.awt.Component;
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-
-/**
- * A binding for connecting to children that implement BoundComponent.
- * 
- * @since 1.2
- */
-public class PropertyBinding extends BindingBase {
-
-    protected BoundComponent boundComponent;
-    protected String boundExpression;
-
-    public PropertyBinding(BoundComponent boundComponent, String 
propertyExpression,
-            String boundExpression) {
-        super(propertyExpression);
-
-        this.boundExpression = boundExpression;
-        this.boundComponent = boundComponent;
-        this.boundComponent.addPropertyChangeListener(boundExpression,
-                new PropertyChangeListener() {
-
-                    public void propertyChange(PropertyChangeEvent event) {
-                        setValue(event.getNewValue());
-                    }
-
-                });
-    }
-
-    public Component getView() {
-        return boundComponent.getView();
-    }
-
-    public void updateView() {
-        boundComponent.bindingUpdated(boundExpression, getValue());
-    }
-}

Reply via email to