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/12/14 19:12:50 UTC
[14/16] cayenne git commit: Merge branch '155'
Merge branch '155'
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/ebc71c82
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/ebc71c82
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/ebc71c82
Branch: refs/heads/master
Commit: ebc71c82311a53311a9401d03c46d2f4a5e97687
Parents: e187caa 487a410
Author: Andrus Adamchik <an...@objectstyle.com>
Authored: Wed Dec 14 22:01:25 2016 +0300
Committer: Andrus Adamchik <an...@objectstyle.com>
Committed: Wed Dec 14 22:01:25 2016 +0300
----------------------------------------------------------------------
.../cayenne/dbsync/merge/AbstractMerger.java | 91 ++++
.../cayenne/dbsync/merge/AbstractToDbToken.java | 130 -----
.../dbsync/merge/AbstractToModelToken.java | 125 -----
.../cayenne/dbsync/merge/AddColumnToDb.java | 74 ---
.../cayenne/dbsync/merge/AddColumnToModel.java | 52 --
.../dbsync/merge/AddRelationshipToDb.java | 87 ----
.../dbsync/merge/AddRelationshipToModel.java | 89 ----
.../cayenne/dbsync/merge/ChainMerger.java | 71 +++
.../cayenne/dbsync/merge/CreateTableToDb.java | 86 ----
.../dbsync/merge/CreateTableToModel.java | 98 ----
.../cayenne/dbsync/merge/DataMapMerger.java | 155 ++++++
.../dbsync/merge/DbAttributeDictionary.java | 44 ++
.../cayenne/dbsync/merge/DbAttributeMerger.java | 168 ++++++
.../dbsync/merge/DbEntityDictionary.java | 66 +++
.../cayenne/dbsync/merge/DbEntityMerger.java | 127 +++++
.../apache/cayenne/dbsync/merge/DbMerger.java | 396 --------------
.../dbsync/merge/DbRelationshipDictionary.java | 83 +++
.../dbsync/merge/DbRelationshipMerger.java | 133 +++++
.../dbsync/merge/DefaultModelMergeDelegate.java | 89 ----
.../merge/DefaultValueForNullProvider.java | 62 ---
.../cayenne/dbsync/merge/DropColumnToDb.java | 61 ---
.../cayenne/dbsync/merge/DropColumnToModel.java | 77 ---
.../dbsync/merge/DropRelationshipToDb.java | 83 ---
.../dbsync/merge/DropRelationshipToModel.java | 49 --
.../cayenne/dbsync/merge/DropTableToDb.java | 51 --
.../cayenne/dbsync/merge/DropTableToModel.java | 51 --
.../cayenne/dbsync/merge/DummyReverseToken.java | 65 ---
.../dbsync/merge/EmptyValueForNullProvider.java | 40 --
.../dbsync/merge/EntityMergeSupport.java | 515 ------------------
.../cayenne/dbsync/merge/MergeDirection.java | 70 ---
.../org/apache/cayenne/dbsync/merge/Merger.java | 30 ++
.../cayenne/dbsync/merge/MergerContext.java | 170 ------
.../cayenne/dbsync/merge/MergerDictionary.java | 54 ++
.../dbsync/merge/MergerDictionaryDiff.java | 117 +++++
.../cayenne/dbsync/merge/MergerDiffPair.java | 39 ++
.../cayenne/dbsync/merge/MergerToken.java | 57 --
.../dbsync/merge/ModelMergeDelegate.java | 62 ---
.../dbsync/merge/ProxyModelMergeDelegate.java | 108 ----
.../cayenne/dbsync/merge/SetAllowNullToDb.java | 58 ---
.../dbsync/merge/SetAllowNullToModel.java | 45 --
.../cayenne/dbsync/merge/SetColumnTypeToDb.java | 111 ----
.../dbsync/merge/SetColumnTypeToModel.java | 95 ----
.../cayenne/dbsync/merge/SetNotNullToDb.java | 52 --
.../cayenne/dbsync/merge/SetNotNullToModel.java | 45 --
.../cayenne/dbsync/merge/SetPrimaryKeyToDb.java | 87 ----
.../dbsync/merge/SetPrimaryKeyToModel.java | 80 ---
.../dbsync/merge/SetValueForNullToDb.java | 48 --
.../cayenne/dbsync/merge/TokenComparator.java | 46 --
.../dbsync/merge/ValueForNullProvider.java | 41 --
.../merge/context/EntityMergeSupport.java | 516 +++++++++++++++++++
.../dbsync/merge/context/MergeDirection.java | 71 +++
.../dbsync/merge/context/MergerContext.java | 174 +++++++
.../merge/factory/DB2MergerTokenFactory.java | 4 +-
.../factory/DefaultMergerTokenFactory.java | 46 +-
.../merge/factory/DerbyMergerTokenFactory.java | 8 +-
.../factory/FirebirdMergerTokenFactory.java | 10 +-
.../merge/factory/H2MergerTokenFactory.java | 8 +-
.../merge/factory/HSQLMergerTokenFactory.java | 10 +-
.../merge/factory/IngresMergerTokenFactory.java | 14 +-
.../merge/factory/MergerTokenFactory.java | 4 +-
.../merge/factory/MySQLMergerTokenFactory.java | 12 +-
.../factory/OpenBaseMergerTokenFactory.java | 12 +-
.../merge/factory/OracleMergerTokenFactory.java | 10 +-
.../factory/PostgresMergerTokenFactory.java | 4 +-
.../factory/SQLServerMergerTokenFactory.java | 10 +-
.../merge/factory/SybaseMergerTokenFactory.java | 12 +-
.../token/DefaultValueForNullProvider.java | 63 +++
.../dbsync/merge/token/DummyReverseToken.java | 68 +++
.../merge/token/EmptyValueForNullProvider.java | 41 ++
.../cayenne/dbsync/merge/token/MergerToken.java | 58 +++
.../dbsync/merge/token/TokenComparator.java | 58 +++
.../merge/token/ValueForNullProvider.java | 42 ++
.../merge/token/db/AbstractToDbToken.java | 134 +++++
.../dbsync/merge/token/db/AddColumnToDb.java | 76 +++
.../merge/token/db/AddRelationshipToDb.java | 84 +++
.../dbsync/merge/token/db/CreateTableToDb.java | 89 ++++
.../dbsync/merge/token/db/DropColumnToDb.java | 63 +++
.../merge/token/db/DropRelationshipToDb.java | 85 +++
.../dbsync/merge/token/db/DropTableToDb.java | 53 ++
.../dbsync/merge/token/db/SetAllowNullToDb.java | 60 +++
.../merge/token/db/SetColumnTypeToDb.java | 113 ++++
.../dbsync/merge/token/db/SetNotNullToDb.java | 54 ++
.../merge/token/db/SetPrimaryKeyToDb.java | 89 ++++
.../merge/token/db/SetValueForNullToDb.java | 52 ++
.../merge/token/model/AbstractToModelToken.java | 129 +++++
.../merge/token/model/AddColumnToModel.java | 56 ++
.../token/model/AddRelationshipToModel.java | 92 ++++
.../merge/token/model/CreateTableToModel.java | 101 ++++
.../merge/token/model/DropColumnToModel.java | 80 +++
.../token/model/DropRelationshipToModel.java | 52 ++
.../merge/token/model/DropTableToModel.java | 54 ++
.../merge/token/model/SetAllowNullToModel.java | 48 ++
.../merge/token/model/SetColumnTypeToModel.java | 98 ++++
.../merge/token/model/SetNotNullToModel.java | 48 ++
.../merge/token/model/SetPrimaryKeyToModel.java | 83 +++
.../dbload/DefaultModelMergeDelegate.java | 90 ++++
.../reverse/dbload/ModelMergeDelegate.java | 65 +++
.../reverse/dbload/ProxyModelMergeDelegate.java | 109 ++++
.../dbsync/merge/AddColumnToModelIT.java | 98 ----
.../dbsync/merge/CreateTableToModelIT.java | 97 ----
.../cayenne/dbsync/merge/DataMapMergerTest.java | 400 ++++++++++++++
.../cayenne/dbsync/merge/DbMergerTest.java | 334 ------------
.../dbsync/merge/DropColumnToModelIT.java | 235 ---------
.../dbsync/merge/DropRelationshipToModelIT.java | 190 -------
.../dbsync/merge/DropTableToModelIT.java | 94 ----
.../dbsync/merge/EntityMergeSupportIT.java | 1 +
.../apache/cayenne/dbsync/merge/MergeCase.java | 7 +-
.../dbsync/merge/SetAllowNullToDbIT.java | 66 ---
.../cayenne/dbsync/merge/SetNotNullToDbIT.java | 62 ---
.../dbsync/merge/SetPrimaryKeyToDbIT.java | 58 ---
.../dbsync/merge/TokenComparatorTest.java | 101 ----
.../cayenne/dbsync/merge/TokensReverseTest.java | 90 ----
.../merge/TokensToModelExecutionTest.java | 80 ---
.../cayenne/dbsync/merge/ValueForNullIT.java | 126 -----
.../dbsync/merge/token/TokenComparatorTest.java | 113 ++++
.../dbsync/merge/token/TokensReverseTest.java | 90 ++++
.../merge/token/TokensToModelExecutionTest.java | 82 +++
.../dbsync/merge/token/ValueForNullIT.java | 129 +++++
.../merge/token/db/SetAllowNullToDbIT.java | 68 +++
.../dbsync/merge/token/db/SetNotNullToDbIT.java | 64 +++
.../merge/token/db/SetPrimaryKeyToDbIT.java | 60 +++
.../merge/token/model/AddColumnToModelIT.java | 101 ++++
.../merge/token/model/CreateTableToModelIT.java | 100 ++++
.../merge/token/model/DropColumnToModelIT.java | 238 +++++++++
.../token/model/DropRelationshipToModelIT.java | 192 +++++++
.../merge/token/model/DropTableToModelIT.java | 97 ++++
.../java/org/apache/cayenne/map/DbEntity.java | 4 +-
.../tools/dbimport/DbImportConfiguration.java | 4 +-
.../tools/dbimport/DefaultDbImportAction.java | 16 +-
.../dbimport/DefaultDbImportActionTest.java | 12 +-
.../modeler/action/CreateObjEntityAction.java | 2 +-
.../modeler/action/DbEntitySyncAction.java | 2 +-
.../modeler/action/ObjEntitySyncAction.java | 2 +-
.../modeler/dialog/db/MergerOptions.java | 18 +-
.../db/MergerTokenSelectorController.java | 6 +-
.../dialog/db/MergerTokenTableModel.java | 4 +-
.../dialog/objentity/EntitySyncController.java | 2 +-
137 files changed, 6184 insertions(+), 5206 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/ebc71c82/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/DropRelationshipToDb.java
----------------------------------------------------------------------
diff --cc cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/DropRelationshipToDb.java
index 0000000,f58ae59..2e2e540
mode 000000,100644..100644
--- a/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/DropRelationshipToDb.java
+++ b/cayenne-dbsync/src/main/java/org/apache/cayenne/dbsync/merge/token/db/DropRelationshipToDb.java
@@@ -1,0 -1,85 +1,85 @@@
+ /*****************************************************************
+ * 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.merge.token.db;
+
+ import org.apache.cayenne.dba.DbAdapter;
+ import org.apache.cayenne.dba.QuotingStrategy;
+ import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
+ import org.apache.cayenne.dbsync.merge.token.MergerToken;
+ import org.apache.cayenne.map.DbEntity;
+ import org.apache.cayenne.map.DbRelationship;
-import org.apache.cayenne.dbsync.reverse.db.DbRelationshipDetected;
++import org.apache.cayenne.dbsync.reverse.dbload.DbRelationshipDetected;
+
+ import java.util.Collections;
+ import java.util.List;
+
+ public class DropRelationshipToDb extends AbstractToDbToken.Entity {
+
+ private DbRelationship relationship;
+
+ public DropRelationshipToDb(DbEntity entity, DbRelationship relationship) {
+ super("Drop foreign key", entity);
+ this.relationship = relationship;
+ }
+
+ public String getFkName() {
+ if (relationship instanceof DbRelationshipDetected) {
+ return ((DbRelationshipDetected) relationship).getFkName();
+ }
+ return null;
+ }
+
+ @Override
+ public List<String> createSql(DbAdapter adapter) {
+ if (isEmpty()) {
+ return Collections.emptyList();
+ }
+
+ QuotingStrategy context = adapter.getQuotingStrategy();
+ return Collections.singletonList(
+ "ALTER TABLE " + context.quotedFullyQualifiedName(getEntity()) + " DROP CONSTRAINT " + getFkName());
+ }
+
+ public MergerToken createReverse(MergerTokenFactory factory) {
+ return factory.createAddRelationshipToModel(getEntity(), relationship);
+ }
+
+ @Override
+ public boolean isEmpty() {
+ return getFkName() == null || relationship.isToMany();
+ }
+
+ @Override
+ public String getTokenValue() {
+ if(relationship.isToMany()) {
+ return "Skip. No sql representation.";
+ }
+ return relationship.getSourceEntity().getName() + "->" + relationship.getTargetEntityName();
+ }
+
+ @Override
+ public int compareTo(MergerToken o) {
+ // add all AddRelationshipToDb to the end.
+ if (o instanceof DropRelationshipToDb) {
+ return super.compareTo(o);
+ }
+ return -1;
+ }
+ }
http://git-wip-us.apache.org/repos/asf/cayenne/blob/ebc71c82/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergeCase.java
----------------------------------------------------------------------
diff --cc cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergeCase.java
index 65afa21,a722856..5c6053e
--- a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergeCase.java
+++ b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergeCase.java
@@@ -22,13 -22,16 +22,16 @@@ import org.apache.cayenne.CayenneRuntim
import org.apache.cayenne.access.DataNode;
import org.apache.cayenne.configuration.server.ServerRuntime;
import org.apache.cayenne.dba.DbAdapter;
+ import org.apache.cayenne.dbsync.merge.context.MergerContext;
import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactory;
import org.apache.cayenne.dbsync.merge.factory.MergerTokenFactoryProvider;
+ import org.apache.cayenne.dbsync.merge.token.db.AbstractToDbToken;
+ import org.apache.cayenne.dbsync.merge.token.MergerToken;
import org.apache.cayenne.dbsync.naming.DefaultObjectNameGenerator;
import org.apache.cayenne.dbsync.naming.NoStemStemmer;
-import org.apache.cayenne.dbsync.reverse.db.DbLoader;
-import org.apache.cayenne.dbsync.reverse.db.DbLoaderConfiguration;
-import org.apache.cayenne.dbsync.reverse.db.LoggingDbLoaderDelegate;
+import org.apache.cayenne.dbsync.reverse.dbload.DbLoader;
+import org.apache.cayenne.dbsync.reverse.dbload.DbLoaderConfiguration;
+import org.apache.cayenne.dbsync.reverse.dbload.LoggingDbLoaderDelegate;
import org.apache.cayenne.dbsync.reverse.filters.FiltersConfig;
import org.apache.cayenne.dbsync.reverse.filters.PatternFilter;
import org.apache.cayenne.dbsync.reverse.filters.TableFilter;
http://git-wip-us.apache.org/repos/asf/cayenne/blob/ebc71c82/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DbImportConfiguration.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/ebc71c82/cayenne-tools/src/main/java/org/apache/cayenne/tools/dbimport/DefaultDbImportAction.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne/blob/ebc71c82/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DefaultDbImportActionTest.java
----------------------------------------------------------------------
diff --cc cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DefaultDbImportActionTest.java
index 855d3ee,be12e06..f17db1c
--- a/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DefaultDbImportActionTest.java
+++ b/cayenne-tools/src/test/java/org/apache/cayenne/tools/dbimport/DefaultDbImportActionTest.java
@@@ -37,9 -36,10 +36,10 @@@ import org.apache.cayenne.dbsync.merge.
import org.apache.cayenne.dbsync.naming.DefaultObjectNameGenerator;
import org.apache.cayenne.dbsync.naming.NoStemStemmer;
import org.apache.cayenne.dbsync.naming.ObjectNameGenerator;
-import org.apache.cayenne.dbsync.reverse.db.DbLoader;
-import org.apache.cayenne.dbsync.reverse.db.DbLoaderConfiguration;
-import org.apache.cayenne.dbsync.reverse.db.DbLoaderDelegate;
+import org.apache.cayenne.dbsync.reverse.dbload.DbLoader;
+import org.apache.cayenne.dbsync.reverse.dbload.DbLoaderConfiguration;
+import org.apache.cayenne.dbsync.reverse.dbload.DbLoaderDelegate;
+ import org.apache.cayenne.dbsync.reverse.dbload.DefaultModelMergeDelegate;
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/ebc71c82/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/db/MergerOptions.java
----------------------------------------------------------------------