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:54 UTC
[9/9] cayenne git commit: Merge branch '47'
Merge branch '47'
Conflicts:
cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/60ed6905
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/60ed6905
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/60ed6905
Branch: refs/heads/master
Commit: 60ed6905382a44a38b52aad89bb0d259c2533df9
Parents: 2a6ef00 4ad9e8c
Author: aadamchik <aa...@apache.org>
Authored: Thu Dec 11 13:43:54 2014 +0300
Committer: aadamchik <aa...@apache.org>
Committed: Thu Dec 11 13:43:54 2014 +0300
----------------------------------------------------------------------
.../org/apache/cayenne/access/DbLoader.java | 32 +++++----
.../apache/cayenne/access/DbLoaderDelegate.java | 19 ++++++
.../access/loader/BooleanNameFilter.java | 2 +-
.../access/loader/DbLoaderConfiguration.java | 21 +++++-
.../access/loader/DefaultDbLoaderDelegate.java | 11 +++
.../access/loader/LoggingDbLoaderDelegate.java | 72 ++++++++++++++++++++
.../cayenne/access/loader/NameFilter.java | 2 +-
.../access/loader/filters/EntityFilters.java | 9 ++-
.../access/loader/filters/FilterFactory.java | 2 +-
.../mapper/DefaultJdbc2JavaTypeMapper.java | 2 +-
.../loader/mapper/Jdbc2JavaTypeMapper.java | 2 +-
.../java/org/apache/cayenne/map/DataMap.java | 6 +-
.../java/org/apache/cayenne/merge/DbMerger.java | 1 -
.../access/loader/filters/FiltersFactory.java | 2 +-
.../apache/cayenne/tools/DbImporterTask.java | 4 ++
.../org/apache/cayenne/tools/ExcludeTable.java | 2 +-
.../cayenne/tools/dbimport/DbImportAction.java | 5 ++
.../tools/dbimport/DbImportConfiguration.java | 11 ++-
.../dbimport/DbImportDbLoaderDelegate.java | 3 +-
.../tools/dbimport/config/AntNestedElement.java | 2 +-
.../cayenne/tools/dbimport/config/Catalog.java | 13 +++-
.../config/DefaultReverseEngineeringLoader.java | 7 +-
.../config/DefaultTypeMapperBuilder.java | 2 +-
.../tools/dbimport/config/ExcludeColumn.java | 2 +-
.../tools/dbimport/config/ExcludeProcedure.java | 2 +-
.../tools/dbimport/config/FilterContainer.java | 31 ++++++++-
.../dbimport/config/FiltersConfigBuilder.java | 6 +-
.../tools/dbimport/config/IncludeColumn.java | 2 +-
.../tools/dbimport/config/IncludeProcedure.java | 2 +-
.../tools/dbimport/config/IncludeTable.java | 2 +-
.../tools/dbimport/config/PatternParam.java | 2 +-
.../dbimport/config/ReverseEngineering.java | 29 +++++++-
.../config/ReverseEngineeringLoader.java | 2 +-
.../cayenne/tools/dbimport/config/Schema.java | 14 +++-
.../cayenne/tools/dbimport/config/Type.java | 2 +-
.../tools/dbimport/config/TypeMapper.java | 2 +-
.../cayenne/tools/DbImporterTaskTest.java | 10 +--
.../DefaultReverseEngineeringLoaderTest.java | 13 ++++
.../tools/build-skip-relationships-loading.xml | 37 ++++++++++
...erseEngineering-skipRelationshipsLoading.xml | 23 +++++++
.../modeler/dialog/db/DbLoaderHelper.java | 3 +-
.../apache/cayenne/tools/DbImporterMojo.java | 2 +
.../tools/DbImporterMojoConfigurationTest.java | 28 ++++++--
.../cayenne/tools/DbImporterMojoTest.java | 49 +++++++++++--
.../cayenne/tools/config/pom-schema-2.xml | 41 +++++++++++
.../config/pom-skip-relationships-loading.xml | 39 +++++++++++
.../dbimport/testPreserveRelationships-pom.xml | 44 ++++++++++++
.../dbimport/testPreserveRelationships.map.xml | 44 ++++++++++++
.../testPreserveRelationships.map.xml-result | 34 +++++++++
.../dbimport/testPreserveRelationships.sql | 28 ++++++++
.../testSkipRelationshipsLoading-pom.xml | 43 ++++++++++++
.../testSkipRelationshipsLoading.map.xml-result | 36 ++++++++++
.../dbimport/testSkipRelationshipsLoading.sql | 30 ++++++++
.../dbimport/testUnFlattensManyToMany-pom.xml | 40 +++++++++++
.../dbimport/testUnFlattensManyToMany.map.xml | 55 +++++++++++++++
.../testUnFlattensManyToMany.map.xml-result | 60 ++++++++++++++++
.../tools/dbimport/testUnFlattensManyToMany.sql | 42 ++++++++++++
57 files changed, 970 insertions(+), 61 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/60ed6905/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java
----------------------------------------------------------------------
diff --cc cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java
index 3b098c8,4fc17c3..0e38ce9
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoader.java
@@@ -18,9 -18,23 +18,10 @@@
****************************************************************/
package org.apache.cayenne.access;
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
-
import org.apache.cayenne.access.loader.DbLoaderConfiguration;
+ import org.apache.cayenne.access.loader.DefaultDbLoaderDelegate;
import org.apache.cayenne.access.loader.ManyToManyCandidateEntity;
+import org.apache.cayenne.access.loader.filters.DbPath;
import org.apache.cayenne.access.loader.filters.EntityFilters;
import org.apache.cayenne.access.loader.filters.Filter;
import org.apache.cayenne.access.loader.filters.FiltersConfig;
@@@ -208,11 -207,14 +209,11 @@@ public class DbLoader
/**
* Returns all tables for given combination of the criteria. Tables returned
* as DbEntities without any attributes or relationships.
- *
*
* @param config
- *
- * @param types
- * The types of table names to retrieve, null returns all types.
+ * @param types The types of table names to retrieve, null returns all types.
* @return
- * @since 3.2
+ * @since 4.0
*/
public Map<DbPath, Map<String, DbEntity>> getTables(DbLoaderConfiguration config, String[] types)
throws SQLException {
@@@ -294,26 -300,11 +295,23 @@@
// if so, consult the delegate what to do
DbEntity oldEnt = map.getDbEntity(dbEntity.getName());
if (oldEnt != null) {
+ Collection<ObjEntity> oldObjEnt = map.getMappedEntities(oldEnt);
+ if (!oldObjEnt.isEmpty()) {
+ for (ObjEntity objEntity : oldObjEnt) {
+ LOGGER.debug("Delete ObjEntity: " + objEntity.getName());
+ map.removeObjEntity(objEntity.getName(), true);
+ delegate.objEntityRemoved(objEntity);
+ }
+ }
+
+ LOGGER.debug("Overwrite DbEntity: " + oldEnt.getName());
map.removeDbEntity(oldEnt.getName(), true);
+ delegate.dbEntityRemoved(oldEnt);
}
+
map.addDbEntity(dbEntity);
- // notify delegate
- if (delegate != null) {
- delegate.dbEntityAdded(dbEntity);
- }
+ delegate.dbEntityAdded(dbEntity);
// delegate might have thrown this entity out... so check if it is still
// around before continuing processing
@@@ -751,11 -744,13 +757,13 @@@
List<DbEntity> entities = loadDbEntities(dataMap, config, tables);
if (entities != null) {
- loadDbRelationships(config, tables);
- Collection<ObjEntity> loadedObjEntities = loadObjEntities(dataMap, config, entities);
+ if (!config.isSkipRelationshipsLoading()) {
+ loadDbRelationships(config, tables);
+ }
- loadObjEntities(dataMap, config, entities);
- flattenManyToManyRelationships(dataMap);
- fireObjEntitiesAddedEvents(dataMap);
++ Collection<ObjEntity> loadedObjEntities = loadObjEntities(dataMap, config, entities);
+ flattenManyToManyRelationships(dataMap, loadedObjEntities);
+ fireObjEntitiesAddedEvents(loadedObjEntities);
}
}
http://git-wip-us.apache.org/repos/asf/cayenne/blob/60ed6905/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoaderDelegate.java
----------------------------------------------------------------------
diff --cc cayenne-server/src/main/java/org/apache/cayenne/access/DbLoaderDelegate.java
index 1919c46,f5833d7..ec31e10
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoaderDelegate.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/DbLoaderDelegate.java
@@@ -19,7 -19,9 +19,8 @@@
package org.apache.cayenne.access;
-import org.apache.cayenne.CayenneException;
import org.apache.cayenne.map.DbEntity;
+ import org.apache.cayenne.map.DbRelationship;
import org.apache.cayenne.map.ObjEntity;
/**
http://git-wip-us.apache.org/repos/asf/cayenne/blob/60ed6905/cayenne-server/src/main/java/org/apache/cayenne/access/loader/DefaultDbLoaderDelegate.java
----------------------------------------------------------------------
diff --cc cayenne-server/src/main/java/org/apache/cayenne/access/loader/DefaultDbLoaderDelegate.java
index 1e8a593,e512e90..70a0230
--- a/cayenne-server/src/main/java/org/apache/cayenne/access/loader/DefaultDbLoaderDelegate.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/access/loader/DefaultDbLoaderDelegate.java
@@@ -18,8 -18,10 +18,9 @@@
****************************************************************/
package org.apache.cayenne.access.loader;
-import org.apache.cayenne.CayenneException;
import org.apache.cayenne.access.DbLoaderDelegate;
import org.apache.cayenne.map.DbEntity;
+ import org.apache.cayenne.map.DbRelationship;
import org.apache.cayenne.map.ObjEntity;
/**
http://git-wip-us.apache.org/repos/asf/cayenne/blob/60ed6905/cayenne-server/src/main/java/org/apache/cayenne/access/loader/filters/EntityFilters.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/60ed6905/cayenne-server/src/main/java/org/apache/cayenne/map/DataMap.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/60ed6905/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DbImportDbLoaderDelegate.java
----------------------------------------------------------------------
diff --cc cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DbImportDbLoaderDelegate.java
index 3ff918e,99f9bc8..a97fd03
--- a/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DbImportDbLoaderDelegate.java
+++ b/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DbImportDbLoaderDelegate.java
@@@ -19,7 -19,13 +19,8 @@@
package org.apache.cayenne.tools.dbimport;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.cayenne.CayenneException;
import org.apache.cayenne.access.DbLoaderDelegate;
+ import org.apache.cayenne.access.loader.DefaultDbLoaderDelegate;
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.ObjEntity;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/60ed6905/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java
----------------------------------------------------------------------
diff --cc modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/DbLoaderHelper.java
index 201db31,d9e01d1..5d9d1b3
--- 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
@@@ -197,9 -213,26 +198,9 @@@ public class DbLoaderHelper
}
}
- final class LoaderDelegate implements DbLoaderDelegate {
+ private final class LoaderDelegate extends DefaultDbLoaderDelegate {
- public boolean overwriteDbEntity(DbEntity ent) throws CayenneException {
- checkCanceled();
-
- if (!overwritePreferenceSet) {
- DbLoaderMergeDialog dialog = DbLoaderHelper.getMergeDialogInstance();
- dialog.initFromModel(DbLoaderHelper.this, ent.getName());
- dialog.centerWindow();
- dialog.setVisible(true);
- dialog.setVisible(false);
- }
-
- if (stoppingReverseEngineering) {
- throw new CayenneException("Should stop DB import.");
- }
-
- return overwritingEntities;
- }
-
+ @Override
public void dbEntityAdded(DbEntity entity) {
checkCanceled();