Skip to content

Commit 4cf4e2b

Browse files
committed
CAY-2918 Remove OGNL Binding Architecture from CayenneModeler
getting rid of "bindToProperty"
1 parent fb7f0a8 commit 4cf4e2b

5 files changed

Lines changed: 17 additions & 101 deletions

File tree

modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/EncodingSelector.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,21 +20,20 @@
2020

2121
package org.apache.cayenne.modeler.dialog.pref;
2222

23-
import java.awt.Component;
23+
import org.apache.cayenne.modeler.util.CayenneController;
24+
import org.apache.cayenne.swing.BindingBuilder;
25+
import org.apache.cayenne.swing.ObjectBinding;
26+
import org.apache.cayenne.util.Util;
27+
28+
import javax.swing.*;
29+
import java.awt.*;
2430
import java.beans.PropertyChangeListener;
2531
import java.io.ByteArrayOutputStream;
2632
import java.io.OutputStreamWriter;
2733
import java.util.Arrays;
2834
import java.util.Collections;
2935
import java.util.Vector;
3036

31-
import javax.swing.DefaultComboBoxModel;
32-
33-
import org.apache.cayenne.modeler.util.CayenneController;
34-
import org.apache.cayenne.swing.BindingBuilder;
35-
import org.apache.cayenne.swing.ObjectBinding;
36-
import org.apache.cayenne.util.Util;
37-
3837
/**
3938
* A controller for stream encoding picker component.
4039
*
@@ -122,6 +121,7 @@ protected Vector supportedEncodings(String platformEncoding) {
122121
return charsets;
123122
}
124123

124+
@Override
125125
public void bindingUpdated(String expression, Object newValue) {
126126
if (ENCODING_PROPERTY_BINDING.equals(expression)) {
127127
this.encoding = (newValue != null) ? newValue.toString() : null;

modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/pref/GeneralPreferences.java

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,10 @@
2222
import org.apache.cayenne.modeler.util.CayenneController;
2323
import org.apache.cayenne.pref.CayennePreferenceEditor;
2424
import org.apache.cayenne.pref.PreferenceEditor;
25-
import org.apache.cayenne.swing.BindingBuilder;
26-
import org.apache.cayenne.swing.ObjectBinding;
25+
import java.awt.*;
26+
import java.util.HashMap;
27+
import java.util.Map;
28+
import java.util.prefs.Preferences;
2729

2830
import java.awt.*;
2931
import java.util.HashMap;
@@ -51,8 +53,6 @@ public class GeneralPreferences extends CayenneController {
5153

5254
protected Preferences preferences;
5355

54-
protected ObjectBinding encodingBinding;
55-
5656
public GeneralPreferences(PreferenceDialog parentController) {
5757
super(parentController);
5858
this.view = new GeneralPreferencesView();
@@ -62,10 +62,6 @@ public GeneralPreferences(PreferenceDialog parentController) {
6262
this.editor = (CayennePreferenceEditor) editor;
6363
this.view.setEnabled(true);
6464
initBindings();
65-
66-
encodingBinding.updateView();
67-
view.getAutoLoadProject().setSelected(autoLoadProjectPreference);
68-
view.getDeletePrompt().setSelected(deletePromptPreference);
6965
} else {
7066
this.view.setEnabled(false);
7167
}
@@ -86,13 +82,14 @@ protected void initBindings() {
8682

8783
// build child controllers...
8884
EncodingSelector encodingSelector = new EncodingSelector(this, view.getEncodingSelector());
89-
90-
// create bindings...
91-
BindingBuilder builder = new BindingBuilder(getApplication().getBindingFactory(), this);
92-
this.encodingBinding = builder.bindToProperty(encodingSelector, "encoding", EncodingSelector.ENCODING_PROPERTY_BINDING);
85+
encodingSelector.addPropertyChangeListener(EncodingSelector.ENCODING_PROPERTY_BINDING,
86+
evt -> setEncoding((String) evt.getNewValue()));
87+
encodingSelector.bindingUpdated(EncodingSelector.ENCODING_PROPERTY_BINDING, encoding);
9388

9489
view.getAutoLoadProject().addActionListener(e -> setAutoLoadProject(view.getAutoLoadProject().isSelected()));
9590
view.getDeletePrompt().addActionListener(e -> setDeletePrompt(view.getDeletePrompt().isSelected()));
91+
view.getAutoLoadProject().setSelected(autoLoadProjectPreference);
92+
view.getDeletePrompt().setSelected(deletePromptPreference);
9693
}
9794

9895
public String getEncoding() {

modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/BindingBuilder.java

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -73,20 +73,6 @@ public BindingFactory getFactory() {
7373
return factory;
7474
}
7575

76-
/**
77-
* Binds to an instance of BoundComponent.
78-
*
79-
* @since 1.2
80-
*/
81-
public ObjectBinding bindToProperty(
82-
BoundComponent component,
83-
String property,
84-
String boundProperty) {
85-
ObjectBinding binding = factory
86-
.bindToProperty(component, property, boundProperty);
87-
return initBinding(binding, delegate);
88-
}
89-
9076
public ObjectBinding bindToStateChange(AbstractButton button, String property) {
9177
ObjectBinding binding = factory.bindToStateChange(button, property);
9278
return initBinding(binding, delegate);

modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/BindingFactory.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,6 @@ public ObjectBinding bindToTable(
5757
return prepareBinding(binding);
5858
}
5959

60-
public ObjectBinding bindToProperty(
61-
BoundComponent component,
62-
String property,
63-
String boundProperty) {
64-
PropertyBinding binding = new PropertyBinding(component, property, boundProperty);
65-
return prepareBinding(binding);
66-
}
67-
6860
/**
6961
* Binds to AbstractButton item state change events. Most common AbstractButton
7062
* subclasses are JButton, JCheckBox, JRadioButton.

modeler/cayenne-modeler/src/main/java/org/apache/cayenne/swing/PropertyBinding.java

Lines changed: 0 additions & 59 deletions
This file was deleted.

0 commit comments

Comments
 (0)