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;