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/12/11 11:49:47 UTC
[2/9] cayenne git commit: fix maven config loading
fix maven config loading
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/4e08de86
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/4e08de86
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/4e08de86
Branch: refs/heads/master
Commit: 4e08de86bb83913f672a1e7f2e6b3c2ba8bfa5ed
Parents: 4649832
Author: alexkolonitsky <Al...@gmail.com>
Authored: Tue Dec 9 15:50:46 2014 +0300
Committer: alexkolonitsky <Al...@gmail.com>
Committed: Tue Dec 9 15:50:46 2014 +0300
----------------------------------------------------------------------
.../java/org/apache/cayenne/access/DbLoader.java | 2 +-
.../access/loader/filters/EntityFilters.java | 7 +++++++
.../dbimport/config/FiltersConfigBuilder.java | 4 ++++
.../tools/DbImporterMojoConfigurationTest.java | 19 +++++++++++++++++++
4 files changed, 31 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/4e08de86/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java b/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java
index 6c55ffc..e1b5a5b 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java
@@ -373,7 +373,7 @@ public class DbLoader {
DbAttribute attr = loadDbAttribute(rs);
attr.setEntity(dbEntity);
- Filter<DbAttribute> filter = filters.filter(path).columnFilter();
+ Filter<DbAttribute> filter = filters.filter(new DbPath(dbEntity.getCatalog(), dbEntity.getSchema(), dbEntity.getName())).columnFilter();
if (!filter.isInclude(attr)) {
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("Skip column for '" + attr.getEntity().getName() + "." + attr.getName()
http://git-wip-us.apache.org/repos/asf/cayenne/blob/4e08de86/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 22b96bc..fb4fe93 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
@@ -59,6 +59,13 @@ public class EntityFilters {
&& (proceduresFilters == null || NULL.equals(proceduresFilters));
}
+ public boolean isDefault() {
+ return dbPath == null || DbPath.EMPTY.equals(dbPath)
+ && (tableFilters != null && TRUE.equals(tableFilters))
+ && (columnFilters != null && TRUE.equals(columnFilters))
+ && (proceduresFilters == null || NULL.equals(proceduresFilters));
+ }
+
public DbPath getDbPath() {
return dbPath;
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/4e08de86/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 56d6354..d553a6e 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,6 +46,10 @@ public final class FiltersConfigBuilder {
}
public FiltersConfigBuilder add(EntityFilters filter) {
+ if (filter.isDefault()) {
+ return this;
+ }
+
if (!filter.isEmpty()) {
this.filters.add(filter);
} else if (!filter.getDbPath().equals(new DbPath())) {
http://git-wip-us.apache.org/repos/asf/cayenne/blob/4e08de86/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 939f185..922c6b7 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
@@ -18,16 +18,23 @@
****************************************************************/
package org.apache.cayenne.tools;
+import static org.apache.cayenne.access.loader.filters.FilterFactory.NULL;
+import static org.apache.cayenne.access.loader.filters.FilterFactory.exclude;
import static org.apache.cayenne.tools.dbimport.config.DefaultReverseEngineeringLoaderTest.assertCatalog;
import static org.apache.cayenne.tools.dbimport.config.DefaultReverseEngineeringLoaderTest.assertCatalogAndSchema;
import static org.apache.cayenne.tools.dbimport.config.DefaultReverseEngineeringLoaderTest.assertFlat;
import static org.apache.cayenne.tools.dbimport.config.DefaultReverseEngineeringLoaderTest.assertSchemaContent;
+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.dbimport.DbImportConfiguration;
import org.apache.cayenne.tools.dbimport.config.Schema;
import org.apache.maven.plugin.testing.AbstractMojoTestCase;
import org.junit.Test;
+import java.util.Collections;
+
public class DbImporterMojoConfigurationTest extends AbstractMojoTestCase {
@Test
@@ -44,6 +51,18 @@ public class DbImporterMojoConfigurationTest extends AbstractMojoTestCase {
}
@Test
+ public void testLoadSchema2() throws Exception {
+ FiltersConfig filters = getCdbImport("pom-schema-2.xml").toParameters()
+ .getDbLoaderConfig().getFiltersConfig();
+
+ DbPath path = new DbPath(null, "NHL_STATS");
+ assertEquals(Collections.singletonList(path), filters.getDbPaths());
+
+ EntityFilters filter = filters.filter(path);
+ assertEquals(filter, new EntityFilters(path, exclude("^ETL_.*"), exclude("^ETL_.*"), NULL));
+ }
+
+ @Test
public void testLoadCatalogAndSchema() throws Exception {
assertCatalogAndSchema(getCdbImport("pom-catalog-and-schema.xml").getReverseEngineering());
}