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" />