You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by sk...@apache.org on 2015/03/26 14:39:20 UTC
[1/2] cayenne git commit: CAY-1993 | Reverse Engineering does not
work with PostgreSQL database
Repository: cayenne
Updated Branches:
refs/heads/master 469ad0e41 -> f19da189c
CAY-1993 | Reverse Engineering does not work with PostgreSQL database
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/9c7f9314
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/9c7f9314
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/9c7f9314
Branch: refs/heads/master
Commit: 9c7f93140a79c9098acc6822908f50c652c638d0
Parents: 469ad0e
Author: Savva Kolbachev <s....@gmail.com>
Authored: Thu Mar 26 16:32:03 2015 +0300
Committer: Savva Kolbachev <s....@gmail.com>
Committed: Thu Mar 26 16:32:03 2015 +0300
----------------------------------------------------------------------
.../org/apache/cayenne/dba/AutoAdapter.java | 13 ++++--
.../java/org/apache/cayenne/dba/DbAdapter.java | 18 +++++---
.../org/apache/cayenne/dba/JdbcAdapter.java | 28 ++++++++----
.../cayenne/dba/postgres/PostgresAdapter.java | 24 ++++++----
.../apache/cayenne/tools/DbImporterTask.java | 32 +++++++++++++-
.../modeler/dialog/db/DbLoaderHelper.java | 8 +++-
.../apache/cayenne/tools/DbImporterMojo.java | 32 +++++++++++++-
.../cayenne/tools/DbImporterMojoTest.java | 46 ++++++++++++++------
...SupportsCatalogsOnReverseEngineering-pom.xml | 41 +++++++++++++++++
...SupportsCatalogsOnReverseEngineering.map.xml | 25 +++++++++++
10 files changed, 220 insertions(+), 47 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/9c7f9314/cayenne-server/src/main/java/org/apache/cayenne/dba/AutoAdapter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/AutoAdapter.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/AutoAdapter.java
index 012a3f0..4e16194 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/AutoAdapter.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/AutoAdapter.java
@@ -19,10 +19,6 @@
package org.apache.cayenne.dba;
-import java.sql.PreparedStatement;
-import java.sql.SQLException;
-import java.util.Collection;
-
import org.apache.cayenne.CayenneRuntimeException;
import org.apache.cayenne.access.DataNode;
import org.apache.cayenne.access.translator.ejbql.EJBQLTranslatorFactory;
@@ -38,6 +34,10 @@ import org.apache.cayenne.merge.MergerFactory;
import org.apache.cayenne.query.Query;
import org.apache.cayenne.query.SQLAction;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.util.Collection;
+
/**
* A DbAdapter that automatically detects the kind of database it is running on and
* instantiates an appropriate DB-specific adapter, delegating all subsequent method calls
@@ -115,6 +115,11 @@ public class AutoAdapter implements DbAdapter {
}
@Override
+ public boolean supportsCatalogsOnReverseEngineering() {
+ return getAdapter().supportsCatalogsOnReverseEngineering();
+ }
+
+ @Override
public boolean supportsGeneratedKeys() {
return getAdapter().supportsGeneratedKeys();
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/9c7f9314/cayenne-server/src/main/java/org/apache/cayenne/dba/DbAdapter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/DbAdapter.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/DbAdapter.java
index 9914974..5d6c4d9 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/DbAdapter.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/DbAdapter.java
@@ -18,11 +18,6 @@
****************************************************************/
package org.apache.cayenne.dba;
-import java.sql.PreparedStatement;
-import java.sql.SQLException;
-import java.sql.Types;
-import java.util.Collection;
-
import org.apache.cayenne.access.DataNode;
import org.apache.cayenne.access.translator.ejbql.EJBQLTranslatorFactory;
import org.apache.cayenne.access.translator.select.QualifierTranslator;
@@ -35,6 +30,10 @@ import org.apache.cayenne.merge.MergerFactory;
import org.apache.cayenne.query.Query;
import org.apache.cayenne.query.SQLAction;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.util.Collection;
+
/**
* A Cayenne extension point that abstracts the differences between specifics of
* JDBC interfaces to various databases. Cayenne already ships with a number of
@@ -63,12 +62,19 @@ public interface DbAdapter {
/**
* Returns true if a target database supports UNIQUE constraints.
- *
+ *
* @since 1.1
*/
boolean supportsUniqueConstraints();
/**
+ * Returns true if a target database supports catalogs on reverse engineering.
+ *
+ * @since 4.0
+ */
+ boolean supportsCatalogsOnReverseEngineering();
+
+ /**
* Returns true if a target database supports key autogeneration. This
* feature also requires JDBC3-compliant driver.
*
http://git-wip-us.apache.org/repos/asf/cayenne/blob/9c7f9314/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
index 552aeae..c79ff42 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/JdbcAdapter.java
@@ -19,15 +19,6 @@
package org.apache.cayenne.dba;
-import java.net.URL;
-import java.sql.PreparedStatement;
-import java.sql.SQLException;
-import java.sql.Types;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
import org.apache.cayenne.CayenneRuntimeException;
import org.apache.cayenne.access.DataNode;
import org.apache.cayenne.access.translator.batch.BatchTranslatorFactory;
@@ -53,6 +44,15 @@ import org.apache.cayenne.resource.Resource;
import org.apache.cayenne.resource.ResourceLocator;
import org.apache.cayenne.util.Util;
+import java.net.URL;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.sql.Types;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
/**
* A generic DbAdapter implementation. Can be used as a default adapter or as a
* superclass of a concrete adapter implementation.
@@ -234,6 +234,16 @@ public class JdbcAdapter implements DbAdapter {
}
/**
+ * Returns true.
+ *
+ * @since 4.0
+ */
+ @Override
+ public boolean supportsCatalogsOnReverseEngineering() {
+ return true;
+ }
+
+ /**
* @since 1.1
*/
public void setSupportsUniqueConstraints(boolean flag) {
http://git-wip-us.apache.org/repos/asf/cayenne/blob/9c7f9314/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java
index 36ecba2..05904d8 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/postgres/PostgresAdapter.java
@@ -19,14 +19,6 @@
package org.apache.cayenne.dba.postgres;
-import java.sql.PreparedStatement;
-import java.sql.SQLException;
-import java.sql.Types;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
import org.apache.cayenne.CayenneRuntimeException;
import org.apache.cayenne.access.DataNode;
import org.apache.cayenne.access.translator.select.QualifierTranslator;
@@ -37,9 +29,9 @@ import org.apache.cayenne.access.types.ExtendedTypeFactory;
import org.apache.cayenne.access.types.ExtendedTypeMap;
import org.apache.cayenne.configuration.Constants;
import org.apache.cayenne.configuration.RuntimeProperties;
-import org.apache.cayenne.dba.QuotingStrategy;
import org.apache.cayenne.dba.JdbcAdapter;
import org.apache.cayenne.dba.PkGenerator;
+import org.apache.cayenne.dba.QuotingStrategy;
import org.apache.cayenne.dba.TypesMapping;
import org.apache.cayenne.di.Inject;
import org.apache.cayenne.map.DbAttribute;
@@ -49,6 +41,14 @@ import org.apache.cayenne.query.Query;
import org.apache.cayenne.query.SQLAction;
import org.apache.cayenne.resource.ResourceLocator;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.sql.Types;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
/**
* DbAdapter implementation for <a href="http://www.postgresql.org">PostgreSQL
* RDBMS </a>. Sample connection settings to use with PostgreSQL are shown
@@ -253,4 +253,10 @@ public class PostgresAdapter extends JdbcAdapter {
public MergerFactory mergerFactory() {
return new PostgresMergerFactory();
}
+
+ @Override
+ public boolean supportsCatalogsOnReverseEngineering() {
+ return false;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/9c7f9314/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImporterTask.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImporterTask.java b/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImporterTask.java
index 5c1585d..de60b65 100644
--- a/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImporterTask.java
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImporterTask.java
@@ -18,11 +18,13 @@
****************************************************************/
package org.apache.cayenne.tools;
-import java.io.File;
-
import org.apache.cayenne.access.loader.filters.EntityFilters;
import org.apache.cayenne.access.loader.filters.FilterFactory;
+import org.apache.cayenne.configuration.DataNodeDescriptor;
+import org.apache.cayenne.configuration.server.DataSourceFactory;
+import org.apache.cayenne.configuration.server.DbAdapterFactory;
import org.apache.cayenne.conn.DataSourceInfo;
+import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.di.DIBootstrap;
import org.apache.cayenne.di.Injector;
import org.apache.cayenne.map.naming.DefaultNameGenerator;
@@ -46,6 +48,9 @@ import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.Task;
+import javax.sql.DataSource;
+import java.io.File;
+
public class DbImporterTask extends Task {
private final DbImportConfiguration config;
@@ -78,6 +83,8 @@ public class DbImporterTask extends Task {
Injector injector = DIBootstrap.createInjector(new ToolsModule(logger), new DbImportModule());
+ validateDbImportConfiguration(config, injector);
+
try {
injector.getInstance(DbImportAction.class).execute(config);
} catch (Exception ex) {
@@ -97,6 +104,27 @@ public class DbImporterTask extends Task {
}
}
+ private void validateDbImportConfiguration(DbImportConfiguration config, Injector injector) throws BuildException {
+ DataNodeDescriptor dataNodeDescriptor = config.createDataNodeDescriptor();
+ DataSource dataSource = null;
+ DbAdapter adapter = null;
+
+ try {
+ dataSource = injector.getInstance(DataSourceFactory.class).getDataSource(dataNodeDescriptor);
+ adapter = injector.getInstance(DbAdapterFactory.class).createAdapter(dataNodeDescriptor, dataSource);
+
+ if (!adapter.supportsCatalogsOnReverseEngineering() &&
+ reverseEngineering.getCatalogs() != null && !reverseEngineering.getCatalogs().isEmpty()) {
+ String message = "Your database does not support catalogs on reverse engineering. " +
+ "It allows to connect to only one at the moment. Please don't note catalogs as param.";
+ throw new BuildException(message);
+ }
+ } catch (Exception e) {
+ throw new BuildException("Error creating DataSource ("
+ + dataSource + ") or DbAdapter (" + adapter + ") for DataNodeDescriptor (" + dataNodeDescriptor + ")", e);
+ }
+ }
+
/**
* Validates attributes that are not related to internal
* DefaultClassGenerator. Throws BuildException if attributes are invalid.
http://git-wip-us.apache.org/repos/asf/cayenne/blob/9c7f9314/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java
index 0a878e8..15b49cc 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java
@@ -85,6 +85,7 @@ public class DbLoaderHelper {
protected boolean meaningfulPk;
protected List<String> schemas;
protected List<String> catalogs;
+ protected DbAdapter adapter;
private final EntityFilters.Builder filterBuilder = new EntityFilters.Builder();
@@ -103,6 +104,7 @@ public class DbLoaderHelper {
} catch (SQLException e) {
logObj.warn("Error getting catalog.", e);
}
+ this.adapter = adapter;
this.loader = new DbLoader(connection, adapter, new LoaderDelegate());
}
@@ -123,8 +125,10 @@ public class DbLoaderHelper {
stoppingReverseEngineering = false;
// load catalogs...
- LongRunningTask loadCatalogsTask = new LoadCatalogsTask(Application.getFrame(), "Loading Catalogs");
- loadCatalogsTask.startAndWait();
+ if (adapter.supportsCatalogsOnReverseEngineering()) {
+ LongRunningTask loadCatalogsTask = new LoadCatalogsTask(Application.getFrame(), "Loading Catalogs");
+ loadCatalogsTask.startAndWait();
+ }
if (stoppingReverseEngineering) {
return;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/9c7f9314/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/DbImporterMojo.java
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/DbImporterMojo.java b/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/DbImporterMojo.java
index dacb398..0073268 100644
--- a/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/DbImporterMojo.java
+++ b/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/DbImporterMojo.java
@@ -18,10 +18,12 @@
****************************************************************/
package org.apache.cayenne.tools;
-import java.io.File;
-
import org.apache.cayenne.access.loader.filters.EntityFilters;
import org.apache.cayenne.access.loader.filters.FilterFactory;
+import org.apache.cayenne.configuration.DataNodeDescriptor;
+import org.apache.cayenne.configuration.server.DataSourceFactory;
+import org.apache.cayenne.configuration.server.DbAdapterFactory;
+import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.di.DIBootstrap;
import org.apache.cayenne.di.Injector;
import org.apache.cayenne.tools.configuration.ToolsModule;
@@ -38,6 +40,9 @@ import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
+import javax.sql.DataSource;
+import java.io.File;
+
/**
* Maven mojo to reverse engineer datamap from DB.
*
@@ -245,6 +250,8 @@ public class DbImporterMojo extends AbstractMojo {
config.setLogger(logger);
Injector injector = DIBootstrap.createInjector(new ToolsModule(logger), new DbImportModule());
+ validateDbImportConfiguration(config, injector);
+
try {
injector.getInstance(DbImportAction.class).execute(config);
} catch (Exception ex) {
@@ -261,6 +268,27 @@ public class DbImporterMojo extends AbstractMojo {
}
}
+ private void validateDbImportConfiguration(DbImportConfiguration config, Injector injector) throws MojoExecutionException {
+ DataNodeDescriptor dataNodeDescriptor = config.createDataNodeDescriptor();
+ DataSource dataSource = null;
+ DbAdapter adapter = null;
+
+ try {
+ dataSource = injector.getInstance(DataSourceFactory.class).getDataSource(dataNodeDescriptor);
+ adapter = injector.getInstance(DbAdapterFactory.class).createAdapter(dataNodeDescriptor, dataSource);
+
+ if (!adapter.supportsCatalogsOnReverseEngineering() &&
+ reverseEngineering.getCatalogs() != null && !reverseEngineering.getCatalogs().isEmpty()) {
+ String message = "Your database does not support catalogs on reverse engineering. " +
+ "It allows to connect to only one at the moment. Please don't note catalogs as param.";
+ throw new MojoExecutionException(message);
+ }
+ } catch (Exception e) {
+ throw new MojoExecutionException("Error creating DataSource ("
+ + dataSource + ") or DbAdapter (" + adapter + ") for DataNodeDescriptor (" + dataNodeDescriptor + ")", e);
+ }
+ }
+
DbImportConfiguration toParameters() {
DbImportConfiguration config = new DbImportConfiguration();
config.setAdapter(adapter);
http://git-wip-us.apache.org/repos/asf/cayenne/blob/9c7f9314/plugins/maven-cayenne-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java b/plugins/maven-cayenne-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java
index e7fc592..2fa903f 100644
--- a/plugins/maven-cayenne-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java
+++ b/plugins/maven-cayenne-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoTest.java
@@ -18,25 +18,13 @@
****************************************************************/
package org.apache.cayenne.tools;
-import static org.apache.commons.lang.StringUtils.isBlank;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-import java.net.URL;
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.Iterator;
-
import org.apache.cayenne.test.jdbc.SQLReader;
import org.apache.cayenne.test.resource.ResourceUtil;
import org.apache.cayenne.tools.dbimport.DbImportConfiguration;
import org.apache.cayenne.tools.dbimport.config.Catalog;
import org.apache.cayenne.tools.dbimport.config.IncludeTable;
import org.apache.cayenne.tools.dbimport.config.Schema;
+import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.testing.AbstractMojoTestCase;
import org.codehaus.plexus.util.FileUtils;
import org.custommonkey.xmlunit.DetailedDiff;
@@ -48,6 +36,19 @@ import org.junit.BeforeClass;
import org.junit.Test;
import org.xml.sax.SAXException;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.net.URL;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.Iterator;
+
+import static org.apache.commons.lang.StringUtils.isBlank;
+
public class DbImporterMojoTest extends AbstractMojoTestCase {
@@ -233,6 +234,25 @@ public class DbImporterMojoTest extends AbstractMojoTestCase {
assertEquals("excludeColumn-03", catalog.getExcludeColumns().iterator().next().getPattern());
}
+ @Test
+ public void testSupportsCatalogsOnReverseEngineering() throws Exception {
+ DbImporterMojo cdbImport = getCdbImport("dbimport/testSupportsCatalogsOnReverseEngineering-pom.xml");
+ cdbImport.getReverseEngineering().addCatalog(new Catalog("DbImporterMojoTest2"));
+
+ Exception exceptedException = null;
+ String exceptedMessage = "Your database does not support catalogs on reverse engineering. " +
+ "It allows to connect to only one at the moment. Please don't note catalogs as param.";
+
+ try {
+ cdbImport.execute();
+ } catch (MojoExecutionException ex) {
+ exceptedException = ex;
+ }
+
+ assertNotNull(exceptedException);
+ assertEquals(exceptedException.getCause().getMessage(), exceptedMessage);
+ }
+
private void test(String name) throws Exception {
DbImporterMojo cdbImport = getCdbImport("dbimport/" + name + "-pom.xml");
File mapFile = cdbImport.getMap();
http://git-wip-us.apache.org/repos/asf/cayenne/blob/9c7f9314/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSupportsCatalogsOnReverseEngineering-pom.xml
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSupportsCatalogsOnReverseEngineering-pom.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSupportsCatalogsOnReverseEngineering-pom.xml
new file mode 100644
index 0000000..94e2965
--- /dev/null
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSupportsCatalogsOnReverseEngineering-pom.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+ http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <name>DbImporterMojo Test1</name>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-cayenne-plugin</artifactId>
+ <configuration>
+ <map>target/test-classes/org/apache/cayenne/tools/dbimport/testSupportsCatalogsOnReverseEngineering.map.xml</map>
+ <driver>org.apache.derby.jdbc.EmbeddedDriver</driver>
+ <url>jdbc:derby:memory:DbImporterMojoTest;create=true</url>
+ <adapter>org.apache.cayenne.dba.postgres.PostgresAdapter</adapter>
+ <catalog>DbImporterMojoTest1</catalog>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cayenne/blob/9c7f9314/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSupportsCatalogsOnReverseEngineering.map.xml
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSupportsCatalogsOnReverseEngineering.map.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSupportsCatalogsOnReverseEngineering.map.xml
new file mode 100644
index 0000000..4e28e1c
--- /dev/null
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSupportsCatalogsOnReverseEngineering.map.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ 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.
+ -->
+<data-map xmlns="http://cayenne.apache.org/schema/7/modelMap"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://cayenne.apache.org/schema/7/modelMap http://cayenne.apache.org/schema/7/modelMap.xsd"
+ project-version="7">
+ <property name="defaultPackage" value="com.my.home"/>
+</data-map>
\ No newline at end of file
[2/2] cayenne git commit: add CAY_1993 to release notes
Posted by sk...@apache.org.
add CAY_1993 to release notes
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/f19da189
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/f19da189
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/f19da189
Branch: refs/heads/master
Commit: f19da189cbd0443d62523c2d0c9abb27d3b7f4e6
Parents: 9c7f931
Author: Savva Kolbachev <s....@gmail.com>
Authored: Thu Mar 26 16:38:36 2015 +0300
Committer: Savva Kolbachev <s....@gmail.com>
Committed: Thu Mar 26 16:38:36 2015 +0300
----------------------------------------------------------------------
docs/doc/src/main/resources/RELEASE-NOTES.txt | 1 +
1 file changed, 1 insertion(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/f19da189/docs/doc/src/main/resources/RELEASE-NOTES.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/RELEASE-NOTES.txt b/docs/doc/src/main/resources/RELEASE-NOTES.txt
index 503d10c..00f132d 100644
--- a/docs/doc/src/main/resources/RELEASE-NOTES.txt
+++ b/docs/doc/src/main/resources/RELEASE-NOTES.txt
@@ -21,6 +21,7 @@ Bug Fixes:
CAY-1987 Widen types before performing in-memory evaluation of qualifiers using j.l.Number subclasses
CAY-1990 Incorrect display of the raw SQL query in Modeler
+CAY-1993 Reverse Engineering does not work with PostgreSQL database
----------------------------------
Release: 4.0.M2