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 2016/10/04 12:45:33 UTC
[5/7] cayenne git commit: cleanup, refactoring
http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ab79480/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/filters/FiltersConfigBuilderTest.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/filters/FiltersConfigBuilderTest.java b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/filters/FiltersConfigBuilderTest.java
new file mode 100644
index 0000000..aac5fe9
--- /dev/null
+++ b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/filters/FiltersConfigBuilderTest.java
@@ -0,0 +1,392 @@
+/*
+ * 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.dbsync.reverse.filters;
+
+import org.apache.cayenne.dbimport.Catalog;
+import org.apache.cayenne.dbimport.ExcludeColumn;
+import org.apache.cayenne.dbimport.ExcludeProcedure;
+import org.apache.cayenne.dbimport.ExcludeTable;
+import org.apache.cayenne.dbimport.IncludeColumn;
+import org.apache.cayenne.dbimport.IncludeProcedure;
+import org.apache.cayenne.dbimport.IncludeTable;
+import org.apache.cayenne.dbimport.ReverseEngineering;
+import org.apache.cayenne.dbimport.Schema;
+import org.apache.cayenne.dbsync.reverse.filters.FiltersConfigBuilder;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class FiltersConfigBuilderTest {
+
+ @Test
+ public void testCompact_01() {
+ ReverseEngineering engineering = new ReverseEngineering();
+ engineering.addIncludeTable(new IncludeTable("table1"));
+ engineering.addIncludeTable(new IncludeTable("table2"));
+ engineering.addIncludeTable(new IncludeTable("table3"));
+
+ engineering.addIncludeColumn(new IncludeColumn("includeColumn"));
+
+ FiltersConfigBuilder builder = new FiltersConfigBuilder(engineering);
+ builder.compact();
+ assertEquals(
+ "ReverseEngineering: \n" +
+ " Catalog: null\n" +
+ " Schema: null\n" +
+ " IncludeTable: table1\n" +
+ " IncludeColumn: includeColumn\n" +
+ " IncludeTable: table2\n" +
+ " IncludeColumn: includeColumn\n" +
+ " IncludeTable: table3\n" +
+ " IncludeColumn: includeColumn\n", engineering.toString());
+ }
+
+ @Test
+ public void testCompact_02() {
+ ReverseEngineering engineering = new ReverseEngineering();
+ engineering.addCatalog(new Catalog("catalogName"));
+ engineering.addSchema(new Schema("schemaName01"));
+ engineering.addSchema(new Schema("schemaName02"));
+
+ engineering.addIncludeTable(new IncludeTable("table1"));
+ engineering.addExcludeTable(new ExcludeTable("table2"));
+
+ engineering.addIncludeColumn(new IncludeColumn("includeColumn"));
+
+ FiltersConfigBuilder builder = new FiltersConfigBuilder(engineering);
+ builder.compact();
+ assertEquals(
+ "ReverseEngineering: \n" +
+ " Catalog: catalogName\n" +
+ " Schema: schemaName01\n" +
+ " IncludeTable: table1\n" +
+ " IncludeColumn: includeColumn\n" +
+ " ExcludeTable: table2\n" +
+ " Schema: schemaName02\n" +
+ " IncludeTable: table1\n" +
+ " IncludeColumn: includeColumn\n" +
+ " ExcludeTable: table2\n", engineering.toString());
+ }
+
+ @Test
+ public void testCompact_03() {
+ ReverseEngineering engineering = new ReverseEngineering();
+ engineering.addCatalog(new Catalog("APP1"));
+ engineering.addCatalog(new Catalog("APP2"));
+
+ engineering.addExcludeTable(new ExcludeTable("SYS_.*"));
+ engineering.addExcludeColumn(new ExcludeColumn("calculated_.*"));
+
+ FiltersConfigBuilder builder = new FiltersConfigBuilder(engineering);
+ builder.compact();
+ assertEquals(
+ "ReverseEngineering: \n" +
+ " Catalog: APP1\n" +
+ " Schema: null\n" +
+ " IncludeTable: null\n" +
+ " ExcludeColumn: calculated_.*\n" +
+ " ExcludeTable: SYS_.*\n" +
+ " Catalog: APP2\n" +
+ " Schema: null\n" +
+ " IncludeTable: null\n" +
+ " ExcludeColumn: calculated_.*\n" +
+ " ExcludeTable: SYS_.*\n", engineering.toString());
+ }
+
+ @Test
+ public void testCompact_04() {
+ ReverseEngineering engineering = new ReverseEngineering();
+ engineering.addSchema(new Schema("s"));
+
+ FiltersConfigBuilder builder = new FiltersConfigBuilder(engineering);
+ builder.compact();
+ assertEquals(
+ "ReverseEngineering: \n" +
+ " Catalog: null\n" +
+ " Schema: s\n" +
+ " IncludeTable: null\n", engineering.toString());
+ }
+
+ @Test
+ public void testCompact_full() {
+ ReverseEngineering engineering = new ReverseEngineering();
+ Catalog cat01 = new Catalog("cat_01");
+
+ Schema sch01 = new Schema("sch_01");
+
+ sch01.addIncludeTable(includeTable("t1", "c11", "c12"));
+ sch01.addExcludeTable(new ExcludeTable("t2"));
+ sch01.addIncludeProcedure(new IncludeProcedure("p1"));
+ sch01.addExcludeProcedure(new ExcludeProcedure("p2"));
+ sch01.addIncludeColumn(new IncludeColumn("c_x1"));
+ sch01.addExcludeColumn(new ExcludeColumn("c_x2"));
+
+ cat01.addSchema(sch01);
+
+ cat01.addIncludeTable(includeTable("t3", "c31", "c32"));
+ cat01.addExcludeTable(new ExcludeTable("t4"));
+ cat01.addIncludeProcedure(new IncludeProcedure("p3"));
+ cat01.addExcludeProcedure(new ExcludeProcedure("p4"));
+ cat01.addIncludeColumn(new IncludeColumn("c_xx1"));
+ cat01.addExcludeColumn(new ExcludeColumn("c_xx2"));
+
+ engineering.addCatalog(cat01);
+
+ Schema sch02 = new Schema("sch_02");
+
+ sch02.addIncludeTable(includeTable("t5", "c51", "c52"));
+ sch02.addExcludeTable(new ExcludeTable("t6"));
+ sch02.addIncludeProcedure(new IncludeProcedure("p5"));
+ sch02.addExcludeProcedure(new ExcludeProcedure("p6"));
+ sch02.addIncludeColumn(new IncludeColumn("c2_x1"));
+ sch02.addExcludeColumn(new ExcludeColumn("c2_x2"));
+
+ engineering.addSchema(sch02);
+
+ engineering.addIncludeTable(includeTable("t7", "c71", "c72"));
+ engineering.addExcludeTable(new ExcludeTable("t8"));
+ engineering.addIncludeProcedure(new IncludeProcedure("p7"));
+ engineering.addExcludeProcedure(new ExcludeProcedure("p8"));
+ engineering.addIncludeColumn(new IncludeColumn("c_xxx1"));
+ engineering.addExcludeColumn(new ExcludeColumn("c_xxx2"));
+
+ FiltersConfigBuilder builder = new FiltersConfigBuilder(engineering);
+ assertEquals("Original ReverseEngineering should be",
+ "ReverseEngineering: \n" +
+ " Catalog: cat_01\n" +
+ " Schema: sch_01\n" +
+ " IncludeTable: t1\n" +
+ " IncludeColumn: c11\n" +
+ " ExcludeColumn: c12\n" +
+ " ExcludeTable: t2\n" +
+ " IncludeColumn: c_x1\n" +
+ " ExcludeColumn: c_x2\n" +
+ " IncludeProcedure: p1\n" +
+ " ExcludeProcedure: p2\n" +
+ " IncludeTable: t3\n" +
+ " IncludeColumn: c31\n" +
+ " ExcludeColumn: c32\n" +
+ " ExcludeTable: t4\n" +
+ " IncludeColumn: c_xx1\n" +
+ " ExcludeColumn: c_xx2\n" +
+ " IncludeProcedure: p3\n" +
+ " ExcludeProcedure: p4\n" +
+ " Schema: sch_02\n" +
+ " IncludeTable: t5\n" +
+ " IncludeColumn: c51\n" +
+ " ExcludeColumn: c52\n" +
+ " ExcludeTable: t6\n" +
+ " IncludeColumn: c2_x1\n" +
+ " ExcludeColumn: c2_x2\n" +
+ " IncludeProcedure: p5\n" +
+ " ExcludeProcedure: p6\n" +
+ " IncludeTable: t7\n" +
+ " IncludeColumn: c71\n" +
+ " ExcludeColumn: c72\n" +
+ " ExcludeTable: t8\n" +
+ " IncludeColumn: c_xxx1\n" +
+ " ExcludeColumn: c_xxx2\n" +
+ " IncludeProcedure: p7\n" +
+ " ExcludeProcedure: p8\n", engineering.toString());
+
+
+ builder.compact();
+ assertEquals(
+ "ReverseEngineering: \n" +
+ " Catalog: cat_01\n" +
+ " Schema: sch_01\n" +
+ " IncludeTable: t1\n" +
+ " IncludeColumn: c11\n" +
+ " IncludeColumn: c_xxx1\n" +
+ " IncludeColumn: c_xx1\n" +
+ " IncludeColumn: c_x1\n" +
+ " ExcludeColumn: c12\n" +
+ " ExcludeColumn: c_xxx2\n" +
+ " ExcludeColumn: c_xx2\n" +
+ " ExcludeColumn: c_x2\n" +
+ " IncludeTable: t7\n" +
+ " IncludeColumn: c71\n" +
+ " IncludeColumn: c_xxx1\n" +
+ " ExcludeColumn: c72\n" +
+ " ExcludeColumn: c_xxx2\n" +
+ " IncludeTable: t3\n" +
+ " IncludeColumn: c31\n" +
+ " IncludeColumn: c_xxx1\n" +
+ " IncludeColumn: c_xx1\n" +
+ " ExcludeColumn: c32\n" +
+ " ExcludeColumn: c_xxx2\n" +
+ " ExcludeColumn: c_xx2\n" +
+ " ExcludeTable: t2\n" +
+ " ExcludeTable: t8\n" +
+ " ExcludeTable: t4\n" +
+ " IncludeProcedure: p1\n" +
+ " IncludeProcedure: p7\n" +
+ " IncludeProcedure: p3\n" +
+ " ExcludeProcedure: p2\n" +
+ " ExcludeProcedure: p8\n" +
+ " ExcludeProcedure: p4\n" +
+ " Schema: sch_02\n" +
+ " IncludeTable: t5\n" +
+ " IncludeColumn: c51\n" +
+ " IncludeColumn: c_xxx1\n" +
+ " IncludeColumn: c2_x1\n" +
+ " ExcludeColumn: c52\n" +
+ " ExcludeColumn: c_xxx2\n" +
+ " ExcludeColumn: c2_x2\n" +
+ " IncludeTable: t7\n" +
+ " IncludeColumn: c71\n" +
+ " IncludeColumn: c_xxx1\n" +
+ " ExcludeColumn: c72\n" +
+ " ExcludeColumn: c_xxx2\n" +
+ " ExcludeTable: t6\n" +
+ " ExcludeTable: t8\n" +
+ " IncludeProcedure: p5\n" +
+ " IncludeProcedure: p7\n" +
+ " ExcludeProcedure: p6\n" +
+ " ExcludeProcedure: p8\n", engineering.toString());
+ }
+
+ protected IncludeTable includeTable(String name, String incCol, String excCol) {
+ IncludeTable incTable01 = new IncludeTable(name);
+ incTable01.addIncludeColumn(new IncludeColumn(incCol));
+ incTable01.addExcludeColumn(new ExcludeColumn(excCol));
+ return incTable01;
+ }
+
+ /*@Test
+ public void testEmptyDbEntitiesFilters() throws Exception {
+ ReverseEngineering engineering = new ReverseEngineering();
+ FiltersConfig executions = new FiltersConfigBuilder(engineering).build();
+
+ assertEquals("If nothing was configured we have to import everything. Filter %/%/% true/true/true",
+ new FiltersConfig(eFilters(path(), TRUE, TRUE, NULL)),
+ executions);
+ }
+
+ @Test
+ public void testOnlyOneCatalogDbEntitiesFilters() throws Exception {
+ ReverseEngineering engineering = new ReverseEngineering();
+ engineering.addCatalog(new Catalog("catalog_01"));
+ FiltersConfig executions = new FiltersConfigBuilder(engineering).build();
+
+
+ assertEquals(new FiltersConfig(eFilters(path("catalog_01", null), TRUE, TRUE, NULL)),
+ executions);
+ }
+
+ @Test
+ public void testCatalogDbEntitiesFilters() throws Exception {
+ ReverseEngineering engineering = new ReverseEngineering();
+ engineering.addCatalog(new Catalog("catalog_01"));
+ engineering.addCatalog(new Catalog("catalog_02").schema(new Schema("schema_01")));
+ engineering.addCatalog(new Catalog("catalog_02").schema(new Schema("schema_02")));
+ engineering.addCatalog(new Catalog("catalog_02").schema(new Schema("schema_03")));
+ engineering.addCatalog(new Catalog("catalog_03").schema(new Schema("schema_01")));
+ engineering.addCatalog(new Catalog("catalog_03").schema(new Schema("schema_01")));
+ engineering.addCatalog(new Catalog("catalog_03").schema(new Schema("schema_01")));
+ engineering.addCatalog(new Catalog("catalog_03").schema(new Schema("schema_01")));
+ FiltersConfig executions = new FiltersConfigBuilder(engineering).build();
+
+
+ assertEquals(new FiltersConfig(
+ eFilters(path("catalog_01", null), TRUE, TRUE, NULL),
+ eFilters(path("catalog_02", "schema_01"), TRUE, TRUE, NULL),
+ eFilters(path("catalog_02", "schema_02"), TRUE, TRUE, NULL),
+ eFilters(path("catalog_02", "schema_03"), TRUE, TRUE, NULL),
+ eFilters(path("catalog_03", "schema_01"), TRUE, TRUE, NULL)
+ ),
+ executions);
+ }
+
+ @Test
+ public void testSchemaDbEntitiesFilters() throws Exception {
+ ReverseEngineering engineering = new ReverseEngineering();
+ engineering.addSchema(new Schema("schema_01"));
+ engineering.addSchema(new Schema("schema_02"));
+ engineering.addSchema(new Schema("schema_03"));
+ FiltersConfig executions = new FiltersConfigBuilder(engineering).build();
+
+
+ assertEquals(new FiltersConfig(
+ eFilters(path(null, "schema_01"), TRUE, TRUE, NULL),
+ eFilters(path(null, "schema_02"), TRUE, TRUE, NULL),
+ eFilters(path(null, "schema_03"), TRUE, TRUE, NULL)
+ ),
+ executions);
+ }
+
+ @Test
+ public void testFiltersDbEntitiesFilters() throws Exception {
+ ReverseEngineering engineering = new ReverseEngineering();
+ engineering.addIncludeTable(new IncludeTable("IncludeTable"));
+ engineering.addIncludeColumn(new IncludeColumn("IncludeColumn"));
+ engineering.addIncludeProcedure(new IncludeProcedure("IncludeProcedure"));
+ engineering.addExcludeTable(new ExcludeTable("ExcludeTable"));
+ engineering.addExcludeColumn(new ExcludeColumn("ExcludeColumn"));
+ engineering.addExcludeProcedure(new ExcludeProcedure("ExcludeProcedure"));
+
+ FiltersConfig executions = new FiltersConfigBuilder(engineering).build();
+
+ assertEquals(new FiltersConfig(
+ eFilters(path(),
+ list(include("IncludeTable"), exclude("ExcludeTable")),
+ list(include("IncludeColumn"), exclude("ExcludeColumn")),
+ list(include("IncludeProcedure"), exclude("ExcludeProcedure"))),
+ eFilters(path(null, null, "IncludeTable"), NULL, TRUE, NULL)
+ ),
+ executions);
+ }
+
+ @Test
+ public void testComplexConfiguration() throws Exception {
+ IncludeTable table = new IncludeTable("table");
+ table.addIncludeColumn(new IncludeColumn("column"));
+
+ Schema schema = new Schema("schema");
+ schema.addIncludeTable(table);
+
+ Catalog catalog = new Catalog("catalog");
+ catalog.addSchema(schema);
+
+ ReverseEngineering engineering = new ReverseEngineering();
+ engineering.addCatalog(catalog);
+
+ FiltersConfig executions = new FiltersConfigBuilder(engineering).build();
+
+ assertEquals(new FiltersConfig(
+ eFilters(path("catalog", "schema"), include("table"), NULL, NULL),
+ eFilters(path("catalog", "schema", "table"), NULL, include("column"), NULL)
+ ),
+ executions);
+ }
+
+ @Test
+ public void testAddNull() throws Exception {
+ FiltersConfigBuilder builder = new FiltersConfigBuilder(new ReverseEngineering());
+ DbPath path = new DbPath();
+ builder.add(new EntityFilters(path, NULL, NULL, NULL));
+ builder.add(new EntityFilters(path, NULL, NULL, NULL));
+ builder.add(new EntityFilters(path, NULL, NULL, NULL));
+ builder.add(new EntityFilters(path, NULL, NULL, NULL));
+
+ EntityFilters filter = builder.build().filter(path);
+ assertFalse(filter.isEmpty());
+ }*/
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ab79480/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/filters/PatternFilterTest.java
----------------------------------------------------------------------
diff --git a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/filters/PatternFilterTest.java b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/filters/PatternFilterTest.java
index 73739ec..5a44442 100644
--- a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/filters/PatternFilterTest.java
+++ b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/filters/PatternFilterTest.java
@@ -27,17 +27,17 @@ public class PatternFilterTest extends TestCase {
.include("aaa")
.include("bbb");
- assertTrue(filter.isInclude("aaa"));
- assertTrue(filter.isInclude("bbb"));
- assertFalse(filter.isInclude("aaaa"));
- assertFalse(filter.isInclude("aa"));
- assertFalse(filter.isInclude("abb"));
+ assertTrue(filter.isIncluded("aaa"));
+ assertTrue(filter.isIncluded("bbb"));
+ assertFalse(filter.isIncluded("aaaa"));
+ assertFalse(filter.isIncluded("aa"));
+ assertFalse(filter.isIncluded("abb"));
filter = new PatternFilter().include("^v_.*$");
- assertTrue(filter.isInclude("v_new_view"));
- assertFalse(filter.isInclude("new_view"));
- assertFalse(filter.isInclude("view"));
- assertFalse(filter.isInclude("girl"));
+ assertTrue(filter.isIncluded("v_new_view"));
+ assertFalse(filter.isIncluded("new_view"));
+ assertFalse(filter.isIncluded("view"));
+ assertFalse(filter.isIncluded("girl"));
}
public void testExclude() throws Exception {
@@ -45,11 +45,11 @@ public class PatternFilterTest extends TestCase {
.exclude("aaa")
.exclude("bbb");
- assertFalse(filter.isInclude("aaa"));
- assertFalse(filter.isInclude("bbb"));
- assertTrue(filter.isInclude("aaaa"));
- assertTrue(filter.isInclude("aa"));
- assertTrue(filter.isInclude("abb"));
+ assertFalse(filter.isIncluded("aaa"));
+ assertFalse(filter.isIncluded("bbb"));
+ assertTrue(filter.isIncluded("aaaa"));
+ assertTrue(filter.isIncluded("aa"));
+ assertTrue(filter.isIncluded("abb"));
}
public void testIncludeExclude() throws Exception {
@@ -57,22 +57,22 @@ public class PatternFilterTest extends TestCase {
.include("aa.*")
.exclude("aaa");
- assertFalse(filter.isInclude("aaa"));
- assertFalse(filter.isInclude("bbb"));
- assertTrue(filter.isInclude("aaaa"));
- assertTrue(filter.isInclude("aa"));
- assertFalse(filter.isInclude("abb"));
+ assertFalse(filter.isIncluded("aaa"));
+ assertFalse(filter.isIncluded("bbb"));
+ assertTrue(filter.isIncluded("aaaa"));
+ assertTrue(filter.isIncluded("aa"));
+ assertFalse(filter.isIncluded("abb"));
}
public void testIncludeAllFilter() {
- assertTrue(PatternFilter.INCLUDE_EVERYTHING.isInclude("qwe"));
- assertTrue(PatternFilter.INCLUDE_EVERYTHING.isInclude(""));
- assertTrue(PatternFilter.INCLUDE_EVERYTHING.isInclude(null));
+ assertTrue(PatternFilter.INCLUDE_EVERYTHING.isIncluded("qwe"));
+ assertTrue(PatternFilter.INCLUDE_EVERYTHING.isIncluded(""));
+ assertTrue(PatternFilter.INCLUDE_EVERYTHING.isIncluded(null));
}
public void testIncludeNoneFilter() {
- assertFalse(PatternFilter.INCLUDE_NOTHING.isInclude("qwe"));
- assertFalse(PatternFilter.INCLUDE_NOTHING.isInclude(""));
- assertFalse(PatternFilter.INCLUDE_NOTHING.isInclude(null));
+ assertFalse(PatternFilter.INCLUDE_NOTHING.isIncluded("qwe"));
+ assertFalse(PatternFilter.INCLUDE_NOTHING.isIncluded(""));
+ assertFalse(PatternFilter.INCLUDE_NOTHING.isIncluded(null));
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ab79480/cayenne-tools/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java b/cayenne-tools/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
index e8b6b76..c8d43e4 100644
--- a/cayenne-tools/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/gen/ClassGenerationAction.java
@@ -19,7 +19,7 @@
package org.apache.cayenne.gen;
import org.apache.cayenne.CayenneRuntimeException;
-import org.apache.cayenne.dbsync.reverse.NamePatternMatcher;
+import org.apache.cayenne.dbsync.filter.NamePatternMatcher;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.Embeddable;
import org.apache.cayenne.map.ObjEntity;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ab79480/cayenne-tools/src/main/java/org/apache/cayenne/tools/AntDataPortDelegate.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/tools/AntDataPortDelegate.java b/cayenne-tools/src/main/java/org/apache/cayenne/tools/AntDataPortDelegate.java
index 3e98829..de001bd 100644
--- a/cayenne-tools/src/main/java/org/apache/cayenne/tools/AntDataPortDelegate.java
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/tools/AntDataPortDelegate.java
@@ -21,7 +21,7 @@ package org.apache.cayenne.tools;
import org.apache.cayenne.access.DataPort;
import org.apache.cayenne.access.DataPortDelegate;
-import org.apache.cayenne.dbsync.reverse.NamePatternMatcher;
+import org.apache.cayenne.dbsync.filter.NamePatternMatcher;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.query.Query;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ab79480/cayenne-tools/src/main/java/org/apache/cayenne/tools/CayenneGeneratorEntityFilterAction.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/tools/CayenneGeneratorEntityFilterAction.java b/cayenne-tools/src/main/java/org/apache/cayenne/tools/CayenneGeneratorEntityFilterAction.java
index 08a39df..f32b1d2 100644
--- a/cayenne-tools/src/main/java/org/apache/cayenne/tools/CayenneGeneratorEntityFilterAction.java
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/tools/CayenneGeneratorEntityFilterAction.java
@@ -18,7 +18,7 @@
****************************************************************/
package org.apache.cayenne.tools;
-import org.apache.cayenne.dbsync.reverse.NameFilter;
+import org.apache.cayenne.dbsync.filter.NameFilter;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.Embeddable;
import org.apache.cayenne.map.ObjEntity;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ab79480/cayenne-tools/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java b/cayenne-tools/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
index 6edcd6c..d57b350 100644
--- a/cayenne-tools/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/tools/CayenneGeneratorTask.java
@@ -19,7 +19,7 @@
package org.apache.cayenne.tools;
import foundrylogic.vpp.VPPConfig;
-import org.apache.cayenne.dbsync.reverse.NamePatternMatcher;
+import org.apache.cayenne.dbsync.filter.NamePatternMatcher;
import org.apache.cayenne.gen.ArtifactsGenerationMode;
import org.apache.cayenne.gen.ClassGenerationAction;
import org.apache.cayenne.gen.ClientClassGenerationAction;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ab79480/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 921db3b..10c3d13 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
@@ -36,7 +36,7 @@ import org.apache.cayenne.dbimport.IncludeTable;
import org.apache.cayenne.dbimport.ReverseEngineering;
import org.apache.cayenne.dbimport.Schema;
import org.apache.cayenne.dbsync.CayenneDbSyncModule;
-import org.apache.cayenne.dbsync.reverse.FiltersConfigBuilder;
+import org.apache.cayenne.dbsync.reverse.filters.FiltersConfigBuilder;
import org.apache.cayenne.di.DIBootstrap;
import org.apache.cayenne.di.Injector;
import org.apache.cayenne.map.DataMap;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ab79480/cayenne-tools/src/test/java/org/apache/cayenne/tools/NamePatternMatcherTest.java
----------------------------------------------------------------------
diff --git a/cayenne-tools/src/test/java/org/apache/cayenne/tools/NamePatternMatcherTest.java b/cayenne-tools/src/test/java/org/apache/cayenne/tools/NamePatternMatcherTest.java
deleted file mode 100644
index 3482843..0000000
--- a/cayenne-tools/src/test/java/org/apache/cayenne/tools/NamePatternMatcherTest.java
+++ /dev/null
@@ -1,74 +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;
-
-import org.apache.cayenne.dbsync.reverse.NamePatternMatcher;
-import org.junit.Test;
-
-import static org.apache.cayenne.dbsync.reverse.NamePatternMatcher.replaceWildcardInStringWithString;
-import static org.junit.Assert.assertEquals;
-
-public class NamePatternMatcherTest {
-
- /**
- * Test pattern expansion.
- */
- @Test
- public void testReplaceWildcardInStringWithString() throws Exception {
- assertEquals(null, replaceWildcardInStringWithString("*", null, "Entity"));
- assertEquals("*.java", replaceWildcardInStringWithString(null, "*.java", "Entity"));
- assertEquals("Entity.java", replaceWildcardInStringWithString("*", "*.java", "Entity"));
- assertEquals("java.Entity", replaceWildcardInStringWithString("*", "java.*", "Entity"));
- assertEquals("Entity.Entity", replaceWildcardInStringWithString("*", "*.*", "Entity"));
- assertEquals("EntityEntity", replaceWildcardInStringWithString("*", "**", "Entity"));
- assertEquals("EditEntityReport.vm", replaceWildcardInStringWithString("*", "Edit*Report.vm", "Entity"));
- assertEquals("Entity", replaceWildcardInStringWithString("*", "*", "Entity"));
- }
-
- /**
- * Test tokenizing
- */
- @Test
- public void testTokenizer() {
-
- String[] nullFilters = NamePatternMatcher.tokenizePattern(null);
- assertEquals(0, nullFilters.length);
-
- String[] filters = NamePatternMatcher.tokenizePattern("billing_*,user?");
- assertEquals(2, filters.length);
- assertEquals("^billing_.*$", filters[0]);
- assertEquals("^user.?$", filters[1]);
- }
-
- /**
- * Test tokenizing
- */
- @Test
- public void testTokenizerEntities() {
-
- String includePattern = "Organization,SecGroup,SecIndividual";
-
- String[] filters = NamePatternMatcher.tokenizePattern(includePattern);
- assertEquals(3, filters.length);
- assertEquals("^Organization$", filters[0]);
- assertEquals("^SecGroup$", filters[1]);
- assertEquals("^SecIndividual$", filters[2]);
- }
-}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ab79480/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java
index 5a3bbfb..58ef41b 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java
@@ -26,7 +26,7 @@ import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.dbimport.ReverseEngineering;
import org.apache.cayenne.dbsync.CayenneDbSyncModule;
import org.apache.cayenne.dbsync.naming.NameBuilder;
-import org.apache.cayenne.dbsync.reverse.FiltersConfigBuilder;
+import org.apache.cayenne.dbsync.reverse.filters.FiltersConfigBuilder;
import org.apache.cayenne.dbsync.reverse.db.DbLoader;
import org.apache.cayenne.dbsync.reverse.db.DefaultDbLoaderDelegate;
import org.apache.cayenne.di.DIBootstrap;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ab79480/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ReverseEngineeringController.java
----------------------------------------------------------------------
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ReverseEngineeringController.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ReverseEngineeringController.java
index cbce494..38ac5f0 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ReverseEngineeringController.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/ReverseEngineeringController.java
@@ -22,7 +22,7 @@ import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.dbimport.ReverseEngineering;
import org.apache.cayenne.dbsync.reverse.db.DbLoader;
import org.apache.cayenne.dbsync.reverse.db.DbLoaderConfiguration;
-import org.apache.cayenne.dbsync.reverse.FiltersConfigBuilder;
+import org.apache.cayenne.dbsync.reverse.filters.FiltersConfigBuilder;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.modeler.ClassLoadingService;
import org.apache.cayenne.modeler.ProjectController;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ab79480/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 ec990cc..4ef5013 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
@@ -19,7 +19,7 @@
package org.apache.cayenne.tools;
-import org.apache.cayenne.dbsync.reverse.NamePatternMatcher;
+import org.apache.cayenne.dbsync.filter.NamePatternMatcher;
import org.apache.cayenne.gen.ClassGenerationAction;
import org.apache.cayenne.gen.ClientClassGenerationAction;
import org.apache.cayenne.map.DataMap;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/0ab79480/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 4714b97..d2123ce 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
@@ -27,7 +27,7 @@ import org.apache.cayenne.dba.DbAdapter;
import org.apache.cayenne.dbimport.DefaultReverseEngineeringLoader;
import org.apache.cayenne.dbimport.ReverseEngineering;
import org.apache.cayenne.dbsync.CayenneDbSyncModule;
-import org.apache.cayenne.dbsync.reverse.FiltersConfigBuilder;
+import org.apache.cayenne.dbsync.reverse.filters.FiltersConfigBuilder;
import org.apache.cayenne.di.DIBootstrap;
import org.apache.cayenne.di.Injector;
import org.apache.cayenne.map.DataMap;