You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by mg...@apache.org on 2017/01/05 22:09:10 UTC

[02/50] cayenne-modeler git commit: Added Schema Update Strategy values to DataNode Configuration.

Added Schema Update Strategy values to DataNode Configuration.


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

Branch: refs/heads/master
Commit: 65618c08992486ed2a2a99bde9d176a334788566
Parents: 4ad0775
Author: mrg <bl...@gmail.com>
Authored: Mon Sep 19 07:19:32 2016 -0400
Committer: mrg <bl...@gmail.com>
Committed: Mon Sep 19 07:19:32 2016 -0400

----------------------------------------------------------------------
 .../layout/DataNodeConfigurationTabLayout.java  | 43 ++++++++++++++------
 .../layouts/DataNodeConfigurationTabLayout.fxml |  2 +-
 2 files changed, 32 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne-modeler/blob/65618c08/src/main/java/org/apache/cayenne/modeler/layout/DataNodeConfigurationTabLayout.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/cayenne/modeler/layout/DataNodeConfigurationTabLayout.java b/src/main/java/org/apache/cayenne/modeler/layout/DataNodeConfigurationTabLayout.java
index 3d6410c..05b490e 100644
--- a/src/main/java/org/apache/cayenne/modeler/layout/DataNodeConfigurationTabLayout.java
+++ b/src/main/java/org/apache/cayenne/modeler/layout/DataNodeConfigurationTabLayout.java
@@ -21,6 +21,12 @@ package org.apache.cayenne.modeler.layout;
 
 import java.io.IOException;
 
+import org.apache.cayenne.access.dbsync.CreateIfNoSchemaStrategy;
+import org.apache.cayenne.access.dbsync.SkipSchemaUpdateStrategy;
+import org.apache.cayenne.access.dbsync.ThrowOnPartialOrCreateSchemaStrategy;
+import org.apache.cayenne.access.dbsync.ThrowOnPartialSchemaStrategy;
+import org.apache.cayenne.configuration.server.JNDIDataSourceFactory;
+import org.apache.cayenne.configuration.server.XMLPoolingDataSourceFactory;
 import org.apache.cayenne.modeler.adapters.DataNodeAdapter;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -46,7 +52,7 @@ public class DataNodeConfigurationTabLayout
     private TextField nameTextField;
 
     @FXML
-    private ComboBox<String> dataSourceFactoryComboBox;
+    private ComboBox<String> dataSourceFactoryComboBox, schemaUpdateStrategyComboBox;
 
     @FXML
     private Spinner<Integer> minimumConnectionsSpinner, maximumConnectionsSpinner;
@@ -80,15 +86,28 @@ public class DataNodeConfigurationTabLayout
     private DataNodeAdapter dataNodeAdapter;
 //    private final DataNodeLayout parent;
 
+    private static final String[] standardSchemaUpdateStrategies =
+                    {
+                        SkipSchemaUpdateStrategy.class.getName(),
+                        CreateIfNoSchemaStrategy.class.getName(),
+                        ThrowOnPartialSchemaStrategy.class.getName(),
+                        ThrowOnPartialOrCreateSchemaStrategy.class.getName()
+                    };
+
+    private static final String DBCP_DATA_SOURCE_FACTORY = "org.apache.cayenne.configuration.server.DBCPDataSourceFactory";
+
+    private static final String[] standardDataSourceFactories =
+                    {
+                        XMLPoolingDataSourceFactory.class.getName(),
+                        JNDIDataSourceFactory.class.getName(),
+                        DBCP_DATA_SOURCE_FACTORY
+                    };
+
     public DataNodeConfigurationTabLayout(final DataNodeLayout parentComponent) throws IOException
     {
         super(parentComponent, "/layouts/DataNodeConfigurationTabLayout.fxml");
     }
 
-    private final String dataSourceJdbcConfigurationSetting = "org.apache.cayenne.configuration.server.XMLPoolingDataSourceFactory";
-    private final String dataSourceJndiConfigurationSetting = "org.apache.cayenne.configuration.server.JNDIDataSourceFactory";
-    private final String dataSourceDbcpConfigurationSetting = "org.apache.cayenne.configuration.server.DBCPDataSourceFactory";
-
     @Override
     public void initialize()
     {
@@ -97,16 +116,16 @@ public class DataNodeConfigurationTabLayout
         configureDevelopmentDataSourceButton.setGraphic(GlyphsDude.createIcon(FontAwesomeIcon.COGS, "16px"));
         configureDevelopmentDataSourceButton.setText("");
 
-//        dataSourceFactoryComboBox.getItems().removeAll(dataSourceFactoryComboBox.getItems());
-        dataSourceFactoryComboBox.getItems().add(dataSourceJdbcConfigurationSetting);
-        dataSourceFactoryComboBox.getItems().add(dataSourceJndiConfigurationSetting);
-        dataSourceFactoryComboBox.getItems().add(dataSourceDbcpConfigurationSetting);
+        schemaUpdateStrategyComboBox.getItems().addAll(standardSchemaUpdateStrategies);
+        schemaUpdateStrategyComboBox.getSelectionModel().select(0);
+
+        dataSourceFactoryComboBox.getItems().addAll(standardDataSourceFactories);
 
         dataSourceFactoryComboBox.valueProperty().addListener((obs, oldValue, newValue) ->
             {
-                final boolean jdbc = newValue.equals(dataSourceJdbcConfigurationSetting);
-                final boolean jndi = newValue.equals(dataSourceJndiConfigurationSetting);
-                final boolean dbcp = newValue.equals(dataSourceDbcpConfigurationSetting);
+                final boolean jdbc = newValue.equals(XMLPoolingDataSourceFactory.class.getName());
+                final boolean jndi = newValue.equals(JNDIDataSourceFactory.class.getName());
+                final boolean dbcp = newValue.equals(DBCP_DATA_SOURCE_FACTORY);
 
                 jdbcConfigurationGrid.setVisible(jdbc);
                 jdbcConfigurationGrid.setManaged(jdbc);

http://git-wip-us.apache.org/repos/asf/cayenne-modeler/blob/65618c08/src/main/resources/layouts/DataNodeConfigurationTabLayout.fxml
----------------------------------------------------------------------
diff --git a/src/main/resources/layouts/DataNodeConfigurationTabLayout.fxml b/src/main/resources/layouts/DataNodeConfigurationTabLayout.fxml
index 77717ad..38efa34 100644
--- a/src/main/resources/layouts/DataNodeConfigurationTabLayout.fxml
+++ b/src/main/resources/layouts/DataNodeConfigurationTabLayout.fxml
@@ -33,7 +33,7 @@
                   <Label text="Development DataSource: " GridPane.rowIndex="2" />
                   <Label text="Schema Update Strategy: " GridPane.rowIndex="1" />
                   <ComboBox prefWidth="500.0" promptText="Select Local DataSource (optional)" GridPane.columnIndex="1" GridPane.rowIndex="2" />
-                  <ComboBox editable="true" prefWidth="500.0" promptText="Enter or Choose..." GridPane.columnIndex="1" GridPane.rowIndex="1" />
+                  <ComboBox fx:id="schemaUpdateStrategyComboBox" editable="true" prefWidth="500.0" promptText="Enter or Choose..." GridPane.columnIndex="1" GridPane.rowIndex="1" />
                   <Button fx:id="configureDevelopmentDataSourceButton" mnemonicParsing="false" text="..." GridPane.columnIndex="2" GridPane.rowIndex="2">
                      <GridPane.margin>
                         <Insets left="10.0" />