This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git
The following commit(s) were added to refs/heads/master by this push:
new ab400891f Modeler cleanup
ab400891f is described below
commit ab400891fa7a08c9d2214a432bd57dfcf4149f64
Author: Andrus Adamchik <[email protected]>
AuthorDate: Wed Apr 29 17:17:12 2026 -0400
Modeler cleanup
---
.../cayenne/modeler/pref/DBConnectionInfo.java | 628 ++++++++++-----------
.../modeler/ui/action/ImportEOModelAction.java | 2 +-
.../modeler/ui/action/ModelerAbstractAction.java | 2 +-
.../modeler/ui/action/OpenProjectAction.java | 2 +-
.../cayenne/modeler/ui/action/PasteAction.java | 2 +-
.../cayenne/modeler/ui/action/RemoveAction.java | 2 +-
.../InferRelationshipsController.java | 6 +-
.../autorelationship/InferRelationshipsDialog.java | 2 +-
.../ui/confirmremove/ConfirmRemoveDialog.java | 16 +-
.../ui/datasource/DataSourceController.java | 2 +-
.../ui/dbgen/DBGeneratorOptionsController.java | 2 +-
.../ui/dbmerge/MergerOptionsController.java | 2 +-
.../ui/entitysync/EntitySyncController.java | 4 +-
.../modeler/ui/errors/ErrorsController.java | 8 +-
.../datamap/dbimport/DatabaseSchemaLoader.java | 11 +-
.../dbimport/ReverseEngineeringConfigPanel.java | 4 +-
.../dbimport/action/LoadDbSchemaAction.java | 6 +-
.../dbimport/runner/ModelerDbLoaderContext.java | 2 +-
.../modeler/util/NameGeneratorPreferences.java | 34 +-
19 files changed, 354 insertions(+), 383 deletions(-)
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DBConnectionInfo.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DBConnectionInfo.java
index d08bc1443..e334cd3e9 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DBConnectionInfo.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/pref/DBConnectionInfo.java
@@ -21,9 +21,9 @@ package org.apache.cayenne.modeler.pref;
import org.apache.cayenne.configuration.DataNodeDescriptor;
import org.apache.cayenne.configuration.DataSourceDescriptor;
+import org.apache.cayenne.configuration.runtime.DbAdapterFactory;
import org.apache.cayenne.datasource.DriverDataSource;
import org.apache.cayenne.dba.DbAdapter;
-import org.apache.cayenne.modeler.Application;
import org.apache.cayenne.modeler.service.classloader.ModelerClassLoader;
import org.apache.cayenne.util.Util;
@@ -38,330 +38,304 @@ import java.util.prefs.Preferences;
public class DBConnectionInfo extends CayennePreference {
- private static final String EMPTY_STRING = "";
- public static final String DB_ADAPTER_PROPERTY = "dbAdapter";
- public static final String JDBC_DRIVER_PROPERTY = "jdbcDriver";
- public static final String PASSWORD_PROPERTY = "password";
- public static final String URL_PROPERTY = "url";
- public static final String USER_NAME_PROPERTY = "userName";
- private static final String DB_CONNECTION_INFO = "dbConnectionInfo";
-
- private String nodeName;
-
- private String dbAdapter;
- private String jdbcDriver;
- private String password;
- private String url;
- private String userName;
-
- private boolean allowDataSourceFailure;
-
- public DBConnectionInfo() {
- this.currentPreference =
CayennePreference.getRoot().node(DB_CONNECTION_INFO);
- };
-
- public DBConnectionInfo(final String nameNode, final boolean
initFromPreferences) {
- this();
- setNodeName(nameNode);
- if (initFromPreferences) {
- initObjectPreference();
- }
- };
-
- @Override
- public Preferences getCurrentPreference() {
- if (getNodeName() == null) {
- return super.getCurrentPreference();
- }
- return currentPreference.node(getNodeName());
- }
-
- public void setAllowDataSourceFailure(boolean allowDataSourceFailure) {
- this.allowDataSourceFailure = allowDataSourceFailure;
- }
-
- @Override
- public void saveObjectPreference() {
- if (getCurrentPreference() != null) {
- if (getDbAdapter() != null) {
- getCurrentPreference().put(DB_ADAPTER_PROPERTY,
getDbAdapter());
- }
- if (getUrl() != null) {
- getCurrentPreference().put(URL_PROPERTY,
getUrl());
- }
- if (getUserName() != null) {
- getCurrentPreference().put(USER_NAME_PROPERTY,
getUserName());
- }
- if (getPassword() != null) {
- getCurrentPreference().put(PASSWORD_PROPERTY,
getPassword());
- }
- if (getJdbcDriver() != null) {
-
getCurrentPreference().put(JDBC_DRIVER_PROPERTY, getJdbcDriver());
- }
- }
- }
-
- public void initObjectPreference() {
- if (getCurrentPreference() != null) {
-
setDbAdapter(getCurrentPreference().get(DB_ADAPTER_PROPERTY, null));
- setUrl(getCurrentPreference().get(URL_PROPERTY, null));
-
setUserName(getCurrentPreference().get(USER_NAME_PROPERTY, null));
-
setPassword(getCurrentPreference().get(PASSWORD_PROPERTY, null));
-
setJdbcDriver(getCurrentPreference().get(JDBC_DRIVER_PROPERTY, null));
- setNodeName(getCurrentPreference().name());
- }
- }
-
- public String getNodeName() {
- return nodeName;
- }
-
- public void setNodeName(final String nodeName) {
- this.nodeName = nodeName;
- }
-
- public String getDbAdapter() {
- return dbAdapter;
- }
-
- public void setDbAdapter(final String dbAdapter) {
- this.dbAdapter = dbAdapter;
- }
-
- public String getJdbcDriver() {
- return jdbcDriver;
- }
-
- public void setJdbcDriver(final String jdbcDriver) {
- this.jdbcDriver = jdbcDriver;
- }
-
- public String getPassword() {
- return password == null ? EMPTY_STRING : password;
- }
-
- public void setPassword(final String password) {
- this.password = password;
- }
-
- public String getUrl() {
- return url;
- }
-
- public void setUrl(final String url) {
- this.url = url;
- }
-
- public String getUserName() {
- return userName == null ? EMPTY_STRING : userName;
- }
-
- public void setUserName(final String userName) {
- this.userName = userName;
- }
-
- /**
- * Creates a DbAdapter based on configured values.
- */
- public DbAdapter makeAdapter(final ModelerClassLoader classLoader)
throws Exception {
- DataNodeDescriptor descriptor = new DataNodeDescriptor();
- descriptor.setAdapterType(getDbAdapter());
- DataSource dataSource = makeDataSource(classLoader);
- return
Application.getInstance().getDbAdapterFactory().createAdapter(descriptor,
dataSource);
- }
-
- /**
- * Returns a DataSource that uses connection information from this
object.
- * Returned DataSource is not pooling its connections. It can be
wrapped in
- * PoolManager if pooling is needed.
- */
- public DataSource makeDataSource(final ModelerClassLoader classLoader)
throws SQLException {
-
- // validate...
- if (getJdbcDriver() == null) {
- if(allowDataSourceFailure) {
- return new DeferredDataSource(classLoader);
- }
- throw new SQLException("No JDBC driver set.");
- }
-
- if (getUrl() == null) {
- if(allowDataSourceFailure) {
- return new DeferredDataSource(classLoader);
- }
- throw new SQLException("No DB URL set.");
- }
-
- if (!Util.isBlank(getPassword()) &&
Util.isBlank(getUserName())) {
- throw new SQLException("No username when password is
set.");
- }
-
- // load driver...
- Driver driver = null;
-
- try {
- driver = classLoader.loadClass(Driver.class,
getJdbcDriver()).getDeclaredConstructor().newInstance();
- } catch (Throwable th) {
- throw new SQLException("Driver load error: " +
Util.unwindException(th).getLocalizedMessage());
- }
-
- return new DriverDataSource(driver, getUrl(), getUserName(),
getPassword());
- }
-
- /**
- * Updates another DBConnectionInfo with this object's values.
- */
- public boolean copyTo(final DBConnectionInfo dataSourceInfo) {
- boolean updated = false;
-
- if (!Util.nullSafeEquals(dataSourceInfo.getUrl(), getUrl())) {
- dataSourceInfo.setUrl(getUrl());
- updated = true;
- }
-
- if (!Util.nullSafeEquals(dataSourceInfo.getUserName(),
getUserName())) {
- dataSourceInfo.setUserName(getUserName());
- updated = true;
- }
-
- if (!Util.nullSafeEquals(dataSourceInfo.getPassword(),
getPassword())) {
- dataSourceInfo.setPassword(getPassword());
- updated = true;
- }
-
- if (!Util.nullSafeEquals(dataSourceInfo.getJdbcDriver(),
getJdbcDriver())) {
- dataSourceInfo.setJdbcDriver(getJdbcDriver());
- updated = true;
- }
-
- if (!Util.nullSafeEquals(dataSourceInfo.getDbAdapter(),
getDbAdapter())) {
- dataSourceInfo.setDbAdapter(getDbAdapter());
- updated = true;
- }
-
- return updated;
- }
-
- /**
- * Updates DataSourceInfo with this object's values.
- * <p>
- * <i>Currently doesn't set the adapter property. Need to change the UI
to
- * handle adapter via DataSourceInfo first, and then it should be safe
to do
- * an adapter update here. </i>
- * </p>
- */
- public boolean copyTo(final DataSourceDescriptor dataSourceInfo) {
- boolean updated = false;
-
- if (!Util.nullSafeEquals(dataSourceInfo.getDataSourceUrl(),
getUrl())) {
- dataSourceInfo.setDataSourceUrl(getUrl());
- updated = true;
- }
-
- if (!Util.nullSafeEquals(dataSourceInfo.getUserName(),
getUserName())) {
- dataSourceInfo.setUserName(getUserName());
- updated = true;
- }
-
- if (!Util.nullSafeEquals(dataSourceInfo.getPassword(),
getPassword())) {
- dataSourceInfo.setPassword(getPassword());
- updated = true;
- }
-
- if (!Util.nullSafeEquals(dataSourceInfo.getJdbcDriver(),
getJdbcDriver())) {
- dataSourceInfo.setJdbcDriver(getJdbcDriver());
- updated = true;
- }
-
- return updated;
- }
-
- public boolean copyFrom(final DataSourceDescriptor dataSourceInfo) {
- boolean updated = false;
-
- if (!Util.nullSafeEquals(dataSourceInfo.getDataSourceUrl(),
getUrl())) {
- setUrl(dataSourceInfo.getDataSourceUrl());
- updated = true;
- }
-
- if (!Util.nullSafeEquals(dataSourceInfo.getUserName(),
getUserName())) {
- setUserName(dataSourceInfo.getUserName());
- updated = true;
- }
-
- if (!Util.nullSafeEquals(dataSourceInfo.getPassword(),
getPassword())) {
- setPassword(dataSourceInfo.getPassword());
- updated = true;
- }
-
- if (!Util.nullSafeEquals(dataSourceInfo.getJdbcDriver(),
getJdbcDriver())) {
- setJdbcDriver(dataSourceInfo.getJdbcDriver());
- updated = true;
- }
-
- return updated;
- }
-
- private class DeferredDataSource implements DataSource {
-
- private final ModelerClassLoader classLoader;
-
- public DeferredDataSource(ModelerClassLoader classLoader) {
- this.classLoader = classLoader;
- }
-
- DataSource getDeferredDataSource() throws SQLException {
- allowDataSourceFailure = false;
- return makeDataSource(classLoader);
- }
-
- @Override
- public Connection getConnection() throws SQLException {
- return getDeferredDataSource().getConnection();
- }
-
- @Override
- public Connection getConnection(String username, String
password) throws SQLException {
- return getDeferredDataSource().getConnection(username,
password);
- }
-
- @Override
- public PrintWriter getLogWriter() throws SQLException {
- return getDeferredDataSource().getLogWriter();
- }
-
- @Override
- public void setLogWriter(PrintWriter out) throws SQLException {
- getDeferredDataSource().setLogWriter(out);
- }
-
- @Override
- public void setLoginTimeout(int seconds) throws SQLException {
- getDeferredDataSource().setLoginTimeout(seconds);
- }
-
- @Override
- public int getLoginTimeout() throws SQLException {
- return getDeferredDataSource().getLoginTimeout();
- }
-
- @Override
- public <T> T unwrap(Class<T> iface) throws SQLException {
- return getDeferredDataSource().unwrap(iface);
- }
-
- @Override
- public boolean isWrapperFor(Class<?> iface) throws SQLException
{
- return getDeferredDataSource().isWrapperFor(iface);
- }
-
- @Override
- public Logger getParentLogger() throws
SQLFeatureNotSupportedException {
- try {
- return
getDeferredDataSource().getParentLogger();
- } catch (SQLException e) {
- throw new SQLFeatureNotSupportedException(e);
- }
- }
- }
+ private static final String EMPTY_STRING = "";
+ public static final String DB_ADAPTER_PROPERTY = "dbAdapter";
+ public static final String JDBC_DRIVER_PROPERTY = "jdbcDriver";
+ public static final String PASSWORD_PROPERTY = "password";
+ public static final String URL_PROPERTY = "url";
+ public static final String USER_NAME_PROPERTY = "userName";
+ private static final String DB_CONNECTION_INFO = "dbConnectionInfo";
+
+ private String nodeName;
+
+ private String dbAdapter;
+ private String jdbcDriver;
+ private String password;
+ private String url;
+ private String userName;
+
+ private boolean allowDataSourceFailure;
+
+ public DBConnectionInfo() {
+ this.currentPreference =
CayennePreference.getRoot().node(DB_CONNECTION_INFO);
+ }
+
+ public DBConnectionInfo(String nameNode, boolean initFromPreferences) {
+ this();
+ setNodeName(nameNode);
+ if (initFromPreferences) {
+ initObjectPreference();
+ }
+ }
+
+ @Override
+ public Preferences getCurrentPreference() {
+ if (getNodeName() == null) {
+ return super.getCurrentPreference();
+ }
+ return currentPreference.node(getNodeName());
+ }
+
+ public void setAllowDataSourceFailure(boolean allowDataSourceFailure) {
+ this.allowDataSourceFailure = allowDataSourceFailure;
+ }
+
+ @Override
+ public void saveObjectPreference() {
+ if (getCurrentPreference() != null) {
+ if (getDbAdapter() != null) {
+ getCurrentPreference().put(DB_ADAPTER_PROPERTY,
getDbAdapter());
+ }
+ if (getUrl() != null) {
+ getCurrentPreference().put(URL_PROPERTY, getUrl());
+ }
+ if (getUserName() != null) {
+ getCurrentPreference().put(USER_NAME_PROPERTY, getUserName());
+ }
+ if (getPassword() != null) {
+ getCurrentPreference().put(PASSWORD_PROPERTY, getPassword());
+ }
+ if (getJdbcDriver() != null) {
+ getCurrentPreference().put(JDBC_DRIVER_PROPERTY,
getJdbcDriver());
+ }
+ }
+ }
+
+ public void initObjectPreference() {
+ if (getCurrentPreference() != null) {
+ setDbAdapter(getCurrentPreference().get(DB_ADAPTER_PROPERTY,
null));
+ setUrl(getCurrentPreference().get(URL_PROPERTY, null));
+ setUserName(getCurrentPreference().get(USER_NAME_PROPERTY, null));
+ setPassword(getCurrentPreference().get(PASSWORD_PROPERTY, null));
+ setJdbcDriver(getCurrentPreference().get(JDBC_DRIVER_PROPERTY,
null));
+ setNodeName(getCurrentPreference().name());
+ }
+ }
+
+ public String getNodeName() {
+ return nodeName;
+ }
+
+ public void setNodeName(final String nodeName) {
+ this.nodeName = nodeName;
+ }
+
+ public String getDbAdapter() {
+ return dbAdapter;
+ }
+
+ public void setDbAdapter(final String dbAdapter) {
+ this.dbAdapter = dbAdapter;
+ }
+
+ public String getJdbcDriver() {
+ return jdbcDriver;
+ }
+
+ public void setJdbcDriver(final String jdbcDriver) {
+ this.jdbcDriver = jdbcDriver;
+ }
+
+ public String getPassword() {
+ return password == null ? EMPTY_STRING : password;
+ }
+
+ public void setPassword(final String password) {
+ this.password = password;
+ }
+
+ public String getUrl() {
+ return url;
+ }
+
+ public void setUrl(final String url) {
+ this.url = url;
+ }
+
+ public String getUserName() {
+ return userName == null ? EMPTY_STRING : userName;
+ }
+
+ public void setUserName(final String userName) {
+ this.userName = userName;
+ }
+
+ /**
+ * Creates a DbAdapter based on configured values.
+ */
+ public DbAdapter makeAdapter(ModelerClassLoader classLoader,
DbAdapterFactory adapterFactory) throws Exception {
+ DataNodeDescriptor descriptor = new DataNodeDescriptor();
+ descriptor.setAdapterType(getDbAdapter());
+ DataSource dataSource = makeDataSource(classLoader);
+ return adapterFactory.createAdapter(descriptor, dataSource);
+ }
+
+ /**
+ * Returns a DataSource that uses connection information from this object.
+ * Returned DataSource is not pooling its connections. It can be wrapped in
+ * PoolManager if pooling is needed.
+ */
+ public DataSource makeDataSource(ModelerClassLoader classLoader) throws
SQLException {
+
+ // validate...
+ if (getJdbcDriver() == null) {
+ if (allowDataSourceFailure) {
+ return new DeferredDataSource(classLoader);
+ }
+ throw new SQLException("No JDBC driver set.");
+ }
+
+ if (getUrl() == null) {
+ if (allowDataSourceFailure) {
+ return new DeferredDataSource(classLoader);
+ }
+ throw new SQLException("No DB URL set.");
+ }
+
+ if (!Util.isBlank(getPassword()) && Util.isBlank(getUserName())) {
+ throw new SQLException("No username when password is set.");
+ }
+
+ // load driver...
+ Driver driver;
+
+ try {
+ driver = classLoader.loadClass(Driver.class,
getJdbcDriver()).getDeclaredConstructor().newInstance();
+ } catch (Throwable th) {
+ throw new SQLException("Driver load error: " +
Util.unwindException(th).getLocalizedMessage());
+ }
+
+ return new DriverDataSource(driver, getUrl(), getUserName(),
getPassword());
+ }
+
+ /**
+ * Updates another DBConnectionInfo with this object's values.
+ */
+ public boolean copyTo(DBConnectionInfo dataSourceInfo) {
+ boolean updated = false;
+
+ if (!Util.nullSafeEquals(dataSourceInfo.getUrl(), getUrl())) {
+ dataSourceInfo.setUrl(getUrl());
+ updated = true;
+ }
+
+ if (!Util.nullSafeEquals(dataSourceInfo.getUserName(), getUserName()))
{
+ dataSourceInfo.setUserName(getUserName());
+ updated = true;
+ }
+
+ if (!Util.nullSafeEquals(dataSourceInfo.getPassword(), getPassword()))
{
+ dataSourceInfo.setPassword(getPassword());
+ updated = true;
+ }
+
+ if (!Util.nullSafeEquals(dataSourceInfo.getJdbcDriver(),
getJdbcDriver())) {
+ dataSourceInfo.setJdbcDriver(getJdbcDriver());
+ updated = true;
+ }
+
+ if (!Util.nullSafeEquals(dataSourceInfo.getDbAdapter(),
getDbAdapter())) {
+ dataSourceInfo.setDbAdapter(getDbAdapter());
+ updated = true;
+ }
+
+ return updated;
+ }
+
+ /**
+ * Updates DataSourceInfo with this object's values.
+ * <p>
+ * <i>Currently doesn't set the adapter property. Need to change the UI to
+ * handle adapter via DataSourceInfo first, and then it should be safe to
do
+ * an adapter update here. </i>
+ * </p>
+ */
+ public boolean copyTo(final DataSourceDescriptor dataSourceInfo) {
+ boolean updated = false;
+
+ if (!Util.nullSafeEquals(dataSourceInfo.getDataSourceUrl(), getUrl()))
{
+ dataSourceInfo.setDataSourceUrl(getUrl());
+ updated = true;
+ }
+
+ if (!Util.nullSafeEquals(dataSourceInfo.getUserName(), getUserName()))
{
+ dataSourceInfo.setUserName(getUserName());
+ updated = true;
+ }
+
+ if (!Util.nullSafeEquals(dataSourceInfo.getPassword(), getPassword()))
{
+ dataSourceInfo.setPassword(getPassword());
+ updated = true;
+ }
+
+ if (!Util.nullSafeEquals(dataSourceInfo.getJdbcDriver(),
getJdbcDriver())) {
+ dataSourceInfo.setJdbcDriver(getJdbcDriver());
+ updated = true;
+ }
+
+ return updated;
+ }
+
+ private class DeferredDataSource implements DataSource {
+
+ private final ModelerClassLoader classLoader;
+
+ public DeferredDataSource(ModelerClassLoader classLoader) {
+ this.classLoader = classLoader;
+ }
+
+ DataSource getDeferredDataSource() throws SQLException {
+ allowDataSourceFailure = false;
+ return makeDataSource(classLoader);
+ }
+
+ @Override
+ public Connection getConnection() throws SQLException {
+ return getDeferredDataSource().getConnection();
+ }
+
+ @Override
+ public Connection getConnection(String username, String password)
throws SQLException {
+ return getDeferredDataSource().getConnection(username, password);
+ }
+
+ @Override
+ public PrintWriter getLogWriter() throws SQLException {
+ return getDeferredDataSource().getLogWriter();
+ }
+
+ @Override
+ public void setLogWriter(PrintWriter out) throws SQLException {
+ getDeferredDataSource().setLogWriter(out);
+ }
+
+ @Override
+ public void setLoginTimeout(int seconds) throws SQLException {
+ getDeferredDataSource().setLoginTimeout(seconds);
+ }
+
+ @Override
+ public int getLoginTimeout() throws SQLException {
+ return getDeferredDataSource().getLoginTimeout();
+ }
+
+ @Override
+ public <T> T unwrap(Class<T> iface) throws SQLException {
+ return getDeferredDataSource().unwrap(iface);
+ }
+
+ @Override
+ public boolean isWrapperFor(Class<?> iface) throws SQLException {
+ return getDeferredDataSource().isWrapperFor(iface);
+ }
+
+ @Override
+ public Logger getParentLogger() throws SQLFeatureNotSupportedException
{
+ try {
+ return getDeferredDataSource().getParentLogger();
+ } catch (SQLException e) {
+ throw new SQLFeatureNotSupportedException(e);
+ }
+ }
+ }
}
\ No newline at end of file
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ImportEOModelAction.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ImportEOModelAction.java
index fb25dab46..70751c25b 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ImportEOModelAction.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ImportEOModelAction.java
@@ -159,7 +159,7 @@ public class ImportEOModelAction extends
ModelerAbstractAction {
} catch (Exception ex) {
LOGGER.info("EOModel Loading Exception", ex);
- ErrorsController.guiException(ex);
+ ErrorsController.guiException(application, ex);
}
}
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ModelerAbstractAction.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ModelerAbstractAction.java
index 9f7343896..016397865 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ModelerAbstractAction.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/ModelerAbstractAction.java
@@ -146,7 +146,7 @@ public abstract class ModelerAbstractAction extends
AbstractAction {
performAction(e);
}
catch (Throwable th) {
- ErrorsController.guiException(th);
+ ErrorsController.guiException(application, th);
}
}
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/OpenProjectAction.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/OpenProjectAction.java
index ee10e4238..4415b59ba 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/OpenProjectAction.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/OpenProjectAction.java
@@ -179,7 +179,7 @@ public class OpenProjectAction extends ProjectAction {
openProjectResourse(rootSource, controller);
} catch (Exception ex) {
LOGGER.warn("Error loading project file.", ex);
- ErrorsController.guiWarning(ex, "Error loading project");
+ ErrorsController.guiWarning(application, ex, "Error loading
project");
}
}
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/PasteAction.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/PasteAction.java
index eea1a33ff..9e4c990c7 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/PasteAction.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/PasteAction.java
@@ -135,7 +135,7 @@ public class PasteAction extends ModelerAbstractAction
implements FlavorListener
} catch (UnsupportedFlavorException ufe) {
// do nothing
} catch (Exception ex) {
- ErrorsController.guiException(ex);
+ ErrorsController.guiException(application, ex);
}
}
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/RemoveAction.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/RemoveAction.java
index ad118afdc..1b92a8fbc 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/RemoveAction.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/action/RemoveAction.java
@@ -104,7 +104,7 @@ public class RemoveAction extends ModelerAbstractAction {
* @param allowAsking If false, no question will be asked no matter what
settings are
*/
public ConfirmRemoveDialog getConfirmDeleteDialog(boolean allowAsking) {
- return new ConfirmRemoveDialog(allowAsking);
+ return new ConfirmRemoveDialog(application, allowAsking);
}
@Override
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/autorelationship/InferRelationshipsController.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/autorelationship/InferRelationshipsController.java
index ff5b5c389..a3d371dce 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/autorelationship/InferRelationshipsController.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/autorelationship/InferRelationshipsController.java
@@ -66,7 +66,7 @@ public class InferRelationshipsController extends
ChildController<RootController
this.selectedEntities = new HashSet<>();
this.strategy = createNamingStrategy(NameGeneratorPreferences
.getInstance()
- .getLastUsedStrategies()
+ .getLastUsedStrategies(application)
.get(0));
setNamingStrategy(strategy);
setRelationships();
@@ -324,9 +324,9 @@ public class InferRelationshipsController extends
ChildController<RootController
if (strategy == null) {
return;
}
-
NameGeneratorPreferences.getInstance().addToLastUsedStrategies(strategyClass);
+
NameGeneratorPreferences.getInstance().addToLastUsedStrategies(application,
strategyClass);
view.getStrategyCombo().setModel(
- new
DefaultComboBoxModel<>(NameGeneratorPreferences.getInstance().getLastUsedStrategies()));
+ new
DefaultComboBoxModel<>(NameGeneratorPreferences.getInstance().getLastUsedStrategies(application)));
} catch (Throwable th) {
LOGGER.error("Error in " + getClass().getName(), th);
return;
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/autorelationship/InferRelationshipsDialog.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/autorelationship/InferRelationshipsDialog.java
index 0830e17fb..c6ed372a8 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/autorelationship/InferRelationshipsDialog.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/autorelationship/InferRelationshipsDialog.java
@@ -83,7 +83,7 @@ public class InferRelationshipsDialog extends JDialog {
this.choice = CANCEL;
strategyCombo.setModel(new DefaultComboBoxModel(
-
NameGeneratorPreferences.getInstance().getLastUsedStrategies()));
+
NameGeneratorPreferences.getInstance().getLastUsedStrategies(application)));
setTitle("Infer Relationships");
}
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/confirmremove/ConfirmRemoveDialog.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/confirmremove/ConfirmRemoveDialog.java
index 7665d59ea..7c41df275 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/confirmremove/ConfirmRemoveDialog.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/confirmremove/ConfirmRemoveDialog.java
@@ -34,14 +34,16 @@ public class ConfirmRemoveDialog {
private static final String DELETE = "Delete";
+ private final Application application;
+ private final boolean allowAsking;
+
private boolean shouldDelete = true;
/**
- * If false, no question will be asked no matter what settings are
+ * @param allowAsking if false, no question will be asked no matter what
settings are
*/
- private boolean allowAsking;
-
- public ConfirmRemoveDialog(boolean allowAsking) {
+ public ConfirmRemoveDialog(Application application, boolean allowAsking) {
+ this.application = application;
this.allowAsking = allowAsking;
}
@@ -57,14 +59,14 @@ public class ConfirmRemoveDialog {
JOptionPane pane = new JOptionPane(message,
JOptionPane.QUESTION_MESSAGE);
pane.setOptions(new Object[]{ DELETE, "Cancel" });
pane.setInitialValue(DELETE);
-
pane.createDialog(Application.getInstance().getFrameController().getView(),
"Confirm Delete").setVisible(true);
+ pane.createDialog(application.getFrameController().getView(), "Confirm
Delete").setVisible(true);
shouldDelete = DELETE.equals(pane.getValue());
// If the user clicks "cancel" or window close button, we'll just
ignore whatever's in the checkbox because
// it's non-sensical.
if (shouldDelete) {
- Preferences pref = Application.getInstance().getPreferencesNode(
+ Preferences pref = application.getPreferencesNode(
GeneralPreferencesController.class,
"");
pref.putBoolean(
@@ -80,7 +82,7 @@ public class ConfirmRemoveDialog {
public boolean shouldDelete(String name) {
if (allowAsking) {
- Preferences pref = Application.getInstance().getPreferencesNode(
+ Preferences pref = application.getPreferencesNode(
GeneralPreferencesController.class,
"");
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/datasource/DataSourceController.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/datasource/DataSourceController.java
index 5aadf5f9d..c8275e049 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/datasource/DataSourceController.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/datasource/DataSourceController.java
@@ -182,7 +182,7 @@ public class DataSourceController extends
ChildController<ProjectController> {
// doing connection testing...
try {
try {
- this.adapter = info.makeAdapter(classLoader);
+ this.adapter = info.makeAdapter(classLoader,
getApplication().getDbAdapterFactory());
this.dataSource = info.makeDataSource(classLoader);
} catch (SQLException ignore) {
showNoConnectorDialog("Unable to load driver '" +
info.getJdbcDriver() + "'");
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/dbgen/DBGeneratorOptionsController.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/dbgen/DBGeneratorOptionsController.java
index 6ea84d395..57c237d91 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/dbgen/DBGeneratorOptionsController.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/dbgen/DBGeneratorOptionsController.java
@@ -123,7 +123,7 @@ public class DBGeneratorOptionsController extends
ChildController<ProjectControl
*/
protected void prepareGenerator() {
try {
- DbAdapter adapter =
connectionInfo.makeAdapter(getApplication().getClassLoader());
+ DbAdapter adapter =
connectionInfo.makeAdapter(getApplication().getClassLoader(),
getApplication().getDbAdapterFactory());
generators = new ArrayList<>();
for (DataMap dataMap : dataMaps) {
this.generators.add(new DbGenerator(
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/dbmerge/MergerOptionsController.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/dbmerge/MergerOptionsController.java
index 339e6b132..665bdbba3 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/dbmerge/MergerOptionsController.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/dbmerge/MergerOptionsController.java
@@ -134,7 +134,7 @@ public class MergerOptionsController extends
ChildController<ProjectController>
*/
protected void prepareMigrator() {
try {
- adapter =
connectionInfo.makeAdapter(getApplication().getClassLoader());
+ adapter =
connectionInfo.makeAdapter(getApplication().getClassLoader(),
getApplication().getDbAdapterFactory());
MergerTokenFactory mergerTokenFactory =
mergerTokenFactoryProvider.get(adapter);
tokens.setMergerTokenFactory(mergerTokenFactory);
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/entitysync/EntitySyncController.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/entitysync/EntitySyncController.java
index bba1ddf38..221840bb6 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/entitysync/EntitySyncController.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/entitysync/EntitySyncController.java
@@ -21,6 +21,8 @@ package org.apache.cayenne.modeler.ui.entitysync;
import org.apache.cayenne.dbsync.filter.NamePatternMatcher;
import org.apache.cayenne.dbsync.merge.context.EntityMergeSupport;
+import org.apache.cayenne.dbsync.naming.DefaultObjectNameGenerator;
+import org.apache.cayenne.dbsync.naming.NoStemStemmer;
import org.apache.cayenne.dbsync.naming.ObjectNameGenerator;
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.ObjEntity;
@@ -65,7 +67,7 @@ public class EntitySyncController extends
ChildController<RootController> {
try {
namingStrategy =
NameGeneratorPreferences.getInstance().createNamingStrategy(application);
} catch (Throwable e) {
- namingStrategy = NameGeneratorPreferences.defaultNameGenerator();
+ namingStrategy = new
DefaultObjectNameGenerator(NoStemStemmer.getInstance());
}
// TODO: Modeler-controlled defaults for all the hardcoded boolean
flags here.
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/errors/ErrorsController.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/errors/ErrorsController.java
index cf977a7e0..8c5c8bce6 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/errors/ErrorsController.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/errors/ErrorsController.java
@@ -11,22 +11,22 @@ public class ErrorsController {
/**
* Shows an error dialog with stack trace
*/
- public static void guiException(Throwable th) {
+ public static void guiException(Application application, Throwable th) {
if (th != null) {
LOGGER.error("CayenneModeler Error", th);
}
- new ErrorDialog(Application.getInstance(), "CayenneModeler Error", th,
true, false).setVisible(true);
+ new ErrorDialog(application, "CayenneModeler Error", th, true,
false).setVisible(true);
}
/**
* Shows a warning dialog with stack trace
*/
- public static void guiWarning(Throwable th, String message) {
+ public static void guiWarning(Application application, Throwable th,
String message) {
if (th != null) {
LOGGER.warn("CayenneModeler Warning", th);
}
- new WarningDialog(Application.getInstance(), message, th, false,
false).setDetailed(true);
+ new WarningDialog(application, message, th, false,
false).setDetailed(true);
}
}
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DatabaseSchemaLoader.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DatabaseSchemaLoader.java
index d24d24cc8..393d07b8d 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DatabaseSchemaLoader.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/DatabaseSchemaLoader.java
@@ -28,6 +28,7 @@ import java.util.Collection;
import java.util.Comparator;
import java.util.List;
+import org.apache.cayenne.configuration.runtime.DbAdapterFactory;
import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.dbsync.reverse.dbimport.Catalog;
import org.apache.cayenne.dbsync.reverse.dbimport.FilterContainer;
@@ -47,14 +48,16 @@ public class DatabaseSchemaLoader {
private static final String INCLUDE_ALL_PATTERN = "%";
private final ReverseEngineering databaseReverseEngineering;
+ private final DbAdapterFactory adapterFactory;
- public DatabaseSchemaLoader() {
- databaseReverseEngineering = new ReverseEngineering();
+ public DatabaseSchemaLoader(DbAdapterFactory adapterFactory) {
+ this.adapterFactory = adapterFactory;
+ this.databaseReverseEngineering = new ReverseEngineering();
}
public ReverseEngineering load(DBConnectionInfo connectionInfo,
ModelerClassLoader loadingService) throws
Exception {
- DbAdapter dbAdapter = connectionInfo.makeAdapter(loadingService);
+ DbAdapter dbAdapter = connectionInfo.makeAdapter(loadingService,
adapterFactory);
try (Connection connection =
connectionInfo.makeDataSource(loadingService).getConnection()) {
processCatalogs(connection, dbAdapter);
}
@@ -128,7 +131,7 @@ public class DatabaseSchemaLoader {
String[] tableTypesFromConfig) throws
Exception {
int pathIndex = 1;
String catalogName = null, schemaName = null;
- DbAdapter adapter = connectionInfo.makeAdapter(loadingService);
+ DbAdapter adapter = connectionInfo.makeAdapter(loadingService,
adapterFactory);
Object userObject = getUserObjectOrNull(path, pathIndex);
if (userObject != null) {
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/ReverseEngineeringConfigPanel.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/ReverseEngineeringConfigPanel.java
index f90ea8eba..4b9dd502f 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/ReverseEngineeringConfigPanel.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/ReverseEngineeringConfigPanel.java
@@ -97,7 +97,7 @@ public class ReverseEngineeringConfigPanel extends JPanel {
void initStrategy(ReverseEngineering reverseEngineering) {
Vector<String> arr = NameGeneratorPreferences
.getInstance()
- .getLastUsedStrategies();
+ .getLastUsedStrategies(controller.getApplication());
strategyCombo.setModel(new DefaultComboBoxModel<>(arr));
strategyCombo.setSelectedItem(reverseEngineering.getNamingStrategy());
}
@@ -184,7 +184,7 @@ public class ReverseEngineeringConfigPanel extends JPanel {
String strategy = (String)
ReverseEngineeringConfigPanel.this.getStrategyCombo().getSelectedItem();
checkStrategy(strategy);
getReverseEngineeringBySelectedMap().setNamingStrategy(strategy);
-
NameGeneratorPreferences.getInstance().addToLastUsedStrategies(strategy);
+
NameGeneratorPreferences.getInstance().addToLastUsedStrategies(controller.getApplication(),
strategy);
if (!dbImportView.isInitFromModel()) {
controller.setDirty(true);
}
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/action/LoadDbSchemaAction.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/action/LoadDbSchemaAction.java
index 5278d7517..313e0b98e 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/action/LoadDbSchemaAction.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/action/LoadDbSchemaAction.java
@@ -118,7 +118,7 @@ public class LoadDbSchemaAction extends
DBConnectionAwareAction {
private void loadDataBase(DBConnectionInfo connectionInfo) throws
Exception {
DraggableTreePanel draggableTreePanel = view.getDraggableTreePanel();
- ReverseEngineering databaseReverseEngineering = new
DatabaseSchemaLoader()
+ ReverseEngineering databaseReverseEngineering = new
DatabaseSchemaLoader(application.getDbAdapterFactory())
.load(connectionInfo, application.getClassLoader());
draggableTreePanel.getSourceTree()
.setEnabled(true);
@@ -131,7 +131,7 @@ public class LoadDbSchemaAction extends
DBConnectionAwareAction {
private void loadTables(DBConnectionInfo connectionInfo, TreePath
tablePath) throws Exception {
DraggableTreePanel draggableTreePanel = view.getDraggableTreePanel();
- ReverseEngineering databaseReverseEngineering = new
DatabaseSchemaLoader()
+ ReverseEngineering databaseReverseEngineering = new
DatabaseSchemaLoader(application.getDbAdapterFactory())
.loadTables(connectionInfo,
application.getClassLoader(),
tablePath,
@@ -143,7 +143,7 @@ public class LoadDbSchemaAction extends
DBConnectionAwareAction {
private void loadColumns(DBConnectionInfo connectionInfo, TreePath
tablePath) throws SQLException {
DraggableTreePanel draggableTreePanel = view.getDraggableTreePanel();
- ReverseEngineering databaseReverseEngineering = new
DatabaseSchemaLoader()
+ ReverseEngineering databaseReverseEngineering = new
DatabaseSchemaLoader(application.getDbAdapterFactory())
.loadColumns(connectionInfo, application.getClassLoader(),
tablePath);
draggableTreePanel.getSourceTree()
.update(databaseReverseEngineering,
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/runner/ModelerDbLoaderContext.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/runner/ModelerDbLoaderContext.java
index 7455022ba..5c80f290c 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/runner/ModelerDbLoaderContext.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/ui/project/editor/datamap/dbimport/runner/ModelerDbLoaderContext.java
@@ -138,7 +138,7 @@ public class ModelerDbLoaderContext {
ModelerClassLoader classLoader = application.getClassLoader();
config.getDbLoaderConfig().setFiltersConfig(new
FiltersConfigBuilder(reverseEngineering)
.dataSource(connectionInfo.makeDataSource(classLoader))
- .dbAdapter(connectionInfo.makeAdapter(classLoader))
+ .dbAdapter(connectionInfo.makeAdapter(classLoader,
application.getDbAdapterFactory()))
.build());
} catch (Exception e) {
processException(e, "Fail while building configs.");
diff --git
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/NameGeneratorPreferences.java
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/NameGeneratorPreferences.java
index e6d568dce..d351c5942 100644
---
a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/NameGeneratorPreferences.java
+++
b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/util/NameGeneratorPreferences.java
@@ -19,7 +19,6 @@
package org.apache.cayenne.modeler.util;
import org.apache.cayenne.dbsync.naming.DefaultObjectNameGenerator;
-import org.apache.cayenne.dbsync.naming.NoStemStemmer;
import org.apache.cayenne.dbsync.naming.ObjectNameGenerator;
import org.apache.cayenne.modeler.Application;
@@ -37,7 +36,7 @@ public class NameGeneratorPreferences {
/**
* Naming strategies to appear in combobox by default
*/
- private static final Vector<String> PREDEFINED_STRATEGIES = new
Vector<String>();
+ private static final Vector<String> PREDEFINED_STRATEGIES = new Vector<>();
static {
PREDEFINED_STRATEGIES.add(DefaultObjectNameGenerator.class.getCanonicalName());
}
@@ -48,33 +47,30 @@ public class NameGeneratorPreferences {
return instance;
}
- Preferences getPreference() {
- return Application.getInstance().getMainPreferenceForProject();
+ Preferences getPreference(Application application) {
+ return application.getMainPreferenceForProject();
}
/**
* @return last used strategies, PREDEFINED_STRATEGIES by default
*/
- public Vector<String> getLastUsedStrategies() {
+ public Vector<String> getLastUsedStrategies(Application application) {
- String prop = null;
-
- if (getPreference() != null) {
- prop = getPreference().get(STRATEGIES_PREFERENCE, null);
- }
+ Preferences pref = getPreference(application);
+ String prop = pref != null ? pref.get(STRATEGIES_PREFERENCE, null) :
null;
if (prop == null) {
return PREDEFINED_STRATEGIES;
}
- return new Vector<String>(Arrays.asList(prop.split(",")));
+ return new Vector<>(Arrays.asList(prop.split(",")));
}
/**
* Adds strategy to history
*/
- public void addToLastUsedStrategies(String strategy) {
- Vector<String> strategies = getLastUsedStrategies();
+ public void addToLastUsedStrategies(Application application, String
strategy) {
+ Vector<String> strategies = getLastUsedStrategies(application);
// move to top
strategies.remove(strategy);
@@ -84,20 +80,14 @@ public class NameGeneratorPreferences {
for (String str : strategies) {
res.append(str).append(",");
}
- if (!strategies.isEmpty()) {
- res.deleteCharAt(res.length() - 1);
- }
+ res.deleteCharAt(res.length() - 1);
- getPreference().put(STRATEGIES_PREFERENCE, res.toString());
+ getPreference(application).put(STRATEGIES_PREFERENCE, res.toString());
}
public ObjectNameGenerator createNamingStrategy(Application application)
throws Exception {
return application.getClassLoader()
- .loadClass(ObjectNameGenerator.class,
getLastUsedStrategies().get(0)).getDeclaredConstructor().newInstance();
- }
-
- public static ObjectNameGenerator defaultNameGenerator() {
- return new DefaultObjectNameGenerator(NoStemStemmer.getInstance());
+ .loadClass(ObjectNameGenerator.class,
getLastUsedStrategies(application).get(0)).getDeclaredConstructor().newInstance();
}
}