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 2014/11/24 18:57:17 UTC
cayenne git commit: fix cdb import maven plugin
Repository: cayenne
Updated Branches:
refs/heads/CAY-1946_1 7f64112f8 -> 949b84ff1
fix cdb import maven plugin
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/949b84ff
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/949b84ff
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/949b84ff
Branch: refs/heads/CAY-1946_1
Commit: 949b84ff16f1bccbc330bf45a2ffa7d6da61f10b
Parents: 7f64112
Author: alexkolonitsky <Al...@gmail.com>
Authored: Mon Nov 24 15:34:28 2014 +0300
Committer: alexkolonitsky <Al...@gmail.com>
Committed: Mon Nov 24 15:34:28 2014 +0300
----------------------------------------------------------------------
.../access/loader/filters/EntityFilters.java | 4 +-
.../apache/cayenne/tools/DbImporterTask.java | 2 -
.../org/apache/cayenne/tools/ExcludeTable.java | 33 ++++++
.../cayenne/tools/dbimport/config/Catalog.java | 16 +++
.../config/DefaultReverseEngineeringLoader.java | 1 +
.../tools/dbimport/config/ExcludeTable.java | 31 ------
.../tools/dbimport/config/FilterContainer.java | 7 ++
.../dbimport/config/FiltersConfigBuilder.java | 4 +-
.../DefaultReverseEngineeringLoaderTest.java | 5 +
.../config/FiltersConfigBuilderTest.java | 1 +
.../apache/cayenne/tools/DbImporterMojo.java | 107 ++++++++++++-------
.../tools/DbImporterMojoConfigurationTest.java | 10 +-
.../org/apache/cayenne/tools/config/pom-01.xml | 83 +++++++-------
.../apache/cayenne/tools/config/pom-flat.xml | 70 ++++++------
.../dbimport/testSchemasAndTableExclude-pom.xml | 2 +-
.../testSchemasAndTableExclude.map.xml-result | 1 +
.../tools/dbimport/testSimpleFiltering-pom.xml | 2 +-
17 files changed, 225 insertions(+), 154 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/949b84ff/cayenne-server/src/main/java/org/apache/cayenne/access/loader/filters/EntityFilters.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/loader/filters/EntityFilters.java b/cayenne-server/src/main/java/org/apache/cayenne/access/loader/filters/EntityFilters.java
index 83e9a48..3c25196 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/loader/filters/EntityFilters.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/loader/filters/EntityFilters.java
@@ -300,8 +300,8 @@ public class EntityFilters {
private String catalog;
private String schema;
- private Filter<String> tableFilters = NULL;
- private Filter<String> columnFilters = NULL;
+ private Filter<String> tableFilters = TRUE;
+ private Filter<String> columnFilters = TRUE;
private Filter<String> proceduresFilters = NULL;
public Builder() {
http://git-wip-us.apache.org/repos/asf/cayenne/blob/949b84ff/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 23fe2bd..e9f698e 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
@@ -27,8 +27,6 @@ import org.apache.cayenne.conn.DataSourceInfo;
import org.apache.cayenne.tools.dbimport.config.Catalog;
import org.apache.cayenne.tools.dbimport.config.ExcludeColumn;
import org.apache.cayenne.tools.dbimport.config.ExcludeProcedure;
-import org.apache.cayenne.tools.dbimport.config.ExcludeTable;
-import org.apache.cayenne.tools.dbimport.config.FilterContainer;
import org.apache.cayenne.tools.dbimport.config.FiltersConfigBuilder;
import org.apache.cayenne.tools.dbimport.config.IncludeColumn;
import org.apache.cayenne.tools.dbimport.config.IncludeProcedure;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/949b84ff/cayenne-tools/src/main/java/org/apache/cayenne/tools/ExcludeTable.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/tools/ExcludeTable.java b/cayenne-tools/src/main/java/org/apache/cayenne/tools/ExcludeTable.java
new file mode 100644
index 0000000..22003a7
--- /dev/null
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/tools/ExcludeTable.java
@@ -0,0 +1,33 @@
+/*****************************************************************
+ * 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.tools;
+
+import org.apache.cayenne.tools.dbimport.config.PatternParam;
+
+/**
+ * @since 3.2.
+ */
+public class ExcludeTable extends PatternParam {
+ public ExcludeTable() {
+ }
+
+ public ExcludeTable(String pattern) {
+ super(pattern);
+ }
+}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/949b84ff/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/Catalog.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/Catalog.java b/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/Catalog.java
index f6b4690..8a01502 100644
--- a/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/Catalog.java
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/Catalog.java
@@ -78,5 +78,21 @@ public class Catalog extends FilterContainer {
return this;
}
+ @Override
+ public boolean isEmptyContainer() {
+ if (!super.isEmptyContainer()) {
+ return false;
+ }
+
+ if (schemas.isEmpty()) {
+ return true;
+ }
+ for (Schema schema : schemas) {
+ if (!schema.isEmptyContainer()) {
+ return false;
+ }
+ }
+ return true;
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/949b84ff/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/DefaultReverseEngineeringLoader.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/DefaultReverseEngineeringLoader.java b/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/DefaultReverseEngineeringLoader.java
index b69c118..22ed0a6 100644
--- a/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/DefaultReverseEngineeringLoader.java
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/DefaultReverseEngineeringLoader.java
@@ -22,6 +22,7 @@ import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.ParserConfigurationException;
+import org.apache.cayenne.tools.ExcludeTable;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.w3c.dom.Document;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/949b84ff/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/ExcludeTable.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/ExcludeTable.java b/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/ExcludeTable.java
deleted file mode 100644
index 3618540..0000000
--- a/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/ExcludeTable.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*****************************************************************
- * 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.tools.dbimport.config;
-
-/**
- * @since 3.2.
- */
-public class ExcludeTable extends PatternParam {
- public ExcludeTable() {
- }
-
- public ExcludeTable(String pattern) {
- super(pattern);
- }
-}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/949b84ff/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/FilterContainer.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/FilterContainer.java b/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/FilterContainer.java
index db461ed..ff9ddd7 100644
--- a/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/FilterContainer.java
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/FilterContainer.java
@@ -18,6 +18,8 @@
****************************************************************/
package org.apache.cayenne.tools.dbimport.config;
+import org.apache.cayenne.tools.ExcludeTable;
+
import java.util.Collection;
import java.util.LinkedList;
@@ -106,4 +108,9 @@ public class FilterContainer {
this.excludeProcedures.add(excludeProcedure);
}
+ public boolean isEmptyContainer() {
+ return includeColumns.isEmpty() && excludeColumns.isEmpty()
+ && includeTables.isEmpty() && excludeTables.isEmpty()
+ && includeProcedures.isEmpty() && excludeProcedures.isEmpty();
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/949b84ff/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/FiltersConfigBuilder.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/FiltersConfigBuilder.java b/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/FiltersConfigBuilder.java
index 8ccbe7a..7b5819d 100644
--- a/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/FiltersConfigBuilder.java
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/config/FiltersConfigBuilder.java
@@ -46,8 +46,10 @@ public final class FiltersConfigBuilder {
}
public FiltersConfigBuilder add(EntityFilters filter) {
- if (!filter.getDbPath().equals(new DbPath()) && !filter.isEmpty()) {
+ if (!filter.isEmpty()) {
this.filters.add(filter);
+ } else if (!filter.getDbPath().equals(new DbPath())) {
+ this.filters.add(defaultFilter(filter.getDbPath()));
}
return this;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/949b84ff/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/config/DefaultReverseEngineeringLoaderTest.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/config/DefaultReverseEngineeringLoaderTest.java b/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/config/DefaultReverseEngineeringLoaderTest.java
index 16c9735..bf3b9f3 100644
--- a/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/config/DefaultReverseEngineeringLoaderTest.java
+++ b/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/config/DefaultReverseEngineeringLoaderTest.java
@@ -20,6 +20,7 @@
package org.apache.cayenne.tools.dbimport.config;
import org.apache.cayenne.resource.URLResource;
+import org.apache.cayenne.tools.ExcludeTable;
import org.junit.Test;
import java.io.File;
@@ -43,6 +44,10 @@ public class DefaultReverseEngineeringLoaderTest {
assertEquals("catalog-name-01", catalogs.next().getName());
assertEquals("catalog-name-02", catalogs.next().getName());
+ assertCatalog(catalogs);
+ }
+
+ public static void assertCatalog(Iterator<Catalog> catalogs) {
Catalog catalog = catalogs.next();
assertEquals("catalog-name-03", catalog.getName());
http://git-wip-us.apache.org/repos/asf/cayenne/blob/949b84ff/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/config/FiltersConfigBuilderTest.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/config/FiltersConfigBuilderTest.java b/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/config/FiltersConfigBuilderTest.java
index 54fb4c0..6861e2b 100644
--- a/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/config/FiltersConfigBuilderTest.java
+++ b/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/config/FiltersConfigBuilderTest.java
@@ -22,6 +22,7 @@ package org.apache.cayenne.tools.dbimport.config;
import org.apache.cayenne.access.loader.filters.DbPath;
import org.apache.cayenne.access.loader.filters.EntityFilters;
import org.apache.cayenne.access.loader.filters.FiltersConfig;
+import org.apache.cayenne.tools.ExcludeTable;
import org.junit.Test;
import static org.apache.cayenne.access.loader.filters.FilterFactory.*;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/949b84ff/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 e429478..5354f9d 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
@@ -19,13 +19,14 @@
package org.apache.cayenne.tools;
import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
import org.apache.cayenne.access.loader.filters.EntityFilters;
import org.apache.cayenne.access.loader.filters.FilterFactory;
import org.apache.cayenne.tools.dbimport.config.Catalog;
import org.apache.cayenne.tools.dbimport.config.ExcludeColumn;
import org.apache.cayenne.tools.dbimport.config.ExcludeProcedure;
-import org.apache.cayenne.tools.dbimport.config.ExcludeTable;
import org.apache.cayenne.tools.dbimport.config.FiltersConfigBuilder;
import org.apache.cayenne.tools.dbimport.config.IncludeColumn;
import org.apache.cayenne.tools.dbimport.config.IncludeProcedure;
@@ -146,16 +147,23 @@ public class DbImporterMojo extends AbstractMojo {
*/
private boolean usePrimitives;
- private final ReverseEngineering reverseEngineering = new ReverseEngineering();
-
private final EntityFilters.Builder filterBuilder = new EntityFilters.Builder();
/**
+ * If true, would use primitives instead of numeric and boolean classes.
+ *
+ * @parameter expression="${cdbimport.reverseEngineering}"
+ */
+ private ReverseEngineering reverseEngineering = new ReverseEngineering();
+
+ /**
* DB schema to use for DB importing.
*
* @parameter expression="${cdbimport.schemaName}"
* @deprecated since 4.0 renamed to "schema"
*/
+ private String schemaName;
+
private void setSchemaName(String schemaName) {
getLog().warn("'schemaName' property is deprecated. Use 'schema' instead");
@@ -165,21 +173,17 @@ public class DbImporterMojo extends AbstractMojo {
/**
* DB schema to use for DB importing.
*
- * @parameter expression="${cdbimport.catalog}"
- * @since 4.0
- */
- private void setCatalog(String catalog) {
- filterBuilder.catalog(catalog);
- }
-
- /**
- * DB schema to use for DB importing.
- *
* @parameter expression="${cdbimport.schema}"
* @since 4.0
*/
- private void setSchema(String schema) {
- filterBuilder.schema(schema);
+ private Schema schema;
+
+ public void setSchema(Schema schema) {
+ if (schema.isEmptyContainer()) {
+ filterBuilder.schema(schema.getName());
+ } else {
+ reverseEngineering.addSchema(schema);
+ }
}
/**
@@ -189,7 +193,9 @@ public class DbImporterMojo extends AbstractMojo {
*
* @parameter expression="${cdbimport.tablePattern}"
*/
- private void setTablePattern(String tablePattern) {
+ private String tablePattern;
+
+ public void setTablePattern(String tablePattern) {
filterBuilder.includeTables(tablePattern);
}
@@ -201,7 +207,9 @@ public class DbImporterMojo extends AbstractMojo {
* @parameter expression="${cdbimport.importProcedures}"
* default-value="false"
*/
- private void setImportProcedures(boolean importProcedures) {
+ private String importProcedures;
+
+ public void setImportProcedures(boolean importProcedures) {
filterBuilder.setProceduresFilters(importProcedures ? FilterFactory.TRUE : FilterFactory.NULL);
}
@@ -213,7 +221,9 @@ public class DbImporterMojo extends AbstractMojo {
*
* @parameter expression="${cdbimport.procedurePattern}"
*/
- private void setProcedurePattern(String procedurePattern) {
+ private String procedurePattern;
+
+ public void setProcedurePattern(String procedurePattern) {
filterBuilder.includeProcedures(procedurePattern);
}
@@ -226,6 +236,8 @@ public class DbImporterMojo extends AbstractMojo {
* @parameter expression="${cdbimport.meaningfulPk}" default-value="false"
* @deprecated since 4.0 use meaningfulPkTables
*/
+ private boolean meaningfulPk;
+
public void setMeaningfulPk(boolean meaningfulPk) {
getLog().warn("'meaningfulPk' property is deprecated. Use 'meaningfulPkTables' pattern instead");
@@ -273,10 +285,6 @@ public class DbImporterMojo extends AbstractMojo {
return config;
}
- private String getSchema() {
- return filterBuilder.schema();
- }
-
public File getMap() {
return map;
}
@@ -301,39 +309,58 @@ public class DbImporterMojo extends AbstractMojo {
this.url = url;
}
- public void addIncludeColumn(IncludeColumn includeColumn) {
- reverseEngineering.addIncludeColumn(includeColumn);
- }
-
- public void addExcludeColumn(ExcludeColumn excludeColumn) {
- reverseEngineering.addExcludeColumn(excludeColumn);
- }
- public void addIncludeTable(IncludeTable includeTable) {
- reverseEngineering.addIncludeTable(includeTable);
- }
+ /**
+ * A comma-separated list of Perl5 regex that defines tables that should be
+ * included in import.
+ *
+ * @parameter expression="${cdbimport.includeTables}"
+ */
+ private String includeTables;
- public void addExcludeTable(ExcludeTable excludeTable) {
- reverseEngineering.addExcludeTable(excludeTable);
+ public void setIncludeTables(String includeTables) {
+ filterBuilder.includeTables(includeTables);
}
- public void addIncludeProcedure(IncludeProcedure includeProcedure) {
- reverseEngineering.addIncludeProcedure(includeProcedure);
- }
+ /**
+ * A comma-separated list of Perl5 regex that defines tables that should be
+ * skipped from import.
+ *
+ * @parameter expression="${cdbimport.excludeTables}"
+ */
+ private String excludeTables;
- public void addExcludeProcedure(ExcludeProcedure excludeProcedure) {
- reverseEngineering.addExcludeProcedure(excludeProcedure);
+ public void setExcludeTables(String excludeTables) {
+ filterBuilder.excludeTables(excludeTables);
}
public void addSchema(Schema schema) {
reverseEngineering.addSchema(schema);
}
+ /**
+ * DB schema to use for DB importing.
+ *
+ * @parameter expression="${cdbimport.catalog}"
+ * @since 4.0
+ */
+ private Catalog catalog[];
+
public void addCatalog(Catalog catalog) {
- reverseEngineering.addCatalog(catalog);
+ if (catalog != null) {
+ if (catalog.isEmptyContainer()) {
+ filterBuilder.catalog(catalog.getName());
+ } else {
+ reverseEngineering.addCatalog(catalog);
+ }
+ }
}
public ReverseEngineering getReverseEngineering() {
return reverseEngineering;
}
+
+ public void setReverseEngineering(ReverseEngineering reverseEngineering) {
+ this.reverseEngineering = reverseEngineering;
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/949b84ff/plugins/maven-cayenne-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoConfigurationTest.java
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoConfigurationTest.java b/plugins/maven-cayenne-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoConfigurationTest.java
index e5a3a49..49fd23a 100644
--- a/plugins/maven-cayenne-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoConfigurationTest.java
+++ b/plugins/maven-cayenne-plugin/src/test/java/org/apache/cayenne/tools/DbImporterMojoConfigurationTest.java
@@ -19,6 +19,9 @@
package org.apache.cayenne.tools;
import static org.apache.cayenne.tools.dbimport.config.DefaultReverseEngineeringLoaderTest.*;
+import static org.junit.Assert.assertEquals;
+
+import org.apache.cayenne.tools.dbimport.config.Schema;
import org.apache.maven.plugin.testing.AbstractMojoTestCase;
import org.junit.Test;
@@ -29,12 +32,15 @@ public class DbImporterMojoConfigurationTest extends AbstractMojoTestCase {
@Test
public void testLoadCatalog() throws Exception {
- assertCatalog(getCdbImport("pom-catalog.xml").getReverseEngineering());
+ assertCatalog(getCdbImport("pom-catalog.xml").getReverseEngineering().getCatalogs().iterator());
}
@Test
public void testLoadSchema() throws Exception {
- assertSchema(getCdbImport("pom-schema.xml").getReverseEngineering());
+ Schema schema = getCdbImport("pom-schema.xml").getReverseEngineering().getSchemas().iterator().next();
+ assertEquals("schema-name-03", schema.getName());
+
+ assertSchemaContent(schema);
}
@Test
http://git-wip-us.apache.org/repos/asf/cayenne/blob/949b84ff/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-01.xml
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-01.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-01.xml
index c3da6bb..b16afd8 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-01.xml
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-01.xml
@@ -29,65 +29,68 @@
<artifactId>maven-cayenne-plugin</artifactId>
<configuration>
<map>target/test/org/apache/cayenne/tools/dbimporter-map1.map.xml</map>
- <catalog>catalog-name-01</catalog>
- <catalog>
- <name>catalog-name-02</name>
+ <reverseEngineering>
+ <catalog>catalog-name-01</catalog>
- <schema>schema-name-01</schema>
+ <catalog>
+ <name>catalog-name-02</name>
- <schema>
- <name>schema-name-02</name>
+ <schema>schema-name-01</schema>
- <includeTable>incTable-01</includeTable>
- <excludeTable>excTable-01</excludeTable>
+ <schema>
+ <name>schema-name-02</name>
- <includeTable>
- <pattern>incTable-02</pattern>
+ <includeTable>incTable-01</includeTable>
+ <excludeTable>excTable-01</excludeTable>
- <includeColumn>includeColumn-01</includeColumn>
- <excludeColumn>excludeColumn-01</excludeColumn>
- </includeTable>
+ <includeTable>
+ <pattern>incTable-02</pattern>
- <includeColumn>includeColumn-02</includeColumn>
- <excludeColumn>excludeColumn-02</excludeColumn>
- </schema>
+ <includeColumn>includeColumn-01</includeColumn>
+ <excludeColumn>excludeColumn-01</excludeColumn>
+ </includeTable>
- <includeColumn>includeColumn-03</includeColumn>
- <excludeColumn>excludeColumn-03</excludeColumn>
- </catalog>
+ <includeColumn>includeColumn-02</includeColumn>
+ <excludeColumn>excludeColumn-02</excludeColumn>
+ </schema>
- <schema>schema-name-03</schema>
+ <includeColumn>includeColumn-03</includeColumn>
+ <excludeColumn>excludeColumn-03</excludeColumn>
+ </catalog>
- <schema>
- <name>schema-name-04</name>
+ <schema>schema-name-03</schema>
- <includeTable>incTable-04</includeTable>
- <excludeTable>excTable-04</excludeTable>
+ <schema>
+ <name>schema-name-04</name>
- <includeTable>
- <pattern>incTable-05</pattern>
+ <includeTable>incTable-04</includeTable>
+ <excludeTable>excTable-04</excludeTable>
+
+ <includeTable>
+ <pattern>incTable-05</pattern>
+
+ <includeColumn>includeColumn-04</includeColumn>
+ <excludeColumn>excludeColumn-04</excludeColumn>
+ </includeTable>
<includeColumn>includeColumn-04</includeColumn>
<excludeColumn>excludeColumn-04</excludeColumn>
- </includeTable>
-
- <includeColumn>includeColumn-04</includeColumn>
- <excludeColumn>excludeColumn-04</excludeColumn>
- </schema>
+ </schema>
- <includeTable>incTable-06</includeTable>
- <excludeTable>excTable-06</excludeTable>
+ <includeTable>incTable-06</includeTable>
+ <excludeTable>excTable-06</excludeTable>
- <includeTable>
- <pattern>incTable-07</pattern>
+ <includeTable>
+ <pattern>incTable-07</pattern>
- <includeColumn>includeColumn-06</includeColumn>
- <excludeColumn>excludeColumn-06</excludeColumn>
- </includeTable>
+ <includeColumn>includeColumn-06</includeColumn>
+ <excludeColumn>excludeColumn-06</excludeColumn>
+ </includeTable>
- <includeColumn>includeColumn-05</includeColumn>
- <excludeColumn>excludeColumn-05</excludeColumn>
+ <includeColumn>includeColumn-05</includeColumn>
+ <excludeColumn>excludeColumn-05</excludeColumn>
+ </reverseEngineering>
</configuration>
</plugin>
</plugins>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/949b84ff/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-flat.xml
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-flat.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-flat.xml
index 0645fe3..e245f94 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-flat.xml
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-flat.xml
@@ -28,46 +28,48 @@
<configuration>
<map>target/test/org/apache/cayenne/tools/dbimporter-map1.map.xml</map>
- <includeTable>includeTable-01</includeTable>
+ <reverseEngineering>
+ <includeTable>includeTable-01</includeTable>
- <includeTable>
- <pattern>includeTable-02</pattern>
- </includeTable>
+ <includeTable>
+ <pattern>includeTable-02</pattern>
+ </includeTable>
- <includeTable>
- <pattern>includeTable-03</pattern>
+ <includeTable>
+ <pattern>includeTable-03</pattern>
- <includeColumn>includeColumn-01</includeColumn>
- <excludeColumn>excludeColumn-01</excludeColumn>
- </includeTable>
+ <includeColumn>includeColumn-01</includeColumn>
+ <excludeColumn>excludeColumn-01</excludeColumn>
+ </includeTable>
- <excludeTable>excludeTable-01</excludeTable>
- <excludeTable>
- <pattern>excludeTable-02</pattern>
- </excludeTable>
- <excludeTable>excludeTable-03</excludeTable>
+ <excludeTable>excludeTable-01</excludeTable>
+ <excludeTable>
+ <pattern>excludeTable-02</pattern>
+ </excludeTable>
+ <excludeTable>excludeTable-03</excludeTable>
- <includeColumn>includeColumn-01</includeColumn>
- <includeColumn>
- <pattern>includeColumn-02</pattern>
- </includeColumn>
- <includeColumn>includeColumn-03</includeColumn>
- <excludeColumn>excludeColumn-01</excludeColumn>
- <excludeColumn>
- <pattern>excludeColumn-02</pattern>
- </excludeColumn>
- <excludeColumn>excludeColumn-03</excludeColumn>
+ <includeColumn>includeColumn-01</includeColumn>
+ <includeColumn>
+ <pattern>includeColumn-02</pattern>
+ </includeColumn>
+ <includeColumn>includeColumn-03</includeColumn>
+ <excludeColumn>excludeColumn-01</excludeColumn>
+ <excludeColumn>
+ <pattern>excludeColumn-02</pattern>
+ </excludeColumn>
+ <excludeColumn>excludeColumn-03</excludeColumn>
- <includeProcedure>includeProcedure-01</includeProcedure>
- <includeProcedure>
- <pattern>includeProcedure-02</pattern>
- </includeProcedure>
- <includeProcedure>includeProcedure-03</includeProcedure>
- <excludeProcedure>excludeProcedure-01</excludeProcedure>
- <excludeProcedure>
- <pattern>excludeProcedure-02</pattern>
- </excludeProcedure>
- <excludeProcedure>excludeProcedure-03</excludeProcedure>
+ <includeProcedure>includeProcedure-01</includeProcedure>
+ <includeProcedure>
+ <pattern>includeProcedure-02</pattern>
+ </includeProcedure>
+ <includeProcedure>includeProcedure-03</includeProcedure>
+ <excludeProcedure>excludeProcedure-01</excludeProcedure>
+ <excludeProcedure>
+ <pattern>excludeProcedure-02</pattern>
+ </excludeProcedure>
+ <excludeProcedure>excludeProcedure-03</excludeProcedure>
+ </reverseEngineering>
</configuration>
</plugin>
</plugins>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/949b84ff/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSchemasAndTableExclude-pom.xml
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSchemasAndTableExclude-pom.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSchemasAndTableExclude-pom.xml
index f6665f8..66b051e 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSchemasAndTableExclude-pom.xml
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSchemasAndTableExclude-pom.xml
@@ -36,7 +36,7 @@
<name>SCHEMA_01</name>
</schema>
- <excludeTable>Child</excludeTable>
+ <excludeTables>Child</excludeTables>
</configuration>
</plugin>
</plugins>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/949b84ff/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSchemasAndTableExclude.map.xml-result
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSchemasAndTableExclude.map.xml-result b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSchemasAndTableExclude.map.xml-result
index 5853842..83f9934 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSchemasAndTableExclude.map.xml-result
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSchemasAndTableExclude.map.xml-result
@@ -21,6 +21,7 @@
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="defaultSchema" value="SCHEMA_01"/>
<db-entity name="PARENT" schema="SCHEMA_01">
<db-attribute name="COL2" type="CHAR" length="25"/>
<db-attribute name="COL3" type="DECIMAL" length="10" scale="2"/>
http://git-wip-us.apache.org/repos/asf/cayenne/blob/949b84ff/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSimpleFiltering-pom.xml
----------------------------------------------------------------------
diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSimpleFiltering-pom.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSimpleFiltering-pom.xml
index 00f10ff..1cb3ed6 100644
--- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSimpleFiltering-pom.xml
+++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testSimpleFiltering-pom.xml
@@ -32,7 +32,7 @@
<driver>org.apache.derby.jdbc.EmbeddedDriver</driver>
<url>jdbc:derby:memory:DbImporterMojoTest;create=true</url>
- <includeTable>Parent</includeTable>
+ <tablePattern>Parent</tablePattern>
</configuration>
</plugin>
</plugins>