You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2010/08/24 17:17:52 UTC
svn commit: r988586 [2/3] - in /cayenne/main/trunk:
docs/doc/src/main/resources/ framework/cayenne-modeler/
framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/
framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/
f...
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SelectQueryMainTab.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SelectQueryMainTab.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SelectQueryMainTab.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/SelectQueryMainTab.java Tue Aug 24 15:17:45 2010
@@ -39,8 +39,8 @@ import org.apache.cayenne.exp.Expression
import org.apache.cayenne.exp.parser.ASTPath;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.Entity;
+import org.apache.cayenne.modeler.Application;
import org.apache.cayenne.modeler.ProjectController;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
import org.apache.cayenne.modeler.util.CellRenderers;
import org.apache.cayenne.modeler.util.Comparators;
import org.apache.cayenne.modeler.util.ExpressionConvertor;
@@ -90,7 +90,7 @@ public class SelectQueryMainTab extends
}
};
- queryRoot = CayenneWidgetFactory.createComboBox();
+ queryRoot = Application.getWidgetFactory().createComboBox();
AutoCompletion.enable(queryRoot);
queryRoot.setRenderer(CellRenderers.listRendererWithIcons());
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/AdapterView.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/AdapterView.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/AdapterView.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/AdapterView.java Tue Aug 24 15:17:45 2010
@@ -24,7 +24,7 @@ import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JTextField;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
+import org.apache.cayenne.modeler.util.JTextFieldUndoable;
import com.jgoodies.forms.builder.DefaultFormBuilder;
import com.jgoodies.forms.layout.FormLayout;
@@ -34,7 +34,7 @@ public class AdapterView extends JPanel
protected JTextField customAdapter;
public AdapterView() {
- this.customAdapter = CayenneWidgetFactory.createUndoableTextField();
+ this.customAdapter = new JTextFieldUndoable();
// assemble
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/CustomDataSourceView.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/CustomDataSourceView.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/CustomDataSourceView.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/CustomDataSourceView.java Tue Aug 24 15:17:45 2010
@@ -24,20 +24,18 @@ import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JTextField;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
+import org.apache.cayenne.modeler.util.JTextFieldUndoable;
import com.jgoodies.forms.builder.DefaultFormBuilder;
import com.jgoodies.forms.layout.FormLayout;
-/**
- */
public class CustomDataSourceView extends JPanel {
protected JTextField locationHint;
public CustomDataSourceView() {
- locationHint = CayenneWidgetFactory.createUndoableTextField();
+ locationHint = new JTextFieldUndoable();
// assemble
FormLayout layout = new FormLayout("right:80dlu, 3dlu, fill:200dlu", "");
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/DBCPDataSourceView.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/DBCPDataSourceView.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/DBCPDataSourceView.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/DBCPDataSourceView.java Tue Aug 24 15:17:45 2010
@@ -16,8 +16,6 @@
* specific language governing permissions and limitations
* under the License.
****************************************************************/
-
-
package org.apache.cayenne.modeler.editor.datanode;
import java.awt.BorderLayout;
@@ -25,20 +23,18 @@ import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JTextField;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
+import org.apache.cayenne.modeler.util.JTextFieldUndoable;
import com.jgoodies.forms.builder.DefaultFormBuilder;
import com.jgoodies.forms.layout.FormLayout;
-/**
- */
public class DBCPDataSourceView extends JPanel {
protected JTextField propertiesFile;
public DBCPDataSourceView() {
- propertiesFile = CayenneWidgetFactory.createUndoableTextField();
+ propertiesFile = new JTextFieldUndoable();
// assemble
FormLayout layout = new FormLayout("right:80dlu, 3dlu, fill:200dlu", "");
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/JDBCDataSourceView.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/JDBCDataSourceView.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/JDBCDataSourceView.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/JDBCDataSourceView.java Tue Aug 24 15:17:45 2010
@@ -26,7 +26,7 @@ import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
+import org.apache.cayenne.modeler.util.JTextFieldUndoable;
import com.jgoodies.forms.builder.PanelBuilder;
import com.jgoodies.forms.layout.CellConstraints;
@@ -34,46 +34,35 @@ import com.jgoodies.forms.layout.FormLay
public class JDBCDataSourceView extends JPanel {
- protected JTextField driver;
- protected JTextField url;
- protected JTextField userName;
+ protected JTextField driver;
+ protected JTextField url;
+ protected JTextField userName;
protected JPasswordField password;
- protected JTextField minConnections;
- protected JTextField maxConnections;
- protected JButton syncWithLocal;
-
-
-
-
-
-
+ protected JTextField minConnections;
+ protected JTextField maxConnections;
+ protected JButton syncWithLocal;
public JDBCDataSourceView() {
- driver = CayenneWidgetFactory.createUndoableTextField();
- url = CayenneWidgetFactory.createUndoableTextField();
- userName = CayenneWidgetFactory.createUndoableTextField();
- password = new JPasswordField();
- minConnections = CayenneWidgetFactory.createUndoableTextField(6);
- maxConnections = CayenneWidgetFactory.createUndoableTextField(6);
- syncWithLocal = new JButton("Sync with Local");
+ driver = new JTextFieldUndoable();
+ url = new JTextFieldUndoable();
+ userName = new JTextFieldUndoable();
+ password = new JPasswordField();
+ minConnections = new JTextFieldUndoable(6);
+ maxConnections = new JTextFieldUndoable(6);
+ syncWithLocal = new JButton("Sync with Local");
syncWithLocal.setToolTipText("Update from local DataSource");
-
-
// assemble
CellConstraints cc = new CellConstraints();
-// FormLayout layout = new FormLayout(
-// "right:80dlu, 3dlu, fill:50dlu, 3dlu, fill:74dlu, 3dlu, fill:70dlu",
-// "p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p");
- FormLayout layout =
- new FormLayout("right:80dlu, 3dlu, fill:50dlu, 3dlu, fill:74dlu, 3dlu, fill:70dlu", // Columns
- "p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p"); // Rows
+ FormLayout layout = new FormLayout(
+ "right:80dlu, 3dlu, fill:50dlu, 3dlu, fill:74dlu, 3dlu, fill:70dlu", // Columns
+ "p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p"); // Rows
PanelBuilder builder = new PanelBuilder(layout);
builder.setDefaultDialogBorder();
-
+
builder.addSeparator("JDBC Configuration", cc.xywh(1, 1, 7, 1));
builder.addLabel("JDBC Driver:", cc.xy(1, 3));
builder.add(driver, cc.xywh(3, 3, 5, 1));
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/JNDIDataSourceView.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/JNDIDataSourceView.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/JNDIDataSourceView.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/JNDIDataSourceView.java Tue Aug 24 15:17:45 2010
@@ -24,20 +24,18 @@ import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JTextField;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
+import org.apache.cayenne.modeler.util.JTextFieldUndoable;
import com.jgoodies.forms.builder.DefaultFormBuilder;
import com.jgoodies.forms.layout.FormLayout;
-/**
- */
public class JNDIDataSourceView extends JPanel {
protected JTextField jndiPath;
public JNDIDataSourceView() {
- jndiPath = CayenneWidgetFactory.createUndoableTextField();
+ jndiPath = new JTextFieldUndoable();
// assemble
FormLayout layout = new FormLayout("right:80dlu, 3dlu, fill:200dlu", "");
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/MainDataNodeView.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/MainDataNodeView.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/MainDataNodeView.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/MainDataNodeView.java Tue Aug 24 15:17:45 2010
@@ -29,8 +29,9 @@ import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
+import org.apache.cayenne.modeler.Application;
import org.apache.cayenne.modeler.ProjectController;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
+import org.apache.cayenne.modeler.util.JTextFieldUndoable;
import com.jgoodies.forms.builder.DefaultFormBuilder;
import com.jgoodies.forms.layout.FormLayout;
@@ -52,13 +53,13 @@ public class MainDataNodeView extends JP
public MainDataNodeView(final ProjectController projectController) {
// create widgets
- this.dataNodeName = CayenneWidgetFactory.createUndoableTextField();
+ this.dataNodeName = new JTextFieldUndoable();
- this.factories = CayenneWidgetFactory.createUndoableComboBox();
+ this.factories = Application.getWidgetFactory().createUndoableComboBox();
- this.localDataSources = CayenneWidgetFactory.createUndoableComboBox();
+ this.localDataSources = Application.getWidgetFactory().createUndoableComboBox();
- this.schemaUpdateStrategy = CayenneWidgetFactory.createUndoableComboBox();
+ this.schemaUpdateStrategy = Application.getWidgetFactory().createUndoableComboBox();
this.dataSourceDetailLayout = new CardLayout();
this.dataSourceDetail = new JPanel(dataSourceDetailLayout);
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/PasswordEncoderView.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/PasswordEncoderView.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/PasswordEncoderView.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/datanode/PasswordEncoderView.java Tue Aug 24 15:17:45 2010
@@ -33,98 +33,105 @@ import javax.swing.JTextField;
import org.apache.cayenne.configuration.PasswordEncoding;
import org.apache.cayenne.conn.DataSourceInfo;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
+import org.apache.cayenne.modeler.Application;
+import org.apache.cayenne.modeler.util.JTextFieldUndoable;
import com.jgoodies.forms.builder.PanelBuilder;
import com.jgoodies.forms.layout.CellConstraints;
import com.jgoodies.forms.layout.FormLayout;
+public class PasswordEncoderView extends JPanel {
-public class PasswordEncoderView extends JPanel{
-
- protected JComboBox passwordEncoder;
- protected JComboBox passwordLocation;
- protected JTextField passwordKey;
- protected JTextField passwordSource;
- protected JLabel passwordSourceLabel;
-
- private static final String PASSWORD_CLASSPATH = "Classpath Search (File System)";
+ protected JComboBox passwordEncoder;
+ protected JComboBox passwordLocation;
+ protected JTextField passwordKey;
+ protected JTextField passwordSource;
+ protected JLabel passwordSourceLabel;
+
+ private static final String PASSWORD_CLASSPATH = "Classpath Search (File System)";
private static final String PASSWORD_EXECUTABLE = "Executable Program";
- private static final String PASSWORD_MODEL = "Cayenne Model";
- private static final String PASSWORD_URL = "URL (file:, http:, etc)";
-
+ private static final String PASSWORD_MODEL = "Cayenne Model";
+ private static final String PASSWORD_URL = "URL (file:, http:, etc)";
+
private static final Object[] PASSWORD_LOCATIONS = new Object[] {
- DataSourceInfo.PASSWORD_LOCATION_MODEL,
- DataSourceInfo.PASSWORD_LOCATION_CLASSPATH,
- DataSourceInfo.PASSWORD_LOCATION_EXECUTABLE,
- DataSourceInfo.PASSWORD_LOCATION_URL };
-
+ DataSourceInfo.PASSWORD_LOCATION_MODEL,
+ DataSourceInfo.PASSWORD_LOCATION_CLASSPATH,
+ DataSourceInfo.PASSWORD_LOCATION_EXECUTABLE,
+ DataSourceInfo.PASSWORD_LOCATION_URL
+ };
+
private static final Map<String, String> passwordSourceLabels = new TreeMap<String, String>();
- static
- {
- passwordSourceLabels.put(DataSourceInfo.PASSWORD_LOCATION_MODEL, PASSWORD_MODEL);
- passwordSourceLabels.put(DataSourceInfo.PASSWORD_LOCATION_CLASSPATH, PASSWORD_CLASSPATH);
- passwordSourceLabels.put(DataSourceInfo.PASSWORD_LOCATION_EXECUTABLE, PASSWORD_EXECUTABLE);
- passwordSourceLabels.put(DataSourceInfo.PASSWORD_LOCATION_URL, PASSWORD_URL);
- }
-
- final class PasswordLocationRenderer extends DefaultListCellRenderer
- {
- public Component getListCellRendererComponent(JList list,
- Object object,
- int arg2,
- boolean arg3,
- boolean arg4)
- {
- if (object != null)
- object = passwordSourceLabels.get(object);
- else
- object = PASSWORD_MODEL;
-
- return super.getListCellRendererComponent(list, object, arg2, arg3, arg4);
- }
- }
-
- public PasswordEncoderView(){
-
- this.passwordEncoder = CayenneWidgetFactory.createUndoableComboBox();
- this.passwordLocation = CayenneWidgetFactory.createUndoableComboBox();
- this.passwordSource = CayenneWidgetFactory.createUndoableTextField();
- this.passwordKey = CayenneWidgetFactory.createUndoableTextField();
-
-
-
- // init combo box choices
- passwordEncoder.setModel(new DefaultComboBoxModel(PasswordEncoding.standardEncoders));
+ static {
+ passwordSourceLabels.put(DataSourceInfo.PASSWORD_LOCATION_MODEL, PASSWORD_MODEL);
+ passwordSourceLabels.put(
+ DataSourceInfo.PASSWORD_LOCATION_CLASSPATH,
+ PASSWORD_CLASSPATH);
+ passwordSourceLabels.put(
+ DataSourceInfo.PASSWORD_LOCATION_EXECUTABLE,
+ PASSWORD_EXECUTABLE);
+ passwordSourceLabels.put(DataSourceInfo.PASSWORD_LOCATION_URL, PASSWORD_URL);
+ }
+
+ final class PasswordLocationRenderer extends DefaultListCellRenderer {
+
+ public Component getListCellRendererComponent(
+ JList list,
+ Object object,
+ int arg2,
+ boolean arg3,
+ boolean arg4) {
+ if (object != null)
+ object = passwordSourceLabels.get(object);
+ else
+ object = PASSWORD_MODEL;
+
+ return super.getListCellRendererComponent(list, object, arg2, arg3, arg4);
+ }
+ }
+
+ public PasswordEncoderView() {
+
+ this.passwordEncoder = Application.getWidgetFactory().createUndoableComboBox();
+ this.passwordLocation = Application.getWidgetFactory().createUndoableComboBox();
+ this.passwordSource = new JTextFieldUndoable();
+ this.passwordKey = new JTextFieldUndoable();
+
+ // init combo box choices
+ passwordEncoder.setModel(new DefaultComboBoxModel(
+ PasswordEncoding.standardEncoders));
passwordEncoder.setEditable(true);
- passwordLocation = CayenneWidgetFactory.createUndoableComboBox();
+ passwordLocation = Application.getWidgetFactory().createUndoableComboBox();
passwordLocation.setRenderer(new PasswordLocationRenderer());
- DefaultComboBoxModel passwordLocationModel = new DefaultComboBoxModel(PASSWORD_LOCATIONS);
+ DefaultComboBoxModel passwordLocationModel = new DefaultComboBoxModel(
+ PASSWORD_LOCATIONS);
passwordLocation.setModel(passwordLocationModel);
-
CellConstraints cc = new CellConstraints();
- FormLayout layout =
- new FormLayout("right:80dlu, 3dlu, fill:50dlu, 3dlu, fill:74dlu, 3dlu, fill:70dlu", // Columns
- "p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p"); // Rows
-
+ FormLayout layout = new FormLayout(
+ "right:80dlu, 3dlu, fill:50dlu, 3dlu, fill:74dlu, 3dlu, fill:70dlu", // Columns
+ "p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p, 3dlu, p"); // Rows
+
PanelBuilder builder = new PanelBuilder(layout);
builder.setDefaultDialogBorder();
-
+
builder.addSeparator("Encoder", cc.xywh(1, 1, 7, 1));
-
+
builder.addLabel("Password Encoder:", cc.xy(1, 11));
builder.add(passwordEncoder, cc.xywh(3, 11, 5, 1));
builder.addLabel("Password Encoder Key:", cc.xy(1, 13));
builder.add(passwordKey, cc.xywh(3, 13, 5, 1));
- builder.addLabel("Note: Cayenne supplied encoders do not use a key.", cc.xywh(3, 15, 5, 1));
+ builder.addLabel("Note: Cayenne supplied encoders do not use a key.", cc.xywh(
+ 3,
+ 15,
+ 5,
+ 1));
builder.addLabel("Password Location:", cc.xy(1, 17));
builder.add(passwordLocation, cc.xywh(3, 17, 5, 1));
@@ -132,50 +139,44 @@ public class PasswordEncoderView extends
passwordSourceLabel = builder.addLabel("Password Source:", cc.xy(1, 19));
builder.add(passwordSource, cc.xywh(3, 19, 5, 1));
-
this.setLayout(new BorderLayout());
this.add(builder.getPanel(), BorderLayout.CENTER);
}
-
+
/**
* @return the passwordEncoder
*/
- public JComboBox getPasswordEncoder()
- {
- return passwordEncoder;
+ public JComboBox getPasswordEncoder() {
+ return passwordEncoder;
}
/**
* @return the passwordLocation
*/
- public JComboBox getPasswordLocation()
- {
- return passwordLocation;
+ public JComboBox getPasswordLocation() {
+ return passwordLocation;
}
/**
* @return the passwordKey
*/
- public JTextField getPasswordKey()
- {
- return passwordKey;
+ public JTextField getPasswordKey() {
+ return passwordKey;
}
/**
* @return the passwordSource
*/
- public JTextField getPasswordSource()
- {
- return passwordSource;
+ public JTextField getPasswordSource() {
+ return passwordSource;
}
/**
* @return the passwordLocationLabel
*/
- public JLabel getPasswordSourceLabel()
- {
- return passwordSourceLabel;
+ public JLabel getPasswordSourceLabel() {
+ return passwordSourceLabel;
}
}
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityAttributeTab.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityAttributeTab.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityAttributeTab.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityAttributeTab.java Tue Aug 24 15:17:45 2010
@@ -54,7 +54,7 @@ import org.apache.cayenne.modeler.event.
import org.apache.cayenne.modeler.event.TablePopupHandler;
import org.apache.cayenne.modeler.pref.TableColumnPreferences;
import org.apache.cayenne.modeler.util.CayenneTable;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
+import org.apache.cayenne.modeler.util.WidgetFactory;
import org.apache.cayenne.modeler.util.ModelerUtil;
import org.apache.cayenne.modeler.util.PanelFactory;
import org.apache.cayenne.modeler.util.UIUtil;
@@ -86,18 +86,36 @@ public class DbEntityAttributeTab extend
JToolBar toolBar = new JToolBar();
Application app = Application.getInstance();
- toolBar.add(app.getActionManager().getAction(CreateObjEntityAction.class).buildButton());
- toolBar.add(app.getActionManager().getAction(CreateAttributeAction.class).buildButton());
- toolBar.add(app.getActionManager().getAction(DbEntitySyncAction.class).buildButton());
+ toolBar.add(app
+ .getActionManager()
+ .getAction(CreateObjEntityAction.class)
+ .buildButton());
+ toolBar.add(app
+ .getActionManager()
+ .getAction(CreateAttributeAction.class)
+ .buildButton());
+ toolBar.add(app
+ .getActionManager()
+ .getAction(DbEntitySyncAction.class)
+ .buildButton());
toolBar.addSeparator();
toolBar.addSeparator();
- toolBar.add(app.getActionManager().getAction(RemoveAttributeAction.class).buildButton());
+ toolBar.add(app
+ .getActionManager()
+ .getAction(RemoveAttributeAction.class)
+ .buildButton());
toolBar.addSeparator();
- toolBar.add(app.getActionManager().getAction(CutAttributeAction.class).buildButton());
- toolBar.add(app.getActionManager().getAction(CopyAttributeAction.class).buildButton());
+ toolBar.add(app
+ .getActionManager()
+ .getAction(CutAttributeAction.class)
+ .buildButton());
+ toolBar.add(app
+ .getActionManager()
+ .getAction(CopyAttributeAction.class)
+ .buildButton());
toolBar.add(app.getActionManager().getAction(PasteAction.class).buildButton());
add(toolBar, BorderLayout.NORTH);
@@ -113,11 +131,18 @@ public class DbEntityAttributeTab extend
* Create and install a popup
*/
JPopupMenu popup = new JPopupMenu();
- popup.add(app.getActionManager().getAction(RemoveAttributeAction.class).buildMenu());
+ popup.add(app
+ .getActionManager()
+ .getAction(RemoveAttributeAction.class)
+ .buildMenu());
popup.addSeparator();
popup.add(app.getActionManager().getAction(CutAttributeAction.class).buildMenu());
- popup.add(app.getActionManager().getAction(CopyAttributeAction.class).buildMenu());
+ popup
+ .add(app
+ .getActionManager()
+ .getAction(CopyAttributeAction.class)
+ .buildMenu());
popup.add(app.getActionManager().getAction(PasteAction.class).buildMenu());
TablePopupHandler.install(table, popup);
@@ -225,14 +250,14 @@ public class DbEntityAttributeTab extend
TableColumn col = table.getColumnModel().getColumn(model.typeColumnInd());
String[] types = TypesMapping.getDatabaseTypes();
- JComboBox comboBox = CayenneWidgetFactory.createComboBox(types, true);
+ JComboBox comboBox = Application.getWidgetFactory().createComboBox(types, true);
// Types.NULL makes no sense as a column type
comboBox.removeItem("NULL");
AutoCompletion.enable(comboBox);
- col.setCellEditor(CayenneWidgetFactory.createCellEditor(comboBox));
+ col.setCellEditor(Application.getWidgetFactory().createCellEditor(comboBox));
table.getSelectionModel().addListSelectionListener(this);
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityRelationshipTab.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityRelationshipTab.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityRelationshipTab.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/editor/dbentity/DbEntityRelationshipTab.java Tue Aug 24 15:17:45 2010
@@ -68,7 +68,6 @@ import org.apache.cayenne.modeler.event.
import org.apache.cayenne.modeler.event.TablePopupHandler;
import org.apache.cayenne.modeler.pref.TableColumnPreferences;
import org.apache.cayenne.modeler.util.CayenneTable;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
import org.apache.cayenne.modeler.util.CellRenderers;
import org.apache.cayenne.modeler.util.ModelerUtil;
import org.apache.cayenne.modeler.util.PanelFactory;
@@ -306,13 +305,13 @@ public class DbEntityRelationshipTab ext
TableColumn col = table.getColumnModel().getColumn(
DbRelationshipTableModel.TARGET);
- targetCombo = CayenneWidgetFactory.createComboBox();
+ targetCombo = Application.getWidgetFactory().createComboBox();
AutoCompletion.enable(targetCombo);
targetCombo.setRenderer(CellRenderers.entityListRendererWithIcons(entity
.getDataMap()));
targetCombo.setModel(createComboModel(entity));
- col.setCellEditor(CayenneWidgetFactory.createCellEditor(targetCombo));
+ col.setCellEditor(Application.getWidgetFactory().createCellEditor(targetCombo));
table.getSelectionModel().addListSelectionListener(this);
tablePreferences.bind(
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/graph/DataDomainGraphTab.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/graph/DataDomainGraphTab.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/graph/DataDomainGraphTab.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/graph/DataDomainGraphTab.java Tue Aug 24 15:17:45 2010
@@ -43,99 +43,100 @@ import org.apache.cayenne.modeler.graph.
import org.apache.cayenne.modeler.graph.action.SaveAsImageAction;
import org.apache.cayenne.modeler.graph.action.ZoomInAction;
import org.apache.cayenne.modeler.graph.action.ZoomOutAction;
-import org.apache.cayenne.modeler.util.CayenneWidgetFactory;
import org.jgraph.JGraph;
/**
* Tab for editing graphical representation of a dataDomain
*/
-public class DataDomainGraphTab extends JPanel implements DomainDisplayListener, ItemListener {
+public class DataDomainGraphTab extends JPanel implements DomainDisplayListener,
+ ItemListener {
+
/**
* mediator instance
*/
ProjectController mediator;
-
+
/**
* Diagram selection combo
*/
JComboBox diagramCombo;
-
+
/**
* Scrollpane that the graph will be added to
*/
JScrollPane scrollPane;
-
+
/**
* Current graph
*/
JGraph graph;
-
+
/**
* Current domain
*/
DataChannelDescriptor domain;
-
+
/**
* True to invoke rebuild next time component becomes visible
*/
boolean needRebuild;
-
+
GraphRegistry graphRegistry;
-
+
public DataDomainGraphTab(ProjectController mediator) {
this.mediator = mediator;
initView();
}
-
-
+
private void initView() {
graphRegistry = new GraphRegistry();
needRebuild = true;
mediator.addDomainDisplayListener(this);
-
+
setLayout(new BorderLayout());
JToolBar toolbar = new JToolBar();
toolbar.setLayout(new FlowLayout(FlowLayout.LEFT, 1, 1));
-
+
GraphType[] types = GraphType.values();
String[] names = new String[types.length];
for (int i = 0; i < types.length; i++) {
names[i] = types[i].getName();
}
-
- diagramCombo = CayenneWidgetFactory.createComboBox(
- names,
- false);
+
+ diagramCombo = Application.getWidgetFactory().createComboBox(names, false);
diagramCombo.addItemListener(this);
-
- toolbar.add(new RebuildGraphAction(this, Application.getInstance()).buildButton());
+
+ toolbar
+ .add(new RebuildGraphAction(this, Application.getInstance())
+ .buildButton());
toolbar.add(new SaveAsImageAction(this, Application.getInstance()).buildButton());
toolbar.addSeparator();
toolbar.add(new ZoomInAction(this, Application.getInstance()).buildButton());
toolbar.add(new ZoomOutAction(this, Application.getInstance()).buildButton());
-
+
toolbar.addSeparator();
toolbar.add(new JLabel("Diagram: "));
toolbar.add(diagramCombo);
add(toolbar, BorderLayout.NORTH);
-
+
scrollPane = new JScrollPane();
add(scrollPane);
}
public void currentDomainChanged(DomainDisplayEvent e) {
if (e instanceof EntityDisplayEvent) {
- //selecting an event
-
- //choose type of diagram
+ // selecting an event
+
+ // choose type of diagram
Entity entity = ((EntityDisplayEvent) e).getEntity();
diagramCombo.setSelectedIndex(entity instanceof ObjEntity ? 1 : 0);
refresh();
-
- GraphBuilder builder = getGraphRegistry().getGraphMap(domain).get(getSelectedType());
-
+
+ GraphBuilder builder = getGraphRegistry().getGraphMap(domain).get(
+ getSelectedType());
+
Object cell = builder.getEntityCell(entity.getName());
-
+
if (cell != null) {
graph.setSelectionCell(cell);
graph.scrollCellToVisible(cell);
@@ -144,43 +145,43 @@ public class DataDomainGraphTab extends
else if (domain != e.getDomain()) {
needRebuild = true;
domain = e.getDomain();
-
+
if (isVisible()) {
refresh();
}
}
}
-
+
/**
- * Rebuilds graph from a domain, if it is not yet built
- * Otherwise, takes it from cache
+ * Rebuilds graph from a domain, if it is not yet built Otherwise, takes it from cache
*/
public synchronized void refresh() {
if (needRebuild && domain != null) {
- graph = getGraphRegistry().loadGraph(mediator, domain,
- getSelectedType());
+ graph = getGraphRegistry().loadGraph(mediator, domain, getSelectedType());
scrollPane.setViewportView(graph);
-
+
needRebuild = false;
}
}
-
+
private GraphType getSelectedType() {
return GraphType.values()[diagramCombo.getSelectedIndex()];
}
-
+
/**
* Rebuilds graph, deleting existing if needed
*/
public synchronized void rebuild() {
if (domain != null) {
- JOptionPane pane = new JOptionPane("Rebuilding graph from domain will cause all user" +
- " changes to be lost. Continue?",
- JOptionPane.QUESTION_MESSAGE, JOptionPane.YES_NO_OPTION);
+ JOptionPane pane = new JOptionPane(
+ "Rebuilding graph from domain will cause all user"
+ + " changes to be lost. Continue?",
+ JOptionPane.QUESTION_MESSAGE,
+ JOptionPane.YES_NO_OPTION);
JDialog dialog = pane.createDialog(Application.getFrame(), "Confirm Rebuild");
dialog.setVisible(true);
-
+
if (pane.getValue().equals(JOptionPane.YES_OPTION)) {
graphRegistry.getGraphMap(domain).remove(getSelectedType());
itemStateChanged(null);
@@ -192,14 +193,14 @@ public class DataDomainGraphTab extends
needRebuild = true;
refresh();
}
-
+
public JGraph getGraph() {
return graph;
}
-
+
GraphRegistry getGraphRegistry() {
-
- if(graphRegistry == null) {
+
+ if (graphRegistry == null) {
this.graphRegistry = new GraphRegistry();
}
return graphRegistry;
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/init/CayenneModelerModule.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/init/CayenneModelerModule.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/init/CayenneModelerModule.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/init/CayenneModelerModule.java Tue Aug 24 15:17:45 2010
@@ -25,6 +25,8 @@ import org.apache.cayenne.modeler.action
import org.apache.cayenne.modeler.action.DefaultActionManager;
import org.apache.cayenne.modeler.init.platform.GenericPlatformInitializer;
import org.apache.cayenne.modeler.init.platform.PlatformInitializer;
+import org.apache.cayenne.modeler.util.DefaultWidgetFactory;
+import org.apache.cayenne.modeler.util.WidgetFactory;
/**
* A DI module for bootstrapping CayenneModeler services.
@@ -36,5 +38,6 @@ public class CayenneModelerModule implem
binder.bind(ActionManager.class).to(DefaultActionManager.class);
binder.bind(Application.class).to(Application.class);
binder.bind(PlatformInitializer.class).to(GenericPlatformInitializer.class);
+ binder.bind(WidgetFactory.class).to(DefaultWidgetFactory.class);
}
}
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/BrowserControl.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/BrowserControl.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/BrowserControl.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/BrowserControl.java Tue Aug 24 15:17:45 2010
@@ -23,20 +23,12 @@ import java.lang.reflect.Method;
/**
* Opens a URL in the system default browser.
- *
*/
public class BrowserControl {
- // The default system browser under windows.
private static final String WIN_PATH = "rundll32";
- // The flag to display a url.
private static final String WIN_FLAG = "url.dll,FileProtocolHandler";
- // The default browser under unix.
- // private static final String UNIX_PATH = "netscape";
- // The flag to display a url.
- // private static final String UNIX_FLAG = "-remote openURL";
-
/**
* Display a file in the system browser. If you want to display a file, you must
* include the absolute path name.
@@ -63,8 +55,12 @@ public class BrowserControl {
"netscape"
};
for (String browser : browsers) {
- if (Runtime.getRuntime().exec(new String[] {"which", browser}).waitFor() == 0) {
- Runtime.getRuntime().exec(new String[] {browser, url});
+ if (Runtime.getRuntime().exec(new String[] {
+ "which", browser
+ }).waitFor() == 0) {
+ Runtime.getRuntime().exec(new String[] {
+ browser, url
+ });
break;
}
}
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneTable.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneTable.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneTable.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/CayenneTable.java Tue Aug 24 15:17:45 2010
@@ -34,6 +34,7 @@ import javax.swing.table.TableColumnMode
import javax.swing.table.TableModel;
import javax.swing.text.JTextComponent;
+import org.apache.cayenne.modeler.Application;
import org.apache.cayenne.modeler.pref.TableColumnPreferences;
/**
@@ -42,16 +43,16 @@ import org.apache.cayenne.modeler.pref.T
*
*/
public class CayenneTable extends JTable {
-
+
private SortButtonRenderer renderer = new SortButtonRenderer();
protected TableHeaderSortingListener tableHeaderListener;
-
+
public CayenneTable() {
super();
this.setRowHeight(25);
this.setRowMargin(3);
JTableHeader header = getTableHeader();
- tableHeaderListener = new TableHeaderSortingListener(header,renderer);
+ tableHeaderListener = new TableHeaderSortingListener(header, renderer);
header.addMouseListener(tableHeaderListener);
setSelectionModel(new CayenneListSelectionModel());
}
@@ -75,8 +76,10 @@ public class CayenneTable extends JTable
protected void createDefaultEditors() {
super.createDefaultEditors();
- JTextField textField = CayenneWidgetFactory.createTextField(0);
- final DefaultCellEditor textEditor = CayenneWidgetFactory.createCellEditor(textField);
+ JTextField textField = new JTextField(20);
+ final DefaultCellEditor textEditor = Application
+ .getWidgetFactory()
+ .createCellEditor(textField);
textEditor.setClickCountToStart(1);
setDefaultEditor(Object.class, textEditor);
@@ -119,10 +122,9 @@ public class CayenneTable extends JTable
getSelectionModel().setSelectionInterval(index, index);
}
}
-
+
/**
- * Selects multiple rows at once. Fires not more than only one
- * ListSelectionEvent
+ * Selects multiple rows at once. Fires not more than only one ListSelectionEvent
*/
public void select(int[] rows) {
((CayenneListSelectionModel) getSelectionModel()).setSelection(rows);
@@ -150,14 +152,15 @@ public class CayenneTable extends JTable
cancelEditing();
super.tableChanged(e);
}
-
+
/**
- * ListSelectionModel for Cayenne table. Has a method to set multiple
- * rows selection at once.
+ * ListSelectionModel for Cayenne table. Has a method to set multiple rows selection
+ * at once.
*/
class CayenneListSelectionModel extends DefaultListSelectionModel {
+
boolean fireForbidden = false;
-
+
/**
* Selects selection on multiple rows at once. Fires no more than one
* ListSelectionEvent
@@ -173,7 +176,7 @@ public class CayenneTable extends JTable
break;
}
}
-
+
if (!selectionChanged) {
for (int i = getMinSelectionIndex(); i < getMaxSelectionIndex(); i++) {
if (isSelectedIndex(i)) {
@@ -184,33 +187,33 @@ public class CayenneTable extends JTable
break;
}
}
-
- if(!inNewSelection) {
+
+ if (!inNewSelection) {
selectionChanged = true;
break;
}
}
}
}
-
+
if (!selectionChanged) {
return;
}
-
+
fireForbidden = true;
-
+
clearSelection();
for (int row : rows) {
if (row >= 0 && row < getRowCount()) {
addRowSelectionInterval(row, row);
}
}
-
+
fireForbidden = false;
-
+
fireValueChanged(getValueIsAdjusting());
}
-
+
@Override
protected void fireValueChanged(int firstIndex, int lastIndex, boolean isAdjusting) {
if (!fireForbidden) {
@@ -220,7 +223,10 @@ public class CayenneTable extends JTable
}
public void sort(int column, boolean isAscend) {
- tableHeaderListener.sortByDefinedColumn(convertColumnIndexToView(column), column, isAscend);
+ tableHeaderListener.sortByDefinedColumn(
+ convertColumnIndexToView(column),
+ column,
+ isAscend);
}
public void setSortPreferenceSaver(TableColumnPreferences tableColumnPreferences) {
Added: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DefaultWidgetFactory.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DefaultWidgetFactory.java?rev=988586&view=auto
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DefaultWidgetFactory.java (added)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/DefaultWidgetFactory.java Tue Aug 24 15:17:45 2010
@@ -0,0 +1,113 @@
+/*****************************************************************
+ * 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.util;
+
+import java.awt.Color;
+import java.util.Arrays;
+import java.util.Collection;
+
+import javax.swing.DefaultCellEditor;
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.JComboBox;
+import javax.swing.JTextField;
+import javax.swing.table.TableCellEditor;
+
+import org.apache.cayenne.modeler.ModelerPreferences;
+import org.apache.cayenne.modeler.undo.JComboBoxUndoListener;
+import org.apache.cayenne.modeler.util.combo.AutoCompletion;
+import org.apache.cayenne.modeler.util.combo.ComboBoxCellEditor;
+import org.syntax.jedit.JEditTextArea;
+
+public class DefaultWidgetFactory implements WidgetFactory {
+
+ /**
+ * Creates a new JComboBox with a collection of model objects.
+ */
+ public JComboBox createComboBox(Collection<String> model, boolean sort) {
+ return createComboBox(model.toArray(), sort);
+ }
+
+ /**
+ * Creates a new JComboBox with an array of model objects.
+ */
+ public JComboBox createComboBox(Object[] model, boolean sort) {
+ JComboBox comboBox = createComboBox();
+
+ if (sort) {
+ Arrays.sort(model);
+ }
+
+ comboBox.setModel(new DefaultComboBoxModel(model));
+ return comboBox;
+ }
+
+ /**
+ * Creates a new JComboBox.
+ */
+ public JComboBox createComboBox() {
+ JComboBox comboBox = new JComboBox();
+ comboBox.setBackground(Color.WHITE);
+ comboBox.setMaximumRowCount(ModelerPreferences.COMBOBOX_MAX_VISIBLE_SIZE);
+ return comboBox;
+ }
+
+ /**
+ * Creates undoable JComboBox.
+ *
+ */
+ public JComboBox createUndoableComboBox() {
+ JComboBox comboBox = new JComboBox();
+ comboBox.addItemListener(new JComboBoxUndoListener());
+ comboBox.setBackground(Color.WHITE);
+ comboBox.setMaximumRowCount(ModelerPreferences.COMBOBOX_MAX_VISIBLE_SIZE);
+ return comboBox;
+ }
+
+ /**
+ * Creates cell editor for text field
+ */
+ public DefaultCellEditor createCellEditor(JTextField textField) {
+ return new CayenneCellEditor(textField);
+ }
+
+ /**
+ * Creates cell editor for a table with combo as editor component. Type of this editor
+ * depends on auto-completion behavior of JComboBox
+ *
+ * @param combo JComboBox to be used as editor component
+ */
+ public TableCellEditor createCellEditor(JComboBox combo) {
+ if (Boolean.TRUE.equals(combo
+ .getClientProperty(AutoCompletion.AUTOCOMPLETION_PROPERTY))) {
+ return new ComboBoxCellEditor(combo);
+ }
+
+ DefaultCellEditor editor = new DefaultCellEditor(combo);
+ editor.setClickCountToStart(1);
+
+ return editor;
+ }
+
+ /**
+ * Creates and returns a JEdit text component with syntax highlighing
+ */
+ public JEditTextArea createJEditTextArea() {
+ return new JEditTextAreaUndoable();
+ }
+}
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JTextFieldUndoable.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JTextFieldUndoable.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JTextFieldUndoable.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JTextFieldUndoable.java Tue Aug 24 15:17:45 2010
@@ -23,17 +23,17 @@ import javax.swing.event.UndoableEditLis
import org.apache.cayenne.modeler.undo.JTextFieldUndoListener;
-class JTextFieldUndoable extends JTextField {
+public class JTextFieldUndoable extends JTextField {
private UndoableEditListener undoListener;
- JTextFieldUndoable() {
+ public JTextFieldUndoable() {
super();
this.undoListener = new JTextFieldUndoListener(this);
this.getDocument().addUndoableEditListener(this.undoListener);
}
- JTextFieldUndoable(int size) {
+ public JTextFieldUndoable(int size) {
super(size);
this.undoListener = new JTextFieldUndoListener(this);
this.getDocument().addUndoableEditListener(this.undoListener);
Copied: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JUndoableCayenneTextPane.java (from r988538, cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JCayenneTextPaneUndoable.java)
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JUndoableCayenneTextPane.java?p2=cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JUndoableCayenneTextPane.java&p1=cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JCayenneTextPaneUndoable.java&r1=988538&r2=988586&rev=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JCayenneTextPaneUndoable.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/JUndoableCayenneTextPane.java Tue Aug 24 15:17:45 2010
@@ -24,11 +24,11 @@ import org.apache.cayenne.modeler.undo.J
import org.apache.cayenne.swing.components.textpane.JCayenneTextPane;
import org.apache.cayenne.swing.components.textpane.syntax.SyntaxConstant;
-class JCayenneTextPaneUndoable extends JCayenneTextPane {
+public class JUndoableCayenneTextPane extends JCayenneTextPane {
private UndoableEditListener undoListener;
- JCayenneTextPaneUndoable(SyntaxConstant syntaxConstant) {
+ public JUndoableCayenneTextPane(SyntaxConstant syntaxConstant) {
super(syntaxConstant);
this.undoListener = new JTextFieldUndoListener(this.getPane());
Modified: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/OperatingSystem.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/OperatingSystem.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/OperatingSystem.java (original)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/OperatingSystem.java Tue Aug 24 15:17:45 2010
@@ -20,8 +20,6 @@ package org.apache.cayenne.modeler.util;
/**
* An enum that provides high-level information about the host OS.
- *
- * @since 3.0
*/
public enum OperatingSystem {
Added: cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/WidgetFactory.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/WidgetFactory.java?rev=988586&view=auto
==============================================================================
--- cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/WidgetFactory.java (added)
+++ cayenne/main/trunk/framework/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/WidgetFactory.java Tue Aug 24 15:17:45 2010
@@ -0,0 +1,75 @@
+/*****************************************************************
+ * 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.util;
+
+import java.util.Collection;
+
+import javax.swing.DefaultCellEditor;
+import javax.swing.JComboBox;
+import javax.swing.JTextField;
+import javax.swing.table.TableCellEditor;
+
+import org.syntax.jedit.JEditTextArea;
+
+/**
+ * Utility class to create standard Swing widgets following default look-and-feel of
+ * CayenneModeler.
+ */
+public interface WidgetFactory {
+
+ /**
+ * Creates a new JComboBox with a collection of model objects.
+ */
+ JComboBox createComboBox(Collection<String> model, boolean sort);
+
+ /**
+ * Creates a new JComboBox with an array of model objects.
+ */
+ JComboBox createComboBox(Object[] model, boolean sort);
+
+ /**
+ * Creates a new JComboBox.
+ */
+ JComboBox createComboBox();
+
+ /**
+ * Creates undoable JComboBox.
+ */
+ JComboBox createUndoableComboBox();
+
+ /**
+ * Creates cell editor for text field
+ */
+ DefaultCellEditor createCellEditor(JTextField textField);
+
+ /**
+ * Creates cell editor for a table with combo as editor component. Type of this editor
+ * depends on auto-completion behavior of JComboBox
+ *
+ * @param combo JComboBox to be used as editor component
+ */
+ TableCellEditor createCellEditor(JComboBox combo);
+
+ /**
+ * Creates and returns a JEdit text component with syntax highlighing
+ */
+ JEditTextArea createJEditTextArea();
+
+}
Modified: cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project/validation/EmbeddableValidator.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project/validation/EmbeddableValidator.java?rev=988586&r1=988585&r2=988586&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project/validation/EmbeddableValidator.java (original)
+++ cayenne/main/trunk/framework/cayenne-project-unpublished/src/main/java/org/apache/cayenne/project/validation/EmbeddableValidator.java Tue Aug 24 15:17:45 2010
@@ -66,8 +66,10 @@ class EmbeddableValidator extends Config
continue;
}
+ // note that lookuo below will return the same embeddable due to the
+ // shared namespace if not conflicts exist
Embeddable conflictingEmbeddable = nextMap.getEmbeddable(name);
- if (conflictingEmbeddable != null) {
+ if (conflictingEmbeddable != null && conflictingEmbeddable != embeddable) {
addFailure(
validationResult,
embeddable,
Added: cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.classpath
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.classpath?rev=988586&view=auto
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.classpath (added)
+++ cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.classpath Tue Aug 24 15:17:45 2010
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="target/classes" path="src/main/java"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
Added: cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.project
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.project?rev=988586&view=auto
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.project (added)
+++ cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.project Tue Aug 24 15:17:45 2010
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>cayenne-modeler-generic-ext</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.maven.ide.eclipse.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.maven.ide.eclipse.maven2Nature</nature>
+ </natures>
+</projectDescription>
Added: cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.settings/org.eclipse.jdt.core.prefs
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.settings/org.eclipse.jdt.core.prefs?rev=988586&view=auto
==============================================================================
--- cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.settings/org.eclipse.jdt.core.prefs (added)
+++ cayenne/main/trunk/modeler/cayenne-modeler-generic-ext/.settings/org.eclipse.jdt.core.prefs Tue Aug 24 15:17:45 2010
@@ -0,0 +1,253 @@
+#Fri Nov 16 16:54:33 EST 2007
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=48
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=48
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=48
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=48
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines=true
+org.eclipse.jdt.core.formatter.comment.format_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=90
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=90
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=space
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false