CAY-2213 cdbimport: new configuration schema
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/5d7507f6 Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/5d7507f6 Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/5d7507f6 Branch: refs/heads/master Commit: 5d7507f640627aa058fe2e2756296eaf459e3fdf Parents: f784974 Author: Nikita Timofeev <stari...@gmail.com> Authored: Mon Jan 30 14:09:29 2017 +0300 Committer: Nikita Timofeev <stari...@gmail.com> Committed: Mon Jan 30 14:09:29 2017 +0300 ---------------------------------------------------------------------- .../reverse/filters/FiltersConfigBuilder.java | 26 +- .../org/apache/cayenne/dbimport/Catalog.java | 6 +- .../DefaultReverseEngineeringLoader.java | 1 + .../DefaultReverseEngineeringWriter.java | 3 +- .../cayenne/dbimport/FilterContainer.java | 25 +- .../apache/cayenne/dbimport/IncludeTable.java | 10 +- .../apache/cayenne/dbimport/PatternParam.java | 17 +- .../cayenne/dbimport/ReverseEngineering.java | 147 +++++++---- .../dbimport/ReverseEngineeringLoader.java | 1 + .../ReverseEngineeringLoaderException.java | 1 + .../dbimport/ReverseEngineeringWriter.java | 1 + .../org/apache/cayenne/dbimport/Schema.java | 6 - .../DefaultReverseEngineeringWriterTest.java | 8 +- .../tools/DbImportConfigurationValidator.java | 22 +- plugins/maven-cayenne-plugin/pom.xml | 5 + .../cayenne/tools/CayenneGeneratorMojo.java | 38 +-- .../cayenne/tools/DbImportDataSourceConfig.java | 62 +++++ .../apache/cayenne/tools/DbImporterMojo.java | 248 +++++++++++-------- .../cayenne/tools/DbImporterMojoTest.java | 24 +- .../org/apache/cayenne/tools/config/pom-01.xml | 4 +- .../tools/config/pom-catalog-and-schema.xml | 4 +- .../apache/cayenne/tools/config/pom-catalog.xml | 4 +- .../tools/config/pom-default-package.xml | 4 +- .../apache/cayenne/tools/config/pom-flat.xml | 4 +- .../cayenne/tools/config/pom-schema-2.xml | 4 +- .../apache/cayenne/tools/config/pom-schema.xml | 4 +- .../config/pom-skip-primary-key-loading.xml | 4 +- .../config/pom-skip-relationships-loading.xml | 4 +- .../cayenne/tools/config/pom-table-types.xml | 4 +- .../dbimport/testComplexChangeOrder-pom.xml | 10 +- .../testCustomObjectLayerSettings-pom.xml | 20 +- .../dbimport/testDbAttributeChange-pom.xml | 10 +- .../tools/dbimport/testDefaultPackage-pom.xml | 13 +- .../dbimport/testFilteringWithSchema-pom.xml | 10 +- .../dbimport/testFkAttributeRename-pom.xml | 11 +- ...tFlattensManyToManyWithRecursiveLink-pom.xml | 10 +- .../dbimport/testForceDataMapSchema-pom.xml | 18 +- .../testImportAddTableAndColumn-pom.xml | 6 +- .../tools/dbimport/testImportNewDataMap-pom.xml | 6 +- .../dbimport/testImportWithoutChanges-pom.xml | 6 +- .../cayenne/tools/dbimport/testOneToOne-pom.xml | 6 +- .../tools/dbimport/testOneToOne.map.xml-result | 2 +- .../testPreserveCustomObjMappings-pom.xml | 11 +- .../dbimport/testPreserveRelationships-pom.xml | 11 +- .../dbimport/testSchemasAndTableExclude-pom.xml | 10 +- .../dbimport/testSkipPrimaryKeyLoading-pom.xml | 10 +- .../testSkipPrimaryKeyLoading.map.xml-result | 2 +- .../testSkipRelationshipsLoading-pom.xml | 10 +- ...SupportsCatalogsOnReverseEngineering-pom.xml | 12 +- .../tools/dbimport/testTableTypes-pom.xml | 10 +- .../dbimport/testUnFlattensManyToMany-pom.xml | 10 +- .../tools/dbimport/testViewsExclude-pom.xml | 10 +- .../dbimport/testViewsExclude.map.xml-result | 2 +- .../apache/cayenne/tools/dbimporter-pom2.xml | 4 +- .../apache/cayenne/tools/dbimporter-pom3.xml | 4 +- plugins/pom.xml | 17 +- 56 files changed, 555 insertions(+), 387 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/filters/FiltersConfigBuilder.java ---------------------------------------------------------------------- diff --git a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/filters/FiltersConfigBuilder.java b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/filters/FiltersConfigBuilder.java index ae6b1ee..18af876 100644 --- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/filters/FiltersConfigBuilder.java +++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/reverse/filters/FiltersConfigBuilder.java @@ -78,7 +78,7 @@ public final class FiltersConfigBuilder { } private SortedSet<Pattern> transformExcludeTable(Collection<ExcludeTable> excludeTables) { - SortedSet<Pattern> res = new TreeSet<Pattern>(PatternFilter.PATTERN_COMPARATOR); + SortedSet<Pattern> res = new TreeSet<>(PatternFilter.PATTERN_COMPARATOR); for (ExcludeTable exclude : excludeTables) { res.add(PatternFilter.pattern(exclude.getPattern())); } @@ -86,7 +86,7 @@ public final class FiltersConfigBuilder { } private SortedSet<IncludeTableFilter> transformIncludeTable(Collection<IncludeTable> includeTables) { - SortedSet<IncludeTableFilter> includeTableFilters = new TreeSet<IncludeTableFilter>(); + SortedSet<IncludeTableFilter> includeTableFilters = new TreeSet<>(); for (IncludeTable includeTable : includeTables) { includeTableFilters.add(new IncludeTableFilter(includeTable.getPattern(), transform(includeTable.getIncludeColumns(), includeTable.getExcludeColumns()))); @@ -266,18 +266,16 @@ public final class FiltersConfigBuilder { schema.setIncludeColumns(null); schema.setExcludeColumns(null); - if (schema != null) { - for (IncludeTable includeTable : schema.getIncludeTables()) { - if (engIncludeColumns != null) { - includeTable.getIncludeColumns().addAll(engIncludeColumns); - includeTable.getIncludeColumns().addAll(catalogIncludeColumns); - includeTable.getIncludeColumns().addAll(schemaIncludeColumns); - } - if (engExcludeColumns != null) { - includeTable.getExcludeColumns().addAll(engExcludeColumns); - includeTable.getExcludeColumns().addAll(catalogExcludeColumns); - includeTable.getExcludeColumns().addAll(schemaExcludeColumns); - } + for (IncludeTable includeTable : schema.getIncludeTables()) { + if (engIncludeColumns != null) { + includeTable.getIncludeColumns().addAll(engIncludeColumns); + includeTable.getIncludeColumns().addAll(catalogIncludeColumns); + includeTable.getIncludeColumns().addAll(schemaIncludeColumns); + } + if (engExcludeColumns != null) { + includeTable.getExcludeColumns().addAll(engExcludeColumns); + includeTable.getExcludeColumns().addAll(catalogExcludeColumns); + includeTable.getExcludeColumns().addAll(schemaExcludeColumns); } } } http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/cayenne-server/src/main/java/org/apache/cayenne/dbimport/Catalog.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/Catalog.java b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/Catalog.java index 99cf4cc..a6fb4de 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/Catalog.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/Catalog.java @@ -18,21 +18,17 @@ ****************************************************************/ package org.apache.cayenne.dbimport; -import javax.xml.bind.annotation.*; import java.util.Collection; import java.util.LinkedList; /** * @since 4.0. */ -@XmlAccessorType(XmlAccessType.FIELD) public class Catalog extends FilterContainer { - @XmlAttribute(name = "name") private String name; - @XmlElement(name = "schema") - private Collection<Schema> schemas = new LinkedList<Schema>(); + private Collection<Schema> schemas = new LinkedList<>(); public Catalog() { } http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/cayenne-server/src/main/java/org/apache/cayenne/dbimport/DefaultReverseEngineeringLoader.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/DefaultReverseEngineeringLoader.java b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/DefaultReverseEngineeringLoader.java index cb63ff9..ce3154e 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/DefaultReverseEngineeringLoader.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/DefaultReverseEngineeringLoader.java @@ -37,6 +37,7 @@ import java.util.List; /** * @since 4.0. + * @deprecated */ public class DefaultReverseEngineeringLoader implements ReverseEngineeringLoader { http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/cayenne-server/src/main/java/org/apache/cayenne/dbimport/DefaultReverseEngineeringWriter.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/DefaultReverseEngineeringWriter.java b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/DefaultReverseEngineeringWriter.java index ce1d583..b9fc745 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/DefaultReverseEngineeringWriter.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/DefaultReverseEngineeringWriter.java @@ -31,6 +31,7 @@ import java.io.Writer; /** * @since 4.0 + * @deprecated */ public class DefaultReverseEngineeringWriter implements ReverseEngineeringWriter { private final static Log LOGGER = LogFactory.getLog(DefaultReverseEngineeringWriter.class); @@ -49,7 +50,7 @@ public class DefaultReverseEngineeringWriter implements ReverseEngineeringWriter marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true); marshaller.marshal(reverseEngineering, writer); writer.close(); - return reverseEngineering.getConfigurationSource(); + return null;//reverseEngineering.getConfigurationSource(); } catch (JAXBException | IOException e) { LOGGER.error(e.getMessage(), e); throw new CayenneRuntimeException(e); http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/cayenne-server/src/main/java/org/apache/cayenne/dbimport/FilterContainer.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/FilterContainer.java b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/FilterContainer.java index 5a42d3b..ee7bf36 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/FilterContainer.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/FilterContainer.java @@ -18,35 +18,25 @@ ****************************************************************/ package org.apache.cayenne.dbimport; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; import java.util.Collection; import java.util.LinkedList; /** * @since 4.0. */ -@XmlAccessorType(XmlAccessType.FIELD) public abstract class FilterContainer { - @XmlElement(name = "includeTable") - private Collection<IncludeTable> includeTables = new LinkedList<IncludeTable>(); + private Collection<IncludeTable> includeTables = new LinkedList<>(); - @XmlElement(name = "excludeTable") - private Collection<ExcludeTable> excludeTables = new LinkedList<ExcludeTable>(); + private Collection<ExcludeTable> excludeTables = new LinkedList<>(); - @XmlElement(name = "includeColumn") - private Collection<IncludeColumn> includeColumns = new LinkedList<IncludeColumn>(); + private Collection<IncludeColumn> includeColumns = new LinkedList<>(); - @XmlElement(name = "excludeColumn") - private Collection<ExcludeColumn> excludeColumns = new LinkedList<ExcludeColumn>(); + private Collection<ExcludeColumn> excludeColumns = new LinkedList<>(); - @XmlElement(name = "includeProcedure") - private Collection<IncludeProcedure> includeProcedures = new LinkedList<IncludeProcedure>(); + private Collection<IncludeProcedure> includeProcedures = new LinkedList<>(); - @XmlElement(name = "excludeProcedure") - private Collection<ExcludeProcedure> excludeProcedures = new LinkedList<ExcludeProcedure>(); + private Collection<ExcludeProcedure> excludeProcedures = new LinkedList<>(); public Collection<IncludeTable> getIncludeTables() { return includeTables; @@ -96,7 +86,6 @@ public abstract class FilterContainer { this.excludeProcedures = excludeProcedures; } - public void addIncludeColumn(IncludeColumn includeColumn) { this.includeColumns.add(includeColumn); } @@ -154,6 +143,4 @@ public abstract class FilterContainer { } } } - - } http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/cayenne-server/src/main/java/org/apache/cayenne/dbimport/IncludeTable.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/IncludeTable.java b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/IncludeTable.java index c25701f..d4ed08a 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/IncludeTable.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/IncludeTable.java @@ -18,23 +18,17 @@ ****************************************************************/ package org.apache.cayenne.dbimport; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; import java.util.Collection; import java.util.LinkedList; /** * @since 4.0. */ -@XmlAccessorType(XmlAccessType.FIELD) public class IncludeTable extends PatternParam { - @XmlElement(name = "includeColumn") - private Collection<IncludeColumn> includeColumns = new LinkedList<IncludeColumn>(); + private Collection<IncludeColumn> includeColumns = new LinkedList<>(); - @XmlElement(name = "excludeColumn") - private Collection<ExcludeColumn> excludeColumns = new LinkedList<ExcludeColumn>(); + private Collection<ExcludeColumn> excludeColumns = new LinkedList<>(); public IncludeTable() { } http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/cayenne-server/src/main/java/org/apache/cayenne/dbimport/PatternParam.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/PatternParam.java b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/PatternParam.java index 9573232..162c718 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/PatternParam.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/PatternParam.java @@ -18,17 +18,11 @@ ****************************************************************/ package org.apache.cayenne.dbimport; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; - /** * @since 4.0. */ -@XmlAccessorType(XmlAccessType.FIELD) public class PatternParam { - @XmlAttribute(name = "pattern") private String pattern; public PatternParam() { @@ -47,9 +41,7 @@ public class PatternParam { } /** - * used my maven - * - * @param pattern + * Used by Maven plugin */ public void set(String pattern) { setPattern(pattern); @@ -57,9 +49,7 @@ public class PatternParam { /** - * used my ant - * - * @param pattern + * Used by Ant task */ public void addText(String pattern) { if (pattern.trim().isEmpty()) { @@ -69,6 +59,9 @@ public class PatternParam { setPattern(pattern); } + /** + * used by Ant? + */ public void addConfiguredPattern(AntNestedElement pattern) { set(pattern.getName()); } http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineering.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineering.java b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineering.java index 5781561..7d66ceb 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineering.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineering.java @@ -18,46 +18,99 @@ ****************************************************************/ package org.apache.cayenne.dbimport; - -import org.apache.cayenne.resource.Resource; - -import javax.xml.bind.annotation.*; import java.io.Serializable; import java.util.Collection; import java.util.LinkedList; /** - * @since 4.0. + * @since 4.0 */ -@XmlRootElement(name = "reverseEngineering") -@XmlAccessorType(XmlAccessType.FIELD) public class ReverseEngineering extends FilterContainer implements Serializable { - @XmlTransient - protected Resource configurationSource; - @XmlTransient - private String name; - private Boolean skipRelationshipsLoading; + private Boolean skipPrimaryKeyLoading; /* - * Typical types are "TABLE", - * "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", - * "LOCAL TEMPORARY", "ALIAS", "SYNONYM"., etc. + * <p> + * A default package for ObjEntity Java classes. + * </p> + * <p> + * If not specified, and the existing DataMap already has the default package, + * the existing package will be used. + * </p> */ - @XmlElement(name = "tableType") - private Collection<String> tableTypes = new LinkedList<String>(); + private String defaultPackage; - @XmlElement(name = "catalog") - private Collection<Catalog> catalogs = new LinkedList<Catalog>(); + /** + * <p> + * Automatically tagging each DbEntity with the actual DB catalog/schema (default behavior) may sometimes be undesirable. + * If this is the case then setting forceDataMapCatalog to true will set DbEntity catalog to one in the DataMap. + * </p> + * <p> + * Default value is <b>false</b>. + * </p> + */ + private boolean forceDataMapCatalog; - @XmlElement(name = "schema") - private Collection<Schema> schemas = new LinkedList<Schema>(); + /** + * <p> + * Automatically tagging each DbEntity with the actual DB catalog/schema (default behavior) may sometimes be undesirable. + * If this is the case then setting forceDataMapSchema to true will set DbEntity schema to one in the DataMap. + * </p> + * <p> + * Default value is <b>false</b>. + * </p> + */ + private boolean forceDataMapSchema; - public ReverseEngineering(String name) { - this.name = name; - } + /** + * <p> + * A comma-separated list of Perl5 patterns that defines which imported tables should have their primary key columns + * mapped as ObjAttributes. + * </p> + * <p><b>"*"</b> would indicate all tables.</p> + */ + private String meaningfulPkTables; + + /** + * <p> + * Object layer naming generator implementation. + * Should be fully qualified Java class name implementing "org.apache.cayenne.dbsync.naming.ObjectNameGenerator". + * </p> + * <p> + * The default is "org.apache.cayenne.dbsync.naming.DefaultObjectNameGenerator". + * </p> + */ + private String namingStrategy = "org.apache.cayenne.dbsync.naming.DefaultObjectNameGenerator"; + + /** + * A regular expression that should match the part of the table name to strip before generating DB names. + */ + private String stripFromTableNames = ""; + + /** + * <p>If true, would use primitives instead of numeric and boolean classes.</p> + * <p>Default is <b>"true"</b>, i.e. primitives will be used.</p> + */ + private boolean usePrimitives = true; + + /** + * Typical types are: <ul> + * <li> "TABLE" + * <li> "VIEW" + * <li> "SYSTEM TABLE" + * <li> "GLOBAL TEMPORARY", + * <li> "LOCAL TEMPORARY" + * <li> "ALIAS" + * <li> "SYNONYM" + * </ul> + */ + private Collection<String> tableTypes = new LinkedList<>(); + + private Collection<Catalog> catalogs = new LinkedList<>(); + + private Collection<Schema> schemas = new LinkedList<>(); public ReverseEngineering() { } @@ -78,14 +131,6 @@ public class ReverseEngineering extends FilterContainer implements Serializable this.skipPrimaryKeyLoading = skipPrimaryKeyLoading; } - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - public Collection<Catalog> getCatalogs() { return catalogs; } @@ -150,26 +195,40 @@ public class ReverseEngineering extends FilterContainer implements Serializable } if (skipRelationshipsLoading != null && skipRelationshipsLoading) { - res.append("\n").append(" Skip Relationships Loading"); + res.append("\n Skip Relationships Loading"); } if (skipPrimaryKeyLoading != null && skipPrimaryKeyLoading) { - res.append("\n").append(" Skip PrimaryKey Loading"); + res.append("\n Skip PrimaryKey Loading"); } return super.toString(res, " ").toString(); } - /** - * @since 4.0 - */ - public Resource getConfigurationSource() { - return configurationSource; + public String getDefaultPackage() { + return defaultPackage; } - /** - * @since 4.0 - */ - public void setConfigurationSource(Resource configurationSource) { - this.configurationSource = configurationSource; + public boolean isForceDataMapCatalog() { + return forceDataMapCatalog; + } + + public boolean isForceDataMapSchema() { + return forceDataMapSchema; + } + + public String getMeaningfulPkTables() { + return meaningfulPkTables; + } + + public String getNamingStrategy() { + return namingStrategy; + } + + public String getStripFromTableNames() { + return stripFromTableNames; + } + + public boolean isUsePrimitives() { + return usePrimitives; } } http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineeringLoader.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineeringLoader.java b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineeringLoader.java index 83d0f45..291594d 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineeringLoader.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineeringLoader.java @@ -28,6 +28,7 @@ import java.net.URL; /** * @since 4.0. + * @deprecated */ public interface ReverseEngineeringLoader { http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineeringLoaderException.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineeringLoaderException.java b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineeringLoaderException.java index 2becf65..92c3801 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineeringLoaderException.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineeringLoaderException.java @@ -25,6 +25,7 @@ import javax.xml.parsers.ParserConfigurationException; /** * @since 4.0 + * @deprecated */ public class ReverseEngineeringLoaderException extends CayenneRuntimeException { http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineeringWriter.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineeringWriter.java b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineeringWriter.java index 41b80f6..3022fd3 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineeringWriter.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/ReverseEngineeringWriter.java @@ -25,6 +25,7 @@ import java.io.Writer; /** * @since 4.0 + * @deprecated */ public interface ReverseEngineeringWriter { http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/cayenne-server/src/main/java/org/apache/cayenne/dbimport/Schema.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/Schema.java b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/Schema.java index 8667891..e572433 100644 --- a/cayenne-server/src/main/java/org/apache/cayenne/dbimport/Schema.java +++ b/cayenne-server/src/main/java/org/apache/cayenne/dbimport/Schema.java @@ -18,17 +18,11 @@ ****************************************************************/ package org.apache.cayenne.dbimport; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; - /** * @since 4.0. */ -@XmlAccessorType(XmlAccessType.FIELD) public class Schema extends FilterContainer { - @XmlAttribute(name = "name") private String name; public Schema() { http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/cayenne-server/src/test/java/org/apache/cayenne/dbimport/DefaultReverseEngineeringWriterTest.java ---------------------------------------------------------------------- diff --git a/cayenne-server/src/test/java/org/apache/cayenne/dbimport/DefaultReverseEngineeringWriterTest.java b/cayenne-server/src/test/java/org/apache/cayenne/dbimport/DefaultReverseEngineeringWriterTest.java index 68a214d..7d46c4a 100644 --- a/cayenne-server/src/test/java/org/apache/cayenne/dbimport/DefaultReverseEngineeringWriterTest.java +++ b/cayenne-server/src/test/java/org/apache/cayenne/dbimport/DefaultReverseEngineeringWriterTest.java @@ -23,6 +23,7 @@ package org.apache.cayenne.dbimport; import org.apache.cayenne.resource.Resource; import org.apache.cayenne.resource.URLResource; import org.custommonkey.xmlunit.Diff; +import org.junit.Ignore; import org.junit.Test; import java.io.*; import java.net.MalformedURLException; @@ -33,6 +34,7 @@ import static org.junit.Assert.assertTrue; public class DefaultReverseEngineeringWriterTest { + @Ignore("reverseEngineering.xml is depreceted") @Test public void testWriteReverseEngineering() throws Exception { ReverseEngineeringWriter engineering = new DefaultReverseEngineeringWriter(); @@ -70,9 +72,9 @@ public class DefaultReverseEngineeringWriterTest { String decodedURL = URLDecoder.decode(url.getPath(), "UTF-8"); Writer printWriter = new PrintWriter(decodedURL); - reverseEngineering.setConfigurationSource(new URLResource(url)); - Resource reverseEngineeringResource = engineering.write(reverseEngineering, printWriter); - assertReverseEngineering(reverseEngineeringResource); +// reverseEngineering.setConfigurationSource(new URLResource(url)); +// Resource reverseEngineeringResource = engineering.write(reverseEngineering, printWriter); +// assertReverseEngineering(reverseEngineeringResource); } public void assertReverseEngineering(Resource resource) throws Exception { http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImportConfigurationValidator.java ---------------------------------------------------------------------- diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImportConfigurationValidator.java b/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImportConfigurationValidator.java index 888fca2..8a92705 100644 --- a/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImportConfigurationValidator.java +++ b/cayenne-tools/src/main/java/org/apache/cayenne/tools/DbImportConfigurationValidator.java @@ -43,36 +43,26 @@ class DbImportConfigurationValidator implements Cloneable { void validate() throws Exception { DataNodeDescriptor dataNodeDescriptor = config.createDataNodeDescriptor(); - DataSource dataSource; DbAdapter adapter; try { - dataSource = injector.getInstance(DataSourceFactory.class) - .getDataSource(dataNodeDescriptor); - adapter = injector.getInstance(DbAdapterFactory.class) - .createAdapter(dataNodeDescriptor, dataSource); + DataSource dataSource = injector.getInstance(DataSourceFactory.class).getDataSource(dataNodeDescriptor); + adapter = injector.getInstance(DbAdapterFactory.class).createAdapter(dataNodeDescriptor, dataSource); } catch (Exception ex) { - throw new Exception("Error creating DataSource or DbAdapter " + - "for DataNodeDescriptor (" + dataNodeDescriptor + ")", ex); + throw new Exception("Error creating DataSource or DbAdapter for DataNodeDescriptor (" + dataNodeDescriptor + ")", ex); } - if (adapter != null - && !adapter.supportsCatalogsOnReverseEngineering() - && !isReverseEngineeringCatalogsEmpty()) { + if (adapter != null && !adapter.supportsCatalogsOnReverseEngineering() && !isReverseEngineeringCatalogsEmpty()) { 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."; + "Please don't note catalogs in <dbimport> configuration."; throw new Exception(message); } } private boolean isReverseEngineeringCatalogsEmpty() { Collection<Catalog> catalogs = reverseEngineering.getCatalogs(); - if (catalogs == null) { - return true; - } - - if (catalogs.isEmpty()) { + if (catalogs == null || catalogs.isEmpty()) { return true; } http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/plugins/maven-cayenne-plugin/pom.xml ---------------------------------------------------------------------- diff --git a/plugins/maven-cayenne-plugin/pom.xml b/plugins/maven-cayenne-plugin/pom.xml index 3c0a5f2..bebdcf4 100644 --- a/plugins/maven-cayenne-plugin/pom.xml +++ b/plugins/maven-cayenne-plugin/pom.xml @@ -45,6 +45,11 @@ </dependency> <dependency> + <groupId>org.apache.maven.plugin-tools</groupId> + <artifactId>maven-plugin-annotations</artifactId> + </dependency> + + <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-compat</artifactId> </dependency> http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/CayenneGeneratorMojo.java ---------------------------------------------------------------------- diff --git a/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/CayenneGeneratorMojo.java b/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/CayenneGeneratorMojo.java index 4ef5013..f2bd4ff 100644 --- a/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/CayenneGeneratorMojo.java +++ b/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/CayenneGeneratorMojo.java @@ -36,7 +36,7 @@ import java.io.FilenameFilter; * adapter to DefaultClassGenerator class. * * @since 3.0 - * + * * @phase generate-sources * @goal cgen */ @@ -45,7 +45,7 @@ public class CayenneGeneratorMojo extends AbstractMojo { public static final File[] NO_FILES = new File[0]; /** * Path to additional DataMap XML files to use for class generation. - * + * * @parameter additionalMaps="additionalMaps" */ private File additionalMaps; @@ -53,14 +53,14 @@ public class CayenneGeneratorMojo extends AbstractMojo { /** * Whether we are generating classes for the client tier in a Remote Object * Persistence application. Default is <code>false</code>. - * + * * @parameter client="client" default-value="false" */ private boolean client; /** * Destination directory for Java classes (ignoring their package names). - * + * * @parameter destDir="destDir" default-value="${project.build.sourceDirectory}" */ private File destDir; @@ -71,7 +71,7 @@ public class CayenneGeneratorMojo extends AbstractMojo { * build. Standard encodings supported by Java on all platforms are * US-ASCII, ISO-8859-1, UTF-8, UTF-16BE, UTF-16LE, UTF-16. See Sun Java * Docs for java.nio.charset.Charset for more information. - * + * * @parameter encoding="encoding" */ private String encoding; @@ -79,7 +79,7 @@ public class CayenneGeneratorMojo extends AbstractMojo { /** * Entities (expressed as a perl5 regex) to exclude from template * generation. (Default is to include all entities in the DataMap). - * + * * @parameter excludeEntities="excludeEntities" */ private String excludeEntities; @@ -87,7 +87,7 @@ public class CayenneGeneratorMojo extends AbstractMojo { /** * Entities (expressed as a perl5 regex) to include in template generation. * (Default is to include all entities in the DataMap). - * + * * @parameter includeEntities="includeEntities" */ private String includeEntities; @@ -96,14 +96,14 @@ public class CayenneGeneratorMojo extends AbstractMojo { * If set to <code>true</code>, will generate subclass/superclass pairs, * with all generated code included in superclass (default is * <code>true</code>). - * + * * @parameter makePairs="makePairs" default-value="true" */ private boolean makePairs; /** * DataMap XML file to use as a base for class generation. - * + * * @parameter map="map" * @required */ @@ -115,14 +115,14 @@ public class CayenneGeneratorMojo extends AbstractMojo { * iteration per datamap (This is always one iteration since cgen currently * supports specifying one-and-only-one datamap). (Default is * "entity") - * + * * @parameter mode="mode" default-value="entity" */ private String mode; /** * Name of file for generated output. (Default is "*.java") - * + * * @parameter outputPattern="outputPattern" default-value="*.java" */ private String outputPattern; @@ -130,7 +130,7 @@ public class CayenneGeneratorMojo extends AbstractMojo { /** * If set to <code>true</code>, will overwrite older versions of generated * classes. Ignored unless makepairs is set to <code>false</code>. - * + * * @parameter overwrite="overwrite" default-value="false" */ private boolean overwrite; @@ -142,8 +142,8 @@ public class CayenneGeneratorMojo extends AbstractMojo { * having superclass in a different package would only make sense when * <code>usepkgpath</code> is set to <code>true</code>. Otherwise classes * from different packages will end up in the same directory. - * - * @parameter superPkg="superPkg" + * + * @parameter superPkg="superPkg" */ private String superPkg; @@ -151,7 +151,7 @@ public class CayenneGeneratorMojo extends AbstractMojo { * Location of Velocity template file for Entity superclass generation. * Ignored unless <code>makepairs</code> set to <code>true</code>. If * omitted, default template is used. - * + * * @parameter superTemplate="superTemplate" */ private String superTemplate; @@ -159,7 +159,7 @@ public class CayenneGeneratorMojo extends AbstractMojo { /** * Location of Velocity template file for Entity class generation. If * omitted, default template is used. - * + * * @parameter template="template" */ private String template; @@ -168,7 +168,7 @@ public class CayenneGeneratorMojo extends AbstractMojo { * Location of Velocity template file for Embeddable superclass generation. * Ignored unless <code>makepairs</code> set to <code>true</code>. If * omitted, default template is used. - * + * * @parameter embeddableSuperTemplate="embeddableSuperTemplate" */ private String embeddableSuperTemplate; @@ -176,7 +176,7 @@ public class CayenneGeneratorMojo extends AbstractMojo { /** * Location of Velocity template file for Embeddable class generation. If * omitted, default template is used. - * + * * @parameter embeddableTemplate="embeddableTemplate" */ private String embeddableTemplate; @@ -186,7 +186,7 @@ public class CayenneGeneratorMojo extends AbstractMojo { * in "destDir" corresponding to the class package structure, if set to * <code>false</code>, classes will be generated in "destDir" * ignoring their package. - * + * * @parameter usePkgPath="usePkgPath" default-value="true" */ private boolean usePkgPath; http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/DbImportDataSourceConfig.java ---------------------------------------------------------------------- diff --git a/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/DbImportDataSourceConfig.java b/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/DbImportDataSourceConfig.java new file mode 100644 index 0000000..8fa4b56 --- /dev/null +++ b/plugins/maven-cayenne-plugin/src/main/java/org/apache/cayenne/tools/DbImportDataSourceConfig.java @@ -0,0 +1,62 @@ +/***************************************************************** + * 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; + +/** + * @since 4.0 + */ +public class DbImportDataSourceConfig { + + /** + * A class of JDBC driver to use for the target database. + */ + private String driver; + + /** + * JDBC connection URL of a target database. + */ + private String url; + + /** + * Database user name. + */ + private String username; + + /** + * Database user password. + */ + private String password; + + public String getDriver() { + return driver; + } + + public String getUrl() { + return url; + } + + public String getUsername() { + return username; + } + + public String getPassword() { + return password; + } +} http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/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 469798b..088bb52 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 @@ -32,127 +32,49 @@ import org.apache.commons.logging.Log; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.LifecyclePhase; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.Parameter; import java.io.File; /** * Maven mojo to reverse engineer datamap from DB. * - * @phase generate-sources - * @goal cdbimport * @since 3.0 */ +@Mojo(name = "cdbimport", defaultPhase = LifecyclePhase.GENERATE_SOURCES) public class DbImporterMojo extends AbstractMojo { /** * Java class implementing org.apache.cayenne.dba.DbAdapter. This attribute * is optional, the default is AutoAdapter, i.e. Cayenne would try to guess * the DB type. - * - * @parameter adapter="adapter" - * default-value="org.apache.cayenne.dba.AutoAdapter" */ + @Parameter(defaultValue = "org.apache.cayenne.dba.AutoAdapter") private String adapter; /** - * A default package for ObjEntity Java classes. If not specified, and the - * existing DataMap already has the default package, the existing package - * will be used. + * Connection properties. * - * @parameter defaultPackage="defaultPackage" + * @see DbImportDataSourceConfig * @since 4.0 */ - private String defaultPackage; - - /** - * A class of JDBC driver to use for the target database. - * - * @parameter driver="driver" - * @required - */ - private String driver; - - /** - * @parameter forceDataMapCatalog="forceDataMapCatalog" default-value="false" - */ - private boolean forceDataMapCatalog; - - /** - * @parameter forceDataMapSchema="forceDataMapSchema" default-value="false" - */ - private boolean forceDataMapSchema; + @Parameter(required = true) + private DbImportDataSourceConfig dataSource = new DbImportDataSourceConfig(); /** * DataMap XML file to use as a base for DB importing. - * - * @parameter map="map" - * @required */ + @Parameter(required = true) private File map; /** - * A comma-separated list of Perl5 patterns that defines which imported tables should have their primary key columns - * mapped as ObjAttributes. "*" would indicate all tables. - * - * @parameter meaningfulPkTables="meaningfulPkTables" - * @since 4.0 - */ - private String meaningfulPkTables; - - /** - * Object layer naming generator implementation. Should be fully qualified Java class name implementing - * "org.apache.cayenne.dbsync.naming.ObjectNameGenerator". The default is - * "org.apache.cayenne.dbsync.naming.DefaultObjectNameGenerator". - * - * @parameter namingStrategy="namingStrategy" - * default-value="org.apache.cayenne.dbsync.naming.DefaultObjectNameGenerator" - */ - private String namingStrategy; - - /** - * Database user password. - * - * @parameter password="password" - */ - private String password; - - /** * An object that contains reverse engineering rules. - * - * @parameter reverseEngineering="reverseEngineering" */ + @Parameter(property = "dbimport", alias = "dbImport") private ReverseEngineering reverseEngineering = new ReverseEngineering(); - /** - * A regular expression that should match the part of the table name to strip before generating DB names. - * - * @parameter stripFromTableNames="stripFromTableNames" - * default-value="" - */ - private String stripFromTableNames; - - /** - * JDBC connection URL of a target database. - * - * @parameter url="url" - * @required - */ - private String url; - - /** - * If true, would use primitives instead of numeric and boolean classes. - * - * @parameter usePrimitives="usePrimitives" default-value="true" - */ - private boolean usePrimitives; - - /** - * Database user name. - * - * @parameter username="username" - */ - private String username; - public void execute() throws MojoExecutionException, MojoFailureException { Log logger = new MavenLogger(this); @@ -189,23 +111,23 @@ public class DbImporterMojo extends AbstractMojo { DbImportConfiguration config = new DbImportConfiguration(); config.setAdapter(adapter); - config.setDefaultPackage(defaultPackage); - config.setDriver(driver); + config.setDefaultPackage(reverseEngineering.getDefaultPackage()); + config.setDriver(dataSource.getDriver()); config.setFiltersConfig(new FiltersConfigBuilder(reverseEngineering).build()); - config.setForceDataMapCatalog(forceDataMapCatalog); - config.setForceDataMapSchema(forceDataMapSchema); + config.setForceDataMapCatalog(reverseEngineering.isForceDataMapCatalog()); + config.setForceDataMapSchema(reverseEngineering.isForceDataMapSchema()); config.setLogger(logger); - config.setMeaningfulPkTables(meaningfulPkTables); - config.setNamingStrategy(namingStrategy); - config.setPassword(password); + config.setMeaningfulPkTables(reverseEngineering.getMeaningfulPkTables()); + config.setNamingStrategy(reverseEngineering.getNamingStrategy()); + config.setPassword(dataSource.getPassword()); config.setSkipRelationshipsLoading(reverseEngineering.getSkipRelationshipsLoading()); config.setSkipPrimaryKeyLoading(reverseEngineering.getSkipPrimaryKeyLoading()); - config.setStripFromTableNames(stripFromTableNames); + config.setStripFromTableNames(reverseEngineering.getStripFromTableNames()); config.setTableTypes(reverseEngineering.getTableTypes()); config.setTargetDataMap(map); - config.setUrl(url); - config.setUsername(username); - config.setUsePrimitives(usePrimitives); + config.setUrl(dataSource.getUrl()); + config.setUsername(dataSource.getUsername()); + config.setUsePrimitives(reverseEngineering.isUsePrimitives()); return config; } @@ -218,24 +140,132 @@ public class DbImporterMojo extends AbstractMojo { this.map = map; } - public String getDriver() { - return driver; + /** + * This setter is used by Maven + */ + public void setDbimport(ReverseEngineering reverseEngineering) { + this.reverseEngineering = reverseEngineering; } - public void setDriver(String driver) { - this.driver = driver; + /** + * This setter is used by Maven + */ + public void setDbImport(ReverseEngineering reverseEngineering) { + this.reverseEngineering = reverseEngineering; } - public String getUrl() { - return url; + public ReverseEngineering getReverseEngineering() { + return reverseEngineering; } + // â¬â¬â¬ All following setters should be removed in 4.0.BETA â¬â¬â¬ // + + /** + * Setter to catch old styled configuration + * @deprecated to be removed in 4.0.BETA + */ + @Deprecated public void setUrl(String url) { - this.url = url; + throw new UnsupportedOperationException("Connection properties were replaced with <dataSource> tag since 4.0.M5.\n\tFor additional information see http://cayenne.apache.org/docs/4.0/cayenne-guide/including-cayenne-in-project.html#maven-projects"); } - public ReverseEngineering getReverseEngineering() { - return reverseEngineering; + /** + * Setter to catch old styled configuration + * @deprecated to be removed in 4.0.BETA + */ + @Deprecated + public void setUser(String user) { + throw new UnsupportedOperationException("Connection properties were replaced with <dataSource> tag since 4.0.M5.\n\tFor additional information see http://cayenne.apache.org/docs/4.0/cayenne-guide/including-cayenne-in-project.html#maven-projects"); + } + + /** + * Setter to catch old styled configuration + * @deprecated to be removed in 4.0.BETA + */ + @Deprecated + public void setPassword(String password) { + throw new UnsupportedOperationException("Connection properties were replaced with <dataSource> tag since 4.0.M5.\n\tFor additional information see http://cayenne.apache.org/docs/4.0/cayenne-guide/including-cayenne-in-project.html#maven-projects"); + } + + /** + * Setter to catch old styled configuration + * @deprecated to be removed in 4.0.BETA + */ + @Deprecated + public void setDriver(String driver) { + throw new UnsupportedOperationException("Connection properties were replaced with <dataSource> tag since 4.0.M5.\n\tFor additional information see http://cayenne.apache.org/docs/4.0/cayenne-guide/including-cayenne-in-project.html#maven-projects"); + } + + /** + * Setter to catch old styled configuration + * @deprecated to be removed in 4.0.BETA + */ + @Deprecated + public void setForceDataMapCatalog(boolean forceDataMapCatalog) { + throw new UnsupportedOperationException("forceDataMapCatalog property has been moved to <dbimport> tag since 4.0.M5.\n\tFor additional information see http://cayenne.apache.org/docs/4.0/cayenne-guide/including-cayenne-in-project.html#maven-projects"); + } + + /** + * Setter to catch old styled configuration + * @deprecated to be removed in 4.0.BETA + */ + @Deprecated + public void setForceDataMapSchema(boolean forceDataMapSchema) { + throw new UnsupportedOperationException("forceDataMapSchema property has been moved to <dbimport> tag since 4.0.M5.\n\tFor additional information see http://cayenne.apache.org/docs/4.0/cayenne-guide/including-cayenne-in-project.html#maven-projects"); + } + + /** + * Setter to catch old styled configuration + * @deprecated to be removed in 4.0.BETA + */ + @Deprecated + public void setMeaningfulPkTables(String meaningfulPkTables) { + throw new UnsupportedOperationException("meaningfulPkTables property has been moved to <dbimport> tag since 4.0.M5.\n\tFor additional information see http://cayenne.apache.org/docs/4.0/cayenne-guide/including-cayenne-in-project.html#maven-projects"); + } + + /** + * Setter to catch old styled configuration + * @deprecated to be removed in 4.0.BETA + */ + @Deprecated + public void setNamingStrategy(String namingStrategy) { + throw new UnsupportedOperationException("namingStrategy property has been moved to <dbimport> tag since 4.0.M5.\n\tFor additional information see http://cayenne.apache.org/docs/4.0/cayenne-guide/including-cayenne-in-project.html#maven-projects"); + } + + /** + * Setter to catch old styled configuration + * @deprecated to be removed in 4.0.BETA + */ + @Deprecated + public void setDefaultPackage(String defaultPackage) { + throw new UnsupportedOperationException("defaultPackage property has been deprecated since 4.0.M5.\n\tFor additional information see http://cayenne.apache.org/docs/4.0/cayenne-guide/including-cayenne-in-project.html#maven-projects"); + } + + /** + * Setter to catch old styled configuration + * @deprecated to be removed in 4.0.BETA + */ + @Deprecated + public void setStripFromTableNames(String stripFromTableNames) { + throw new UnsupportedOperationException("stripFromTableNames property has been deprecated since 4.0.M5.\n\tFor additional information see http://cayenne.apache.org/docs/4.0/cayenne-guide/including-cayenne-in-project.html#maven-projects"); + } + + /** + * Setter to catch old styled configuration + * @deprecated to be removed in 4.0.BETA + */ + @Deprecated + public void setUsePrimitives(boolean usePrimitives) { + throw new UnsupportedOperationException("usePrimitives property has been deprecated since 4.0.M5.\n\tFor additional information see http://cayenne.apache.org/docs/4.0/cayenne-guide/including-cayenne-in-project.html#maven-projects"); + } + + /** + * Setter to catch old styled configuration + * @deprecated to be removed in 4.0.BETA + */ + @Deprecated + public void setReverseEngineering(ReverseEngineering reverseEngineering) { + throw new UnsupportedOperationException("<reverseEngineering> tag has been replaced with <dbimport> since 4.0.M5.\n\tFor additional information see http://cayenne.apache.org/docs/4.0/cayenne-guide/including-cayenne-in-project.html#maven-projects"); } } http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/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 f8ca8f3..7d8cbfe 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 @@ -36,7 +36,6 @@ import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; -import org.xml.sax.SAXException; import java.io.File; import java.io.FileReader; @@ -47,9 +46,7 @@ import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; -import java.util.ArrayList; import java.util.Iterator; -import java.util.List; import java.util.Objects; import static org.apache.commons.lang.StringUtils.isBlank; @@ -310,7 +307,7 @@ public class DbImporterMojoTest extends AbstractMojoTestCase { 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."; + "It allows to connect to only one at the moment. Please don't note catalogs in <dbimport> configuration."; try { cdbImport.execute(); @@ -319,7 +316,7 @@ public class DbImporterMojoTest extends AbstractMojoTestCase { } assertNotNull(exceptedException); - assertEquals(exceptedException.getCause().getMessage(), exceptedMessage); + assertEquals(exceptedMessage, exceptedException.getCause().getMessage()); } private void test(String name) throws Exception { @@ -344,8 +341,7 @@ public class DbImporterMojoTest extends AbstractMojoTestCase { } } - private void cleanDb(DbImportConfiguration dbImportConfiguration) throws ClassNotFoundException, - IllegalAccessException, InstantiationException, SQLException { + private void cleanDb(DbImportConfiguration dbImportConfiguration) throws Exception { // TODO: refactor to common DB management code... E.g. bootique-jdbc-test? // TODO: with in-memory Derby, it is easier to just stop and delete the database.. again see bootique-jdbc-test @@ -354,16 +350,16 @@ public class DbImporterMojoTest extends AbstractMojoTestCase { try (Connection connection = DriverManager.getConnection(dbImportConfiguration.getUrl())) { - try (Statement stmt = connection.createStatement();) { + try (Statement stmt = connection.createStatement()) { - try (ResultSet views = connection.getMetaData().getTables(null, null, null, new String[]{"VIEW"});) { + try (ResultSet views = connection.getMetaData().getTables(null, null, null, new String[]{"VIEW"})) { while (views.next()) { String schema = views.getString("TABLE_SCHEM"); execute(stmt, "DROP VIEW " + (isBlank(schema) ? "" : schema + ".") + views.getString("TABLE_NAME")); } } - try (ResultSet tables = connection.getMetaData().getTables(null, null, null, new String[]{"TABLE"});) { + try (ResultSet tables = connection.getMetaData().getTables(null, null, null, new String[]{"TABLE"})) { while (tables.next()) { String schema = tables.getString("TABLE_SCHEM"); String tableName = tables.getString("TABLE_NAME"); @@ -382,7 +378,7 @@ public class DbImporterMojoTest extends AbstractMojoTestCase { } } - try (ResultSet schemas = connection.getMetaData().getSchemas();) { + try (ResultSet schemas = connection.getMetaData().getSchemas()) { while (schemas.next()) { String schem = schemas.getString("TABLE_SCHEM"); if (schem.startsWith("SCHEMA")) { @@ -410,11 +406,7 @@ public class DbImporterMojoTest extends AbstractMojoTestCase { if (!diff.similar()) { fail(diff.toString()); } - - } catch (SAXException e) { - e.printStackTrace(); - fail(); - } catch (IOException e) { + } catch (Exception e) { e.printStackTrace(); fail(); } http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/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 b16afd8..a4a6955 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 @@ -30,7 +30,7 @@ <configuration> <map>target/test/org/apache/cayenne/tools/dbimporter-map1.map.xml</map> - <reverseEngineering> + <dbimport> <catalog>catalog-name-01</catalog> <catalog> @@ -90,7 +90,7 @@ <includeColumn>includeColumn-05</includeColumn> <excludeColumn>excludeColumn-05</excludeColumn> - </reverseEngineering> + </dbimport> </configuration> </plugin> </plugins> http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-catalog-and-schema.xml ---------------------------------------------------------------------- diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-catalog-and-schema.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-catalog-and-schema.xml index 185c280..d3828ce 100644 --- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-catalog-and-schema.xml +++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-catalog-and-schema.xml @@ -28,7 +28,7 @@ <configuration> <map>target/test/org/apache/cayenne/tools/dbimporter-map1.map.xml</map> - <reverseEngineering> + <dbimport> <catalog> <name>catalog-name</name> <schema> @@ -75,7 +75,7 @@ <excludeProcedure>excludeProcedure-03</excludeProcedure> </schema> </catalog> - </reverseEngineering> + </dbimport> </configuration> </plugin> </plugins> http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-catalog.xml ---------------------------------------------------------------------- diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-catalog.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-catalog.xml index b47f49d..9c919e8 100644 --- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-catalog.xml +++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-catalog.xml @@ -28,7 +28,7 @@ <configuration> <map>target/test/org/apache/cayenne/tools/dbimporter-map1.map.xml</map> - <reverseEngineering> + <dbimport> <catalog>catalog-name-01</catalog> <catalog> @@ -78,7 +78,7 @@ </excludeProcedure> <excludeProcedure>excludeProcedure-03</excludeProcedure> </catalog> - </reverseEngineering> + </dbimport> </configuration> </plugin> </plugins> http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-default-package.xml ---------------------------------------------------------------------- diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-default-package.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-default-package.xml index 81acfb3..7f09b88 100644 --- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-default-package.xml +++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-default-package.xml @@ -27,7 +27,9 @@ <artifactId>maven-cayenne-plugin</artifactId> <configuration> <map>target/test/org/apache/cayenne/tools/dbimporter-map1.map.xml</map> - <defaultPackage>com.example.test</defaultPackage> + <dbimport> + <defaultPackage>com.example.test</defaultPackage> + </dbimport> </configuration> </plugin> </plugins> http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/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 e245f94..6987454 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,7 +28,7 @@ <configuration> <map>target/test/org/apache/cayenne/tools/dbimporter-map1.map.xml</map> - <reverseEngineering> + <dbimport> <includeTable>includeTable-01</includeTable> <includeTable> @@ -69,7 +69,7 @@ <pattern>excludeProcedure-02</pattern> </excludeProcedure> <excludeProcedure>excludeProcedure-03</excludeProcedure> - </reverseEngineering> + </dbimport> </configuration> </plugin> </plugins> http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-schema-2.xml ---------------------------------------------------------------------- diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-schema-2.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-schema-2.xml index 02f05c6..05342fd 100644 --- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-schema-2.xml +++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-schema-2.xml @@ -26,13 +26,13 @@ <plugin> <artifactId>maven-cayenne-plugin</artifactId> <configuration> - <reverseEngineering> + <dbimport> <schema> <name>NHL_STATS</name> <excludeTable>^ETL_.*</excludeTable> <excludeColumn>^ETL_.*</excludeColumn> </schema> - </reverseEngineering> + </dbimport> </configuration> </plugin> </plugins> http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-schema.xml ---------------------------------------------------------------------- diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-schema.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-schema.xml index c355fb8..11804fc 100644 --- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-schema.xml +++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-schema.xml @@ -28,7 +28,7 @@ <configuration> <map>target/test/org/apache/cayenne/tools/dbimporter-map1.map.xml</map> - <reverseEngineering> + <dbimport> <schema>schema-name-01</schema> <schema> @@ -78,7 +78,7 @@ </excludeProcedure> <excludeProcedure>excludeProcedure-03</excludeProcedure> </schema> - </reverseEngineering> + </dbimport> </configuration> </plugin> </plugins> http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-skip-primary-key-loading.xml ---------------------------------------------------------------------- diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-skip-primary-key-loading.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-skip-primary-key-loading.xml index bd11c5f..2c3e6c5 100644 --- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-skip-primary-key-loading.xml +++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-skip-primary-key-loading.xml @@ -28,9 +28,9 @@ <configuration> <map>target/test/org/apache/cayenne/tools/dbimporter-map1.map.xml</map> - <reverseEngineering> + <dbimport> <skipPrimaryKeyLoading>true</skipPrimaryKeyLoading> - </reverseEngineering> + </dbimport> </configuration> </plugin> </plugins> http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-skip-relationships-loading.xml ---------------------------------------------------------------------- diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-skip-relationships-loading.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-skip-relationships-loading.xml index 892752c..9291871 100644 --- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-skip-relationships-loading.xml +++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-skip-relationships-loading.xml @@ -28,9 +28,9 @@ <configuration> <map>target/test/org/apache/cayenne/tools/dbimporter-map1.map.xml</map> - <reverseEngineering> + <dbimport> <skipRelationshipsLoading>true</skipRelationshipsLoading> - </reverseEngineering> + </dbimport> </configuration> </plugin> </plugins> http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-table-types.xml ---------------------------------------------------------------------- diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-table-types.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-table-types.xml index 60aed11..b8d3ad3 100644 --- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-table-types.xml +++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/config/pom-table-types.xml @@ -28,11 +28,11 @@ <configuration> <map>target/test/org/apache/cayenne/tools/dbimporter-map1.map.xml</map> - <reverseEngineering> + <dbimport> <tableType>type1</tableType> <tableType>type2</tableType> <tableType>type3</tableType> - </reverseEngineering> + </dbimport> </configuration> </plugin> </plugins> http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testComplexChangeOrder-pom.xml ---------------------------------------------------------------------- diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testComplexChangeOrder-pom.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testComplexChangeOrder-pom.xml index 994fffe..6e09d8a 100644 --- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testComplexChangeOrder-pom.xml +++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testComplexChangeOrder-pom.xml @@ -29,11 +29,13 @@ <artifactId>maven-cayenne-plugin</artifactId> <configuration> <map>target/test-classes/org/apache/cayenne/tools/dbimport/testComplexChangeOrder.map.xml</map> - <driver>org.apache.derby.jdbc.EmbeddedDriver</driver> - <url>jdbc:derby:memory:DbImporterMojoTest;create=true</url> - <reverseEngineering> + <dataSource> + <driver>org.apache.derby.jdbc.EmbeddedDriver</driver> + <url>jdbc:derby:memory:DbImporterMojoTest;create=true</url> + </dataSource> + <dbimport> <schema>SCHEMA_01</schema> - </reverseEngineering> + </dbimport> </configuration> </plugin> </plugins> http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings-pom.xml ---------------------------------------------------------------------- diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings-pom.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings-pom.xml index 47ca90d..8d31eaf 100644 --- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings-pom.xml +++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings-pom.xml @@ -28,19 +28,21 @@ <plugin> <artifactId>maven-cayenne-plugin</artifactId> <configuration> - <map>target/test-classes/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings.map.xml + <map> + target/test-classes/org/apache/cayenne/tools/dbimport/testCustomObjectLayerSettings.map.xml </map> - <driver>org.apache.derby.jdbc.EmbeddedDriver</driver> - <url>jdbc:derby:memory:DbImporterMojoTest;create=true</url> - <meaningfulPkTables>^*$</meaningfulPkTables> - <usePrimitives>true</usePrimitives> - <stripFromTableNames>^xyz_</stripFromTableNames> - - <reverseEngineering> + <dataSource> + <driver>org.apache.derby.jdbc.EmbeddedDriver</driver> + <url>jdbc:derby:memory:DbImporterMojoTest;create=true</url> + </dataSource> + <dbimport> + <meaningfulPkTables>^*$</meaningfulPkTables> + <usePrimitives>true</usePrimitives> + <stripFromTableNames>^xyz_</stripFromTableNames> <schema> <name>SCHEMA_01</name> </schema> - </reverseEngineering> + </dbimport> </configuration> </plugin> </plugins> http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDbAttributeChange-pom.xml ---------------------------------------------------------------------- diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDbAttributeChange-pom.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDbAttributeChange-pom.xml index 0ae2de3..ad0f98f 100644 --- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDbAttributeChange-pom.xml +++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDbAttributeChange-pom.xml @@ -29,14 +29,16 @@ <artifactId>maven-cayenne-plugin</artifactId> <configuration> <map>target/test-classes/org/apache/cayenne/tools/dbimport/testDbAttributeChange.map.xml</map> - <driver>org.apache.derby.jdbc.EmbeddedDriver</driver> - <url>jdbc:derby:memory:DbImporterMojoTest;create=true</url> + <dataSource> + <driver>org.apache.derby.jdbc.EmbeddedDriver</driver> + <url>jdbc:derby:memory:DbImporterMojoTest;create=true</url> + </dataSource> - <reverseEngineering> + <dbimport> <schema> <name>SCHEMA_01</name> </schema> - </reverseEngineering> + </dbimport> </configuration> </plugin> </plugins> http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDefaultPackage-pom.xml ---------------------------------------------------------------------- diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDefaultPackage-pom.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDefaultPackage-pom.xml index 0c70eb7..2a6828f 100644 --- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDefaultPackage-pom.xml +++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testDefaultPackage-pom.xml @@ -29,13 +29,16 @@ <artifactId>maven-cayenne-plugin</artifactId> <configuration> <map>target/test-classes/org/apache/cayenne/tools/dbimport/testDefaultPackage.map.xml</map> - <defaultPackage>com.example.test</defaultPackage> - <driver>org.apache.derby.jdbc.EmbeddedDriver</driver> - <url>jdbc:derby:memory:DbImporterMojoTest;create=true</url> - <reverseEngineering> + <dataSource> + <driver>org.apache.derby.jdbc.EmbeddedDriver</driver> + <url>jdbc:derby:memory:DbImporterMojoTest;create=true</url> + </dataSource> + + <dbimport> + <defaultPackage>com.example.test</defaultPackage> <schema>SCHEMA_01</schema> - </reverseEngineering> + </dbimport> </configuration> </plugin> </plugins> http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFilteringWithSchema-pom.xml ---------------------------------------------------------------------- diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFilteringWithSchema-pom.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFilteringWithSchema-pom.xml index cc92813..de84543 100644 --- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFilteringWithSchema-pom.xml +++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFilteringWithSchema-pom.xml @@ -29,12 +29,14 @@ <artifactId>maven-cayenne-plugin</artifactId> <configuration> <map>target/test-classes/org/apache/cayenne/tools/dbimport/testFilteringWithSchema.map.xml</map> - <driver>org.apache.derby.jdbc.EmbeddedDriver</driver> - <url>jdbc:derby:memory:DbImporterMojoTest;create=true</url> + <dataSource> + <driver>org.apache.derby.jdbc.EmbeddedDriver</driver> + <url>jdbc:derby:memory:DbImporterMojoTest;create=true</url> + </dataSource> - <reverseEngineering> + <dbimport> <schema>SCHEMA_01</schema> - </reverseEngineering> + </dbimport> </configuration> </plugin> </plugins> http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFkAttributeRename-pom.xml ---------------------------------------------------------------------- diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFkAttributeRename-pom.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFkAttributeRename-pom.xml index ed78d00..dd50897 100644 --- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFkAttributeRename-pom.xml +++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFkAttributeRename-pom.xml @@ -30,14 +30,17 @@ <artifactId>maven-cayenne-plugin</artifactId> <configuration> <map>target/test-classes/org/apache/cayenne/tools/dbimport/testFkAttributeRename.map.xml</map> - <driver>org.apache.derby.jdbc.EmbeddedDriver</driver> - <url>jdbc:derby:memory:DbImporterMojoTest;create=true</url> - <reverseEngineering> + <dataSource> + <driver>org.apache.derby.jdbc.EmbeddedDriver</driver> + <url>jdbc:derby:memory:DbImporterMojoTest;create=true</url> + </dataSource> + + <dbimport> <schema> <name>SCHEMA_01</name> </schema> - </reverseEngineering> + </dbimport> </configuration> </plugin> </plugins> http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFlattensManyToManyWithRecursiveLink-pom.xml ---------------------------------------------------------------------- diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFlattensManyToManyWithRecursiveLink-pom.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFlattensManyToManyWithRecursiveLink-pom.xml index 4e5b10b..1bcefa6 100644 --- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFlattensManyToManyWithRecursiveLink-pom.xml +++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testFlattensManyToManyWithRecursiveLink-pom.xml @@ -29,9 +29,13 @@ <artifactId>maven-cayenne-plugin</artifactId> <configuration> <map>target/test-classes/org/apache/cayenne/tools/dbimport/testFlattensManyToManyWithRecursiveLink.map.xml</map> - <driver>org.apache.derby.jdbc.EmbeddedDriver</driver> - <url>jdbc:derby:memory:DbImporterMojoTest;create=true</url> - <defaultPackage>org.not.my.home</defaultPackage> + <dataSource> + <driver>org.apache.derby.jdbc.EmbeddedDriver</driver> + <url>jdbc:derby:memory:DbImporterMojoTest;create=true</url> + </dataSource> + <dbimport> + <defaultPackage>org.not.my.home</defaultPackage> + </dbimport> </configuration> </plugin> </plugins> http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testForceDataMapSchema-pom.xml ---------------------------------------------------------------------- diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testForceDataMapSchema-pom.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testForceDataMapSchema-pom.xml index ca3d419..e1bbd50 100644 --- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testForceDataMapSchema-pom.xml +++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testForceDataMapSchema-pom.xml @@ -29,15 +29,19 @@ <artifactId>maven-cayenne-plugin</artifactId> <configuration> <map>target/test-classes/org/apache/cayenne/tools/dbimport/testForceDataMapSchema.map.xml</map> - <defaultPackage>com.example.test</defaultPackage> - <driver>org.apache.derby.jdbc.EmbeddedDriver</driver> - <url>jdbc:derby:memory:DbImporterMojoTest;create=true</url> - <forceDataMapCatalog>true</forceDataMapCatalog> - <forceDataMapSchema>true</forceDataMapSchema> - <reverseEngineering> + <dataSource> + <driver>org.apache.derby.jdbc.EmbeddedDriver</driver> + <url>jdbc:derby:memory:DbImporterMojoTest;create=true</url> + </dataSource> + + <dbimport> + <defaultPackage>com.example.test</defaultPackage> + <forceDataMapCatalog>true</forceDataMapCatalog> + <forceDataMapSchema>true</forceDataMapSchema> + <schema>SCHEMA_01</schema> - </reverseEngineering> + </dbimport> </configuration> </plugin> </plugins> http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn-pom.xml ---------------------------------------------------------------------- diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn-pom.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn-pom.xml index 1f3903f..598607d 100644 --- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn-pom.xml +++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn-pom.xml @@ -29,8 +29,10 @@ <artifactId>maven-cayenne-plugin</artifactId> <configuration> <map>target/test-classes/org/apache/cayenne/tools/dbimport/testImportAddTableAndColumn.map.xml</map> - <driver>org.apache.derby.jdbc.EmbeddedDriver</driver> - <url>jdbc:derby:memory:DbImporterMojoTest;create=true</url> + <dataSource> + <driver>org.apache.derby.jdbc.EmbeddedDriver</driver> + <url>jdbc:derby:memory:DbImporterMojoTest;create=true</url> + </dataSource> </configuration> </plugin> </plugins> http://git-wip-us.apache.org/repos/asf/cayenne/blob/5d7507f6/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportNewDataMap-pom.xml ---------------------------------------------------------------------- diff --git a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportNewDataMap-pom.xml b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportNewDataMap-pom.xml index 5214084..440d340 100644 --- a/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportNewDataMap-pom.xml +++ b/plugins/maven-cayenne-plugin/src/test/resources/org/apache/cayenne/tools/dbimport/testImportNewDataMap-pom.xml @@ -29,8 +29,10 @@ <artifactId>maven-cayenne-plugin</artifactId> <configuration> <map>target/test-classes/org/apache/cayenne/tools/dbimport/testImportNewDataMap.map.xml</map> - <driver>org.apache.derby.jdbc.EmbeddedDriver</driver> - <url>jdbc:derby:memory:DbImporterMojoTest;create=true</url> + <dataSource> + <driver>org.apache.derby.jdbc.EmbeddedDriver</driver> + <url>jdbc:derby:memory:DbImporterMojoTest;create=true</url> + </dataSource> </configuration> </plugin> </plugins>